@sankhyalabs/sankhyablocks 8.15.0-dev.7 → 8.15.0-dev.70

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 (382) hide show
  1. package/dist/cjs/{ConfigStorage-8009ecb2.js → ConfigStorage-9a53a42c.js} +94 -21
  2. package/dist/cjs/{DataFetcher-ba94ed5b.js → DataFetcher-515bda03.js} +7 -4
  3. package/dist/cjs/IExporterProvider-90690372.js +230 -0
  4. package/dist/cjs/{ISave-d68ce3cd.js → ISave-e91b70a7.js} +1 -0
  5. package/dist/cjs/RecordIDUtils-3735135c.js +43 -0
  6. package/dist/cjs/{SnkFormConfigManager-7d850fbc.js → SnkFormConfigManager-7b222c78.js} +23 -15
  7. package/dist/cjs/{SnkMessageBuilder-7293d0ad.js → SnkMessageBuilder-4a95fe86.js} +25 -13
  8. package/dist/cjs/{auth-fetcher-c8467c07.js → auth-fetcher-5acb0335.js} +1 -1
  9. package/dist/cjs/{dataunit-fetcher-14108bec.js → dataunit-fetcher-7a08e4dd.js} +409 -77
  10. package/dist/cjs/{form-config-fetcher-df043d3d.js → form-config-fetcher-3f430aee.js} +13 -1
  11. package/dist/cjs/index-f9e81701.js +2 -10
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/cjs/{pesquisa-fetcher-ef050a47.js → pesquisa-fetcher-916a935c.js} +12 -13
  14. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  15. package/dist/cjs/{snk-actions-button_2.cjs.entry.js → snk-actions-button_4.cjs.entry.js} +526 -8
  16. package/dist/cjs/snk-application.cjs.entry.js +68 -24
  17. package/dist/cjs/snk-attach.cjs.entry.js +430 -71
  18. package/dist/cjs/snk-crud.cjs.entry.js +124 -28
  19. package/dist/cjs/snk-data-exporter.cjs.entry.js +207 -83
  20. package/dist/cjs/snk-data-unit-3718477f.js +670 -0
  21. package/dist/cjs/snk-data-unit.cjs.entry.js +11 -2
  22. package/dist/cjs/snk-detail-view.cjs.entry.js +52 -13
  23. package/dist/cjs/snk-entity-list.cjs.entry.js +5 -3
  24. package/dist/cjs/snk-filter-bar.cjs.entry.js +70 -10
  25. package/dist/cjs/snk-filter-detail.cjs.entry.js +4 -1
  26. package/dist/cjs/snk-filter-item.cjs.entry.js +13 -6
  27. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  28. package/dist/cjs/snk-filter-modal.cjs.entry.js +2 -1
  29. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +2 -1
  30. package/dist/cjs/snk-form-config.cjs.entry.js +47 -27
  31. package/dist/cjs/snk-form-view.cjs.entry.js +67 -0
  32. package/dist/cjs/snk-form.cjs.entry.js +60 -8
  33. package/dist/cjs/snk-grid.cjs.entry.js +199 -122
  34. package/dist/cjs/{snk-guides-viewer-e7f76399.js → snk-guides-viewer-7fb9e5a1.js} +56 -20
  35. package/dist/cjs/snk-guides-viewer.cjs.entry.js +10 -10
  36. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +3 -1
  37. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  38. package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
  39. package/dist/cjs/snk-simple-crud.cjs.entry.js +507 -39
  40. package/dist/cjs/snk-taskbar.cjs.entry.js +124 -15
  41. package/dist/cjs/{taskbar-elements-01b85b99.js → taskbar-elements-d9392685.js} +11 -11
  42. package/dist/collection/collection-manifest.json +8 -8
  43. package/dist/collection/components/snk-application/__mocks__/snk-application.js +7 -0
  44. package/dist/collection/components/snk-application/snk-application.js +122 -19
  45. package/dist/collection/components/snk-attach/snk-attach.js +220 -53
  46. package/dist/collection/components/snk-attach/structure/{crud-config-builder.js → builder/anexo-sistema-crud-config.builder.js} +1 -1
  47. package/dist/collection/components/snk-attach/structure/builder/attach-crud-config.builder.js +62 -0
  48. package/dist/collection/components/snk-attach/structure/{taskbar-builder.js → builder/taskbar-builder.js} +1 -1
  49. package/dist/collection/components/snk-attach/structure/fetcher/facade/fetcher.facade.js +1 -0
  50. package/dist/collection/components/snk-attach/structure/{data-unit-builder.js → fetcher/factory/anexo-sistema-data-unit.factory.js} +14 -11
  51. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +118 -0
  52. package/dist/collection/components/snk-attach/structure/index.js +6 -3
  53. package/dist/collection/components/snk-crud/interfaces/PropsCustomEditor.js +1 -0
  54. package/dist/collection/components/snk-crud/interfaces/PropsCustomRender.js +1 -0
  55. package/dist/collection/components/snk-crud/snk-crud.js +340 -19
  56. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +137 -2
  57. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +161 -0
  58. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +11 -2
  59. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +163 -13
  60. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +90 -0
  61. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +68 -0
  62. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +54 -1
  63. package/dist/collection/components/snk-data-exporter/interfaces/IExporterStrategy.js +1 -0
  64. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +58 -0
  65. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +55 -0
  66. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +44 -50
  67. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +88 -0
  68. package/dist/collection/components/snk-data-exporter/utils/RecordIDUtils.js +38 -0
  69. package/dist/collection/components/snk-data-unit/snk-data-unit.js +500 -216
  70. package/dist/collection/components/snk-data-unit/test/resources/metadataMock.js +24 -0
  71. package/dist/collection/components/snk-entity-list/snk-entity-list.js +5 -3
  72. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.js +2 -1
  73. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -1
  74. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +22 -1
  75. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +31 -6
  76. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +19 -1
  77. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +24 -1
  78. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +180 -5
  79. package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
  80. package/dist/collection/components/snk-form/snk-form.js +126 -5
  81. package/dist/collection/components/{snk-form → snk-form-config}/SnkFormConfigManager.js +22 -14
  82. package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.js +50 -30
  83. package/dist/collection/components/snk-grid/snk-grid.js +341 -115
  84. package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.js +130 -123
  85. package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.js +1 -1
  86. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +2 -4
  87. package/dist/collection/components/snk-simple-crud/regular-buttons.js +3 -0
  88. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +10 -2
  89. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +824 -22
  90. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +4 -2
  91. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +11 -11
  92. package/dist/collection/components/snk-taskbar/snk-taskbar.css +17 -0
  93. package/dist/collection/components/snk-taskbar/snk-taskbar.js +167 -14
  94. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +35 -0
  95. package/dist/collection/lib/configs/ConfigStorage.js +86 -16
  96. package/dist/collection/lib/dataUnit/InMemoryLoader.js +15 -42
  97. package/dist/collection/lib/dataUnit/ValueFormatter.js +4 -0
  98. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +33 -0
  99. package/dist/collection/lib/dataUnit/interfaces/InMemoryLoaderConfig.js +1 -0
  100. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +7 -4
  101. package/dist/collection/lib/http/data-fetcher/fetchers/{attach-fetcher.js → AttachFetcher/anexo-sistema-fetcher.js} +16 -15
  102. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.js +90 -0
  103. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.js +1 -0
  104. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/index.js +2 -0
  105. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDelete.js +1 -0
  106. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDownloadKey.js +1 -0
  107. package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.js +1 -0
  108. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +3 -0
  109. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +4 -0
  110. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +11 -13
  111. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +30 -2
  112. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IBuildRequestBodyLoadRowMetadata.js +1 -0
  113. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRowMetadata.js +1 -0
  114. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +87 -24
  115. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/test/resources/metadataMock.js +22 -0
  116. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +12 -0
  117. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +21 -0
  118. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +6 -3
  119. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +12 -13
  120. package/dist/collection/lib/index.js +1 -1
  121. package/dist/collection/lib/message/SnkMessageBuilder.js +25 -32
  122. package/dist/collection/lib/message/resources/snk-attach.msg.js +13 -0
  123. package/dist/collection/lib/message/resources/snk-data-exporter.msg.js +2 -1
  124. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +1 -0
  125. package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +4 -0
  126. package/dist/collection/lib/utils/CrudUtils.js +13 -1
  127. package/dist/components/ConfigStorage.js +92 -19
  128. package/dist/components/DataFetcher.js +7 -4
  129. package/dist/components/IExporterProvider.js +298 -0
  130. package/dist/components/ISave.js +42 -0
  131. package/dist/components/SnkFormConfigManager.js +21 -13
  132. package/dist/components/SnkMessageBuilder.js +25 -13
  133. package/dist/components/dataunit-fetcher.js +185 -241
  134. package/dist/components/form-config-fetcher.js +12 -0
  135. package/dist/components/index.d.ts +6 -6
  136. package/dist/components/index2.js +198 -33
  137. package/dist/{esm/pesquisa-fetcher-dd3ca0a5.js → components/pesquisa-fetcher.js} +13 -14
  138. package/dist/components/snk-actions-button2.js +4 -10
  139. package/dist/components/snk-application2.js +66 -18
  140. package/dist/components/snk-attach2.js +485 -78
  141. package/dist/components/snk-crud.js +131 -23
  142. package/dist/components/snk-data-exporter2.js +202 -83
  143. package/dist/components/snk-data-unit2.js +463 -214
  144. package/dist/components/snk-detail-view2.js +137 -23
  145. package/dist/components/snk-entity-list.js +5 -3
  146. package/dist/components/snk-expression-item2.js +1 -1
  147. package/dist/components/snk-filter-bar2.js +74 -8
  148. package/dist/components/snk-filter-detail2.js +5 -1
  149. package/dist/components/snk-filter-item2.js +14 -6
  150. package/dist/components/snk-filter-modal.js +4 -2
  151. package/dist/components/snk-filter-multi-select.js +2 -1
  152. package/dist/components/snk-form-config2.js +46 -26
  153. package/dist/components/snk-form-view2.js +72 -1
  154. package/dist/components/snk-form.js +60 -5
  155. package/dist/components/snk-grid-config2.js +128 -102
  156. package/dist/components/snk-grid2.js +207 -119
  157. package/dist/components/snk-personalized-filter-editor.js +3 -1
  158. package/dist/components/snk-personalized-filter2.js +1 -1
  159. package/dist/components/snk-pesquisa2.js +1 -1
  160. package/dist/components/snk-simple-crud2.js +568 -35
  161. package/dist/components/snk-taskbar2.js +144 -29
  162. package/dist/components/taskbar-actions-button2.js +4 -2
  163. package/dist/esm/{ConfigStorage-1244b8b0.js → ConfigStorage-174101b9.js} +94 -21
  164. package/dist/esm/{DataFetcher-aa159c5a.js → DataFetcher-4b4b7beb.js} +7 -4
  165. package/dist/esm/IExporterProvider-ce2ca127.js +221 -0
  166. package/dist/esm/{ISave-4412b20c.js → ISave-d8c8bc59.js} +1 -0
  167. package/dist/esm/RecordIDUtils-87d02110.js +41 -0
  168. package/dist/esm/{SnkFormConfigManager-9be0e7d4.js → SnkFormConfigManager-3bdb3e1f.js} +23 -15
  169. package/dist/esm/{SnkMessageBuilder-ca843d1b.js → SnkMessageBuilder-3a767111.js} +25 -13
  170. package/dist/esm/{auth-fetcher-c05dc474.js → auth-fetcher-9f86c346.js} +1 -1
  171. package/dist/esm/{dataunit-fetcher-cbec1594.js → dataunit-fetcher-f3fa35b9.js} +392 -70
  172. package/dist/esm/{form-config-fetcher-36219cd3.js → form-config-fetcher-5d72aaf1.js} +13 -1
  173. package/dist/esm/index-a7d3d3f1.js +2 -10
  174. package/dist/esm/loader.js +1 -1
  175. package/dist/esm/pesquisa-fetcher-9cfab836.js +164 -0
  176. package/dist/esm/sankhyablocks.js +1 -1
  177. package/dist/esm/{snk-actions-button_2.entry.js → snk-actions-button_4.entry.js} +525 -9
  178. package/dist/esm/snk-application.entry.js +68 -24
  179. package/dist/esm/snk-attach.entry.js +430 -71
  180. package/dist/esm/snk-crud.entry.js +124 -28
  181. package/dist/esm/snk-data-exporter.entry.js +208 -84
  182. package/dist/esm/snk-data-unit-8d6afa43.js +668 -0
  183. package/dist/esm/snk-data-unit.entry.js +11 -2
  184. package/dist/esm/snk-detail-view.entry.js +52 -13
  185. package/dist/esm/snk-entity-list.entry.js +5 -3
  186. package/dist/esm/snk-filter-bar.entry.js +70 -10
  187. package/dist/esm/snk-filter-detail.entry.js +4 -1
  188. package/dist/esm/snk-filter-item.entry.js +13 -6
  189. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  190. package/dist/esm/snk-filter-modal.entry.js +2 -1
  191. package/dist/esm/snk-filter-multi-select.entry.js +2 -1
  192. package/dist/esm/snk-form-config.entry.js +48 -28
  193. package/dist/esm/snk-form-view.entry.js +67 -0
  194. package/dist/esm/snk-form.entry.js +60 -8
  195. package/dist/esm/snk-grid.entry.js +199 -122
  196. package/dist/esm/{snk-guides-viewer-c7aaf02a.js → snk-guides-viewer-dabd574c.js} +56 -20
  197. package/dist/esm/snk-guides-viewer.entry.js +10 -10
  198. package/dist/esm/snk-personalized-filter-editor.entry.js +3 -1
  199. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  200. package/dist/esm/snk-pesquisa.entry.js +1 -1
  201. package/dist/esm/snk-simple-crud.entry.js +500 -32
  202. package/dist/esm/snk-taskbar.entry.js +125 -16
  203. package/dist/esm/{taskbar-elements-d4d0b424.js → taskbar-elements-ad766858.js} +11 -11
  204. package/dist/sankhyablocks/{p-9695f78b.js → p-010d475f.js} +1 -1
  205. package/dist/sankhyablocks/p-109e0551.js +1 -0
  206. package/dist/sankhyablocks/p-1918789e.js +1 -0
  207. package/dist/sankhyablocks/p-19ba2e08.entry.js +1 -0
  208. package/dist/sankhyablocks/p-1c628fb2.entry.js +1 -0
  209. package/dist/sankhyablocks/p-1db45d26.entry.js +1 -0
  210. package/dist/sankhyablocks/p-1e9c3f95.entry.js +1 -0
  211. package/dist/sankhyablocks/{p-9e7d65a4.js → p-21749402.js} +1 -1
  212. package/dist/sankhyablocks/p-2a84e45b.entry.js +1 -0
  213. package/dist/sankhyablocks/p-2acc8816.entry.js +1 -0
  214. package/dist/sankhyablocks/p-2c9ea7b6.entry.js +1 -0
  215. package/dist/sankhyablocks/p-33718dfc.entry.js +1 -0
  216. package/dist/sankhyablocks/p-3e4c2cfe.entry.js +11 -0
  217. package/dist/sankhyablocks/p-4a8a149d.entry.js +1 -0
  218. package/dist/sankhyablocks/p-4ce73e88.js +1 -0
  219. package/dist/sankhyablocks/p-52df8935.entry.js +1 -0
  220. package/dist/sankhyablocks/p-54a5d52a.entry.js +1 -0
  221. package/dist/sankhyablocks/p-566f5f50.js +56 -0
  222. package/dist/sankhyablocks/{p-3520c088.entry.js → p-59dccb7a.entry.js} +1 -1
  223. package/dist/sankhyablocks/p-5bd78e4c.entry.js +1 -0
  224. package/dist/sankhyablocks/p-61dd89eb.js +1 -0
  225. package/dist/sankhyablocks/p-6b2be902.js +6 -0
  226. package/dist/sankhyablocks/p-70a4af56.entry.js +1 -0
  227. package/dist/sankhyablocks/p-9863d682.js +1 -0
  228. package/dist/sankhyablocks/{p-e6380c60.js → p-a6dfa396.js} +1 -1
  229. package/dist/sankhyablocks/{p-f514913b.entry.js → p-aa854fa8.entry.js} +1 -1
  230. package/dist/sankhyablocks/p-aa9c4099.entry.js +1 -0
  231. package/dist/sankhyablocks/p-b11aa1e0.entry.js +1 -0
  232. package/dist/sankhyablocks/p-b27114c4.js +1 -0
  233. package/dist/sankhyablocks/p-b643f746.entry.js +1 -0
  234. package/dist/sankhyablocks/p-bf2acf72.entry.js +1 -0
  235. package/dist/sankhyablocks/p-cfb98f51.entry.js +1 -0
  236. package/dist/sankhyablocks/{p-247a8b36.entry.js → p-d1791da2.entry.js} +1 -1
  237. package/dist/sankhyablocks/p-e0c27486.js +26 -0
  238. package/dist/sankhyablocks/p-e238279a.entry.js +1 -0
  239. package/dist/sankhyablocks/p-e8763234.entry.js +1 -0
  240. package/dist/sankhyablocks/p-eae66367.js +1 -0
  241. package/dist/sankhyablocks/p-fde91811.js +60 -0
  242. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  243. package/dist/types/components/snk-application/__mocks__/snk-application.d.ts +3 -0
  244. package/dist/types/components/snk-application/snk-application.d.ts +21 -2
  245. package/dist/types/components/snk-attach/{structure/crud-config-builder.d.ts → interfaces/ICrudConfig.d.ts} +1 -2
  246. package/dist/types/components/snk-attach/interfaces/TFetcherType.d.ts +1 -0
  247. package/dist/types/components/snk-attach/snk-attach.d.ts +33 -10
  248. package/dist/types/components/snk-attach/structure/builder/anexo-sistema-crud-config.builder.d.ts +2 -0
  249. package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +40 -0
  250. package/dist/types/components/snk-attach/structure/{taskbar-builder.d.ts → builder/taskbar-builder.d.ts} +1 -1
  251. package/dist/types/components/snk-attach/structure/fetcher/facade/fetcher.facade.d.ts +11 -0
  252. package/dist/types/components/snk-attach/structure/fetcher/factory/anexo-sistema-data-unit.factory.d.ts +17 -0
  253. package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +16 -0
  254. package/dist/types/components/snk-attach/structure/index.d.ts +6 -3
  255. package/dist/types/components/snk-crud/interfaces/PropsCustomEditor.d.ts +4 -0
  256. package/dist/types/components/snk-crud/interfaces/PropsCustomRender.d.ts +4 -0
  257. package/dist/types/components/snk-crud/snk-crud.d.ts +53 -1
  258. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +24 -1
  259. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +28 -3
  260. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +30 -1
  261. package/dist/types/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.d.ts +13 -0
  262. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +11 -0
  263. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +24 -4
  264. package/dist/types/components/snk-data-exporter/interfaces/IExporterStrategy.d.ts +5 -0
  265. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +17 -0
  266. package/dist/types/components/snk-data-exporter/providers/ServerSideExporterProvider.d.ts +17 -0
  267. package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +3 -1
  268. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +77 -0
  269. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +3 -0
  270. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +61 -2
  271. package/dist/types/components/snk-data-unit/test/resources/metadataMock.d.ts +3 -0
  272. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +4 -0
  273. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +7 -3
  274. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +5 -0
  275. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +31 -1
  276. package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +3 -1
  277. package/dist/types/components/snk-form/snk-form.d.ts +20 -1
  278. package/dist/types/components/{snk-form → snk-form-config}/SnkFormConfigManager.d.ts +2 -1
  279. package/dist/types/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.d.ts +5 -3
  280. package/dist/types/components/snk-grid/snk-grid.d.ts +65 -7
  281. package/dist/types/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.d.ts +11 -6
  282. package/dist/types/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.d.ts +1 -1
  283. package/dist/types/components/snk-simple-crud/regular-buttons.d.ts +3 -0
  284. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +138 -6
  285. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +1 -1
  286. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +34 -1
  287. package/dist/types/components.d.ts +502 -16
  288. package/dist/types/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.d.ts +11 -0
  289. package/dist/types/lib/configs/ConfigStorage.d.ts +25 -1
  290. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +2 -3
  291. package/dist/types/lib/dataUnit/ValueFormatter.d.ts +2 -0
  292. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +4 -0
  293. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +3 -0
  294. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
  295. package/dist/types/lib/http/data-fetcher/fetchers/{attach-fetcher.d.ts → AttachFetcher/anexo-sistema-fetcher.d.ts} +3 -2
  296. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.d.ts +11 -0
  297. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.d.ts +8 -0
  298. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/index.d.ts +3 -0
  299. package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.d.ts +2 -1
  300. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +2 -1
  301. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +1 -0
  302. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -0
  303. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.d.ts +2 -0
  304. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IBuildRequestBodyLoadRowMetadata.d.ts +10 -0
  305. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRowMetadata.d.ts +7 -0
  306. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +7 -0
  307. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/test/resources/metadataMock.d.ts +20 -0
  308. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IExporterColumnMetadata.d.ts +3 -0
  309. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +2 -0
  310. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  311. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +2 -1
  312. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +1 -0
  313. package/dist/types/lib/index.d.ts +1 -1
  314. package/dist/types/lib/utils/CrudUtils.d.ts +3 -0
  315. package/package.json +15 -6
  316. package/dist/cjs/PreloadManager-84466da6.js +0 -224
  317. package/dist/cjs/SnkMultiSelectionListDataSource-ba5838c2.js +0 -49
  318. package/dist/cjs/snk-data-unit-1bc69073.js +0 -462
  319. package/dist/cjs/snk-grid-config.cjs.entry.js +0 -483
  320. package/dist/cjs/snk-select-box.cjs.entry.js +0 -25
  321. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/index.js +0 -34
  322. package/dist/components/field-search.js +0 -121
  323. package/dist/components/index3.js +0 -199
  324. package/dist/esm/PreloadManager-c1c2f2b4.js +0 -222
  325. package/dist/esm/SnkMultiSelectionListDataSource-44494b0e.js +0 -43
  326. package/dist/esm/snk-data-unit-6208ebf0.js +0 -460
  327. package/dist/esm/snk-grid-config.entry.js +0 -479
  328. package/dist/esm/snk-select-box.entry.js +0 -21
  329. package/dist/sankhyablocks/p-03dcc5ff.entry.js +0 -1
  330. package/dist/sankhyablocks/p-0874adb5.entry.js +0 -1
  331. package/dist/sankhyablocks/p-094c30cb.js +0 -1
  332. package/dist/sankhyablocks/p-0d7863ed.js +0 -26
  333. package/dist/sankhyablocks/p-11081798.entry.js +0 -1
  334. package/dist/sankhyablocks/p-20726710.entry.js +0 -1
  335. package/dist/sankhyablocks/p-25927311.entry.js +0 -1
  336. package/dist/sankhyablocks/p-32f0935f.js +0 -1
  337. package/dist/sankhyablocks/p-374d03f6.js +0 -1
  338. package/dist/sankhyablocks/p-3891ae6f.js +0 -60
  339. package/dist/sankhyablocks/p-4775a293.entry.js +0 -1
  340. package/dist/sankhyablocks/p-585294ee.js +0 -56
  341. package/dist/sankhyablocks/p-6977a26c.entry.js +0 -1
  342. package/dist/sankhyablocks/p-69efa80d.entry.js +0 -1
  343. package/dist/sankhyablocks/p-776ee8e3.js +0 -1
  344. package/dist/sankhyablocks/p-809f367d.entry.js +0 -1
  345. package/dist/sankhyablocks/p-8c243e7e.entry.js +0 -11
  346. package/dist/sankhyablocks/p-8d16f9ce.js +0 -1
  347. package/dist/sankhyablocks/p-8d70b5d5.entry.js +0 -1
  348. package/dist/sankhyablocks/p-98674137.entry.js +0 -1
  349. package/dist/sankhyablocks/p-a9e5b094.entry.js +0 -1
  350. package/dist/sankhyablocks/p-c22c1d8e.js +0 -1
  351. package/dist/sankhyablocks/p-c4d19840.entry.js +0 -1
  352. package/dist/sankhyablocks/p-c627ba91.entry.js +0 -1
  353. package/dist/sankhyablocks/p-c758265f.entry.js +0 -1
  354. package/dist/sankhyablocks/p-cb7419e0.entry.js +0 -1
  355. package/dist/sankhyablocks/p-d4f9ee17.entry.js +0 -1
  356. package/dist/sankhyablocks/p-d6317851.entry.js +0 -1
  357. package/dist/sankhyablocks/p-d81f20c4.entry.js +0 -1
  358. package/dist/sankhyablocks/p-d9bb09b3.js +0 -6
  359. package/dist/sankhyablocks/p-dc8b6418.entry.js +0 -1
  360. package/dist/sankhyablocks/p-f2056f66.entry.js +0 -1
  361. package/dist/sankhyablocks/p-fd8814b9.entry.js +0 -1
  362. package/dist/sankhyablocks/p-ff6064e7.js +0 -1
  363. package/dist/types/components/snk-attach/structure/data-unit-builder.d.ts +0 -15
  364. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/index.d.ts +0 -3
  365. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.js → components/snk-attach/interfaces/ICrudConfig.js} +0 -0
  366. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.js → components/snk-attach/interfaces/TFetcherType.js} +0 -0
  367. /package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.css +0 -0
  368. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.css +0 -0
  369. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.js +0 -0
  370. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.css +0 -0
  371. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.js +0 -0
  372. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.css +0 -0
  373. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.js +0 -0
  374. /package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.css +0 -0
  375. /package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.css +0 -0
  376. /package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.js +0 -0
  377. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.d.ts +0 -0
  378. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.d.ts +0 -0
  379. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.d.ts +0 -0
  380. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDelete.d.ts +0 -0
  381. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDownloadKey.d.ts +0 -0
  382. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.d.ts +0 -0
@@ -29,6 +29,7 @@ const snkDataUnitMessages = {
29
29
  forbiddenRemove: "Não é possível remover. Verifique as permissões de acesso.",
30
30
  removeAllConfirmation: "Os <strong>{{size}} registros selecionados</strong> serão excluídos.<br/><br/><strong>Você realmente gostaria de continuar?</strong>",
31
31
  removeAllInfo: "Os {{size}} registros foram removidos com sucesso!",
32
+ fieldNameRequired: "É necessário informar o nome da coluna."
32
33
  };
33
34
 
34
35
  const snkFilterBarMessages = {
@@ -146,6 +147,10 @@ const snkCrudMessages = {
146
147
 
147
148
  const snkSimpleCrudMessages = {
148
149
  findColumn: "Busca de colunas",
150
+ formConfigUnavaliable: {
151
+ title: "Aviso",
152
+ message: 'A opção "Configurar formulário" será disponibilizada em breve. Enquanto isso, acesse a configuração do fomulário através dos layouts anteriores, HTML5 ou Flex.'
153
+ }
149
154
  };
150
155
 
151
156
  const fileViewerMessages = {
@@ -286,7 +291,8 @@ const snkDataExporterMessages = {
286
291
  },
287
292
  message: {
288
293
  emailSuccess: "E-mail enviado com sucesso",
289
- exportError: "Usuário sem permissão",
294
+ exportError: "Falha ao exportar dados",
295
+ unknownFailure: "O motivo da falha não pode ser identificado.",
290
296
  exportPermission: "O usuário não possui permissão para exportar o arquivo.",
291
297
  },
292
298
  title: {
@@ -351,11 +357,24 @@ const snkAttachMessages = {
351
357
  anyLinkOrFileFilled: {
352
358
  title: "Atenção",
353
359
  message: `É necessário preencher o campo "Link" ou anexar um arquivo.`
360
+ },
361
+ descriptionCannotBeChanged: {
362
+ title: "Atenção",
363
+ message: "O campo 'Descrição' não pode ser alterado."
354
364
  }
355
365
  },
356
366
  taskbar: {
357
367
  titleDownload: "Fazer download",
358
368
  titleLink: "Abrir link",
369
+ },
370
+ attachMetadata: {
371
+ lblCode: "Código",
372
+ lblDescription: "Descrição",
373
+ lblFileOrLink: "Arquivo / Link",
374
+ lblUser: "Usuário",
375
+ lblDate: "Data de alteração",
376
+ lblFile: "Arquivo",
377
+ lblSubTitle: "Clique para selecionar um arquivo",
359
378
  }
360
379
  };
361
380
 
@@ -534,7 +553,7 @@ class SnkMessageBuilder {
534
553
  this.loadAppMessages().then((msgs) => {
535
554
  this._appMessages = msgs;
536
555
  }, error => {
537
- console.info('O arquivo de mensagens personalizadas não foi encontrado no caminho /messages/appmessages.js', error);
556
+ console.info('O arquivo de mensagens personalizadas não foi encontrado no caminho /messages/appmessages', error);
538
557
  });
539
558
  }
540
559
  /**
@@ -626,17 +645,10 @@ class SnkMessageBuilder {
626
645
  return message;
627
646
  }
628
647
  }
629
- loadAppMessages() {
630
- return new Promise(async (accept, reject) => {
631
- const messagesUrl = await this._application.getApplicationPath();
632
- import(/* webpackIgnore: true */ `${messagesUrl}/messages/appmessages.js`)
633
- .then(module => {
634
- accept(module.default);
635
- })
636
- .catch(reason => {
637
- reject(reason);
638
- });
639
- });
648
+ async loadAppMessages() {
649
+ const messagesUrl = await this._application.getApplicationPath();
650
+ const module = await import(/* webpackIgnore: true */ `${messagesUrl}/messages/appmessages.js`);
651
+ return module.default;
640
652
  }
641
653
  }
642
654
  var OperationMap;
@@ -1,171 +1,11 @@
1
- import { DataType, FieldComparator, SortMode, DataUnit, DateUtils, StringUtils, ChangeOperation, ApplicationContext, UserInterface, DataUnitStorage } from '@sankhyalabs/core';
2
- import { d as dist, D as DataFetcher } from './DataFetcher.js';
1
+ import { ObjectUtils, DataUnit, DataType, DateUtils, StringUtils, ChangeOperation, ApplicationContext, UserInterface, DataUnitStorage } from '@sankhyalabs/core';
2
+ import { D as DataFetcher, d as dist } from './DataFetcher.js';
3
3
  import { DISTINCT_FILTER_NAME_PREFIX } from '@sankhyalabs/ezui/dist/collection/utils/constants';
4
4
  import { DataUnitTransient } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
5
5
  import { ColumnFilterManager } from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
6
+ import SortingUtils from '@sankhyalabs/core/dist/utils/SortingUtils';
6
7
  import { R as ResourceIDUtils } from './ResourceIDUtils.js';
7
8
 
8
- class PesquisaFetcher {
9
- constructor() {
10
- this._defaultPageSize = 100;
11
- this._templateByQuery = new Map();
12
- this._searchListenersByDataUnit = new Map();
13
- this.buldTemplates();
14
- }
15
- buldTemplates() {
16
- this._templateByQuery.set("search", dist.gql `query($entityName: String! $argument: String $criteria: InputSearchCriteria $options: InputSearchOptions) {
17
- $queryAlias$: search(entityName: $entityName argument: $argument criteria: $criteria options: $options){
18
- value
19
- label
20
- }
21
- }`);
22
- }
23
- loadSearchOptions(entityName, argument, criteria, options) {
24
- var _a;
25
- const cleanText = (argument === null || argument === void 0 ? void 0 : argument.toString().trim()) || undefined;
26
- argument = isNaN(Number(cleanText)) && cleanText ? `%${cleanText}` : cleanText;
27
- criteria === null || criteria === void 0 ? void 0 : criteria.params.forEach(param => {
28
- if (param.dataType === DataType.OBJECT) {
29
- param.value = JSON.stringify(param.value);
30
- }
31
- });
32
- const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, options);
33
- const values = {
34
- argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
35
- entityName,
36
- criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
37
- options: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) || options,
38
- };
39
- if (values.options) {
40
- (_a = values.options) === null || _a === void 0 ? true : delete _a.dataUnitId;
41
- }
42
- return new Promise((resolve, reject) => {
43
- DataFetcher.get()
44
- .callGraphQL({
45
- values,
46
- query: this._templateByQuery.get("search"),
47
- })
48
- .then((result) => {
49
- resolve(result);
50
- })
51
- .catch((error) => {
52
- reject(error);
53
- });
54
- });
55
- }
56
- loadAdvancedSearch(entityName, argument, criteria, searchOptions) {
57
- var _a, _b, _c;
58
- const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
59
- const values = {
60
- argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
61
- criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
62
- searchOptions: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) || searchOptions,
63
- };
64
- const serviceName = "PesquisaSP.getSuggestion";
65
- const externalCriteria = {
66
- query: {
67
- $: (_a = values.criteria) === null || _a === void 0 ? void 0 : _a.expression
68
- }
69
- };
70
- if (((_b = values.criteria) === null || _b === void 0 ? void 0 : _b.params.length) > 0) {
71
- externalCriteria.params = {
72
- param: values.criteria.params.map(param => {
73
- let value = param.value;
74
- let type = param.dataType;
75
- if (type === DataType.OBJECT) {
76
- value = value.value;
77
- type = "S";
78
- }
79
- else {
80
- type = convertParamType(param.dataType);
81
- }
82
- return { $: value, type };
83
- })
84
- };
85
- }
86
- const options = searchOptions != undefined
87
- ? {
88
- "pkFieldName": searchOptions.codeFieldName,
89
- "label": searchOptions.descriptionFieldName,
90
- "fieldName": searchOptions.codeFieldName,
91
- "useDescriptionOptions": false,
92
- "enableRowsCounter": true
93
- }
94
- : undefined;
95
- const reqBody = {
96
- "serviceName": serviceName,
97
- "requestBody": {
98
- "criteria": Object.assign({ "entityName": entityName, "compacted": false, "ignoreEntityCriteria": false, "limit": this._defaultPageSize, "query": { "$": values.argument }, "orderByDesc": false, "externalCriteria": externalCriteria, "localEntityName": (_c = values.searchOptions) === null || _c === void 0 ? void 0 : _c.rootEntity }, { options }),
99
- "clientEventList": {
100
- "clientEvent": []
101
- }
102
- }
103
- };
104
- return new Promise((resolve, reject) => {
105
- DataFetcher.get()
106
- .callServiceBroker("PesquisaSP.getSuggestion", JSON.stringify(reqBody))
107
- .then(result => resolve(result))
108
- .catch(error => reject(error));
109
- });
110
- }
111
- addSearchListener(entityName, dataUnitID, listener) {
112
- var _a;
113
- const dataUnitSearchListeners = this._searchListenersByDataUnit.get(dataUnitID) || [];
114
- const entityListener = dataUnitSearchListeners.find(currentListener => currentListener.entity === entityName);
115
- if (!entityListener) {
116
- this._searchListenersByDataUnit.set(dataUnitID, [...dataUnitSearchListeners, { entity: entityName, listener }]);
117
- }
118
- else {
119
- for (const type of Object.keys(listener)) {
120
- if (type in entityListener.listener) {
121
- const listenerFunctionIsEquals = ((_a = entityListener.listener[type]) === null || _a === void 0 ? void 0 : _a.toString()) === listener[type].toString();
122
- if (listenerFunctionIsEquals)
123
- continue;
124
- entityListener.listener[type] = listener[type];
125
- }
126
- }
127
- }
128
- return () => {
129
- const newListeners = dataUnitSearchListeners.filter(currentListener => currentListener.entity !== entityName);
130
- if (!newListeners.length) {
131
- this._searchListenersByDataUnit.delete(dataUnitID);
132
- return;
133
- }
134
- this._searchListenersByDataUnit.set(dataUnitID, newListeners);
135
- };
136
- }
137
- applySearchListener(listenerType, entityName, argument, criteria, searchOptions) {
138
- var _a;
139
- const dataUnitId = searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.dataUnitId;
140
- if (!dataUnitId)
141
- return;
142
- const entityListener = (_a = this._searchListenersByDataUnit.get(dataUnitId)) === null || _a === void 0 ? void 0 : _a.find(({ entity }) => entity === entityName);
143
- if (!entityListener)
144
- return;
145
- const { listener } = entityListener;
146
- if (!(listenerType in listener))
147
- return;
148
- return listener[listenerType]({ argument, criteria, searchOptions });
149
- }
150
- }
151
- function convertParamType(dataType) {
152
- //Alerta: Cuidado pra não contaminar o DataType com a implementação
153
- //atual da pesquisa... em geral, somente inteiros,
154
- //data (com ou sem hora) e string são realmente relevantes
155
- switch (dataType) {
156
- case DataType.NUMBER:
157
- return "I";
158
- case DataType.DATE:
159
- return "D";
160
- default:
161
- return "S";
162
- }
163
- }
164
- var SearchListenerType;
165
- (function (SearchListenerType) {
166
- SearchListenerType["beforeSearch"] = "beforeSearch";
167
- })(SearchListenerType || (SearchListenerType = {}));
168
-
169
9
  class ArrayRepository {
170
10
  constructor(equalsFunction) {
171
11
  this._list = [];
@@ -245,6 +85,9 @@ class ArrayRepository {
245
85
  async count() {
246
86
  return Promise.resolve(this._list.length);
247
87
  }
88
+ getFromCache() {
89
+ return ObjectUtils.copy(this._list);
90
+ }
248
91
  }
249
92
 
250
93
  class PreloadManager {
@@ -266,17 +109,7 @@ class PreloadManager {
266
109
  }
267
110
  }
268
111
  static getSortingFunction(dataUnit, sorting) {
269
- if (sorting == undefined || sorting.length == 0) {
270
- return undefined;
271
- }
272
- return (recordA, recordB) => {
273
- for (const sort of sorting) {
274
- const result = FieldComparator.compare(dataUnit.getField(sort.field), recordA, recordB, sort.mode === SortMode.ASC);
275
- if (result != 0) {
276
- return result;
277
- }
278
- }
279
- };
112
+ return SortingUtils.getSortingFunction(dataUnit, sorting);
280
113
  }
281
114
  static async getDistinct(dataUnit, fieldName) {
282
115
  if (!PreloadManager.isCacheEnabled(dataUnit)) {
@@ -313,7 +146,11 @@ class PreloadManager {
313
146
  static async loadData(dataUnit, request, loadFromServer) {
314
147
  try {
315
148
  if (PreloadManager.isCacheEnabled(dataUnit)) {
316
- let useCache = request.source === "EZ_GRID_LOADING_SOURCE" || request.source === DataUnit.CHANGING_PAGE_LOADING_SOURCE;
149
+ const useCache = [
150
+ "EZ_GRID_LOADING_SOURCE",
151
+ DataUnit.CHANGING_PAGE_LOADING_SOURCE,
152
+ DataUnit.ALL_RECORDS_SELECTION_SOURCE
153
+ ].includes(request.source);
317
154
  if (useCache) {
318
155
  const isCacheEmpty = await PreloadManager.getRepository(dataUnit).isEmpty();
319
156
  if (!isCacheEmpty) {
@@ -380,12 +217,47 @@ class PreloadManager {
380
217
  .catch(reason => reject(reason));
381
218
  });
382
219
  }
220
+ static getCachedRecords(dataUnit) {
221
+ return PreloadManager.getRepository(dataUnit).getFromCache();
222
+ }
383
223
  }
384
224
  PreloadManager._repositories = new Map();
385
225
  PreloadManager._loadingStatus = new Map();
386
226
 
227
+ function applyFilter(records, dataUnit, filters) {
228
+ const columnFilters = ColumnFilterManager.getColumnFilters(filters, "");
229
+ if (!(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.size)) {
230
+ return records;
231
+ }
232
+ const filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
233
+ if (filterFunction == undefined) {
234
+ return records;
235
+ }
236
+ return records.filter(filterFunction);
237
+ }
238
+ function applySorting(records, dataUnit, sorting) {
239
+ if (sorting == undefined || sorting.length == 0) {
240
+ return records;
241
+ }
242
+ const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
243
+ if (sortingFunction == undefined) {
244
+ return records;
245
+ }
246
+ return records.sort(sortingFunction);
247
+ }
248
+ function buildPaginationInfo(records, offset = 0, limit = 0) {
249
+ const lastRecord = Math.min(offset + limit, records === null || records === void 0 ? void 0 : records.length);
250
+ return {
251
+ currentPage: limit === 0 ? 0 : Math.ceil(offset / limit),
252
+ firstRecord: offset,
253
+ lastRecord: lastRecord,
254
+ total: records === null || records === void 0 ? void 0 : records.length,
255
+ hasMore: !!((records === null || records === void 0 ? void 0 : records.length) - lastRecord),
256
+ };
257
+ }
258
+
387
259
  class InMemoryLoader {
388
- constructor(metadata, records) {
260
+ constructor(metadata, records, config) {
389
261
  this.metadata = metadata;
390
262
  this.records = records;
391
263
  this._dataUnit = new DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
@@ -393,12 +265,20 @@ class InMemoryLoader {
393
265
  this._dataUnit.dataLoader = (dataUnit, request) => this.inMemoryLoader(dataUnit, request, this.getRecordsToLoad());
394
266
  this._dataUnit.saveLoader = (_dataUnit, changes) => this.saveLoader(_dataUnit, changes);
395
267
  this._dataUnit.removeLoader = (_dataUnit, recordIds) => this.removeLoader(_dataUnit, recordIds);
396
- this.dataUnit.loadMetadata().then(() => this.dataUnit.loadData());
268
+ this.dataUnit.loadMetadata().then(() => {
269
+ if ((config === null || config === void 0 ? void 0 : config.autoLoad) !== false) {
270
+ this.dataUnit.loadData();
271
+ }
272
+ });
397
273
  }
398
274
  getRecordsToLoad() {
399
275
  if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
400
276
  this._initialRecords = this.dataUnit.records;
401
277
  }
278
+ const addedRecords = this.dataUnit.getAddedRecords();
279
+ if (addedRecords) {
280
+ return [...this._initialRecords, ...addedRecords];
281
+ }
402
282
  return this._initialRecords;
403
283
  }
404
284
  get dataUnit() {
@@ -441,7 +321,7 @@ class InMemoryLoader {
441
321
  this._initialRecords = newRecords;
442
322
  if (this._dataUnit) {
443
323
  //Isso força o refresh internamente no datunit
444
- this._dataUnit.gotoPage(0);
324
+ this._dataUnit.loadData();
445
325
  }
446
326
  }
447
327
  get metadata() {
@@ -457,30 +337,9 @@ class InMemoryLoader {
457
337
  return StringUtils.generateUUID();
458
338
  }
459
339
  inMemoryLoader(dataUnit, request, recordsIn) {
460
- let records = this.applyFilter(recordsIn, dataUnit, request.filters);
461
- records = this.applySorting(records, dataUnit, request.sort);
462
- return Promise.resolve({ records, paginationInfo: buildPaginationInfo(request, records) });
463
- }
464
- applyFilter(records, dataUnit, filters) {
465
- const columnFilters = ColumnFilterManager.getColumnFilters(filters, "");
466
- if (columnFilters == undefined || columnFilters.size == 0) {
467
- return records;
468
- }
469
- const filterFunciton = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
470
- if (filterFunciton == undefined) {
471
- return records;
472
- }
473
- return records.filter(filterFunciton);
474
- }
475
- applySorting(records, dataUnit, sorting) {
476
- if (sorting == undefined || sorting.length == 0) {
477
- return records;
478
- }
479
- const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
480
- if (sortingFunction == undefined) {
481
- return records;
482
- }
483
- return records.sort(sortingFunction);
340
+ let records = applyFilter(recordsIn, dataUnit, request.filters);
341
+ records = applySorting(records, dataUnit, request.sort);
342
+ return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
484
343
  }
485
344
  metadaLoader() {
486
345
  return Promise.resolve(this._metadata);
@@ -513,48 +372,48 @@ class InMemoryLoader {
513
372
  }
514
373
  }
515
374
  InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = "InMemoryDataUnit";
516
- function buildPaginationInfo({ offset, limit }, records) {
517
- if (offset === undefined || limit === undefined) {
518
- return undefined;
519
- }
520
- const lastRecord = Math.min(offset + limit, records.length);
521
- return {
522
- currentPage: Math.ceil(offset / limit),
523
- firstRecord: offset,
524
- lastRecord: lastRecord,
525
- total: records.length,
526
- hasMore: !!(records.length - lastRecord),
527
- };
375
+
376
+ function getRecordValue(record, fieldName) {
377
+ var _a, _b;
378
+ return ((_a = record[fieldName]) === null || _a === void 0 ? void 0 : _a.value) !== undefined ? (_b = record[fieldName]) === null || _b === void 0 ? void 0 : _b.value : record[fieldName];
528
379
  }
529
380
 
530
381
  class DatasetStrategy {
531
382
  canSlice() {
532
383
  return false;
533
384
  }
385
+ processSortingSide(request, dataUnit, serverSideFilters) {
386
+ var _a;
387
+ const localSorting = [];
388
+ const serverSorting = [];
389
+ if (request.sort != undefined) {
390
+ if (serverSideFilters.length === 0) {
391
+ return { localSorting: request.sort, serverSorting: [] };
392
+ }
393
+ for (const sort of request.sort) {
394
+ const descriptor = dataUnit.getField(sort.field);
395
+ const local = ((_a = descriptor === null || descriptor === void 0 ? void 0 : descriptor.properties) === null || _a === void 0 ? void 0 : _a.calculated) === "true" || (descriptor === null || descriptor === void 0 ? void 0 : descriptor.userInterface) === UserInterface.LONGTEXT;
396
+ if (local) {
397
+ localSorting.push(sort);
398
+ }
399
+ else {
400
+ serverSorting.push(sort);
401
+ }
402
+ }
403
+ }
404
+ return { localSorting, serverSorting };
405
+ }
534
406
  async load(dataUnit, request, loadingInfo) {
407
+ var _a, _b;
535
408
  if (dataUnit.metadata == undefined) {
536
409
  return Promise.resolve({ records: [], loadingInfo });
537
410
  }
538
411
  try {
539
- const localSorting = [];
540
- const serverSorting = [];
541
- if (request.sort != undefined) {
542
- for (const sort of request.sort) {
543
- const descriptor = dataUnit.getField(sort.field);
544
- const local = descriptor != undefined
545
- && descriptor.properties != undefined
546
- && descriptor.properties.calculated === "true";
547
- if (local) {
548
- localSorting.push(sort);
549
- }
550
- else {
551
- serverSorting.push(sort);
552
- }
553
- }
554
- }
412
+ 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 : [];
413
+ const { localSorting, serverSorting } = this.processSortingSide(request, dataUnit, serverSideFilters);
555
414
  const fields = this.getFieldsList(dataUnit);
556
415
  const serviceName = "DatasetSP.loadRecords";
557
- const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting);
416
+ const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
558
417
  const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
559
418
  const { result: responseRecords, pagerID: pagerId } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
560
419
  const records = this.processRecords(dataUnit, fields, responseRecords);
@@ -573,6 +432,53 @@ class DatasetStrategy {
573
432
  return Promise.reject(error);
574
433
  }
575
434
  }
435
+ async loadRowMetadata(snkDataUnit, fieldName, metadataName, updatedFields = {}) {
436
+ try {
437
+ const serviceName = "DatasetSP.loadRowMetadata";
438
+ const parsedRequestBody = await this.buildRequestBodyLoadRowMetadata({ snkDataUnit, fieldName, metadataName, serviceName, updatedFields });
439
+ const response = await DataFetcher.get().callServiceBroker(serviceName, parsedRequestBody);
440
+ return response;
441
+ }
442
+ catch (error) {
443
+ console.error(error);
444
+ return Promise.reject(error);
445
+ }
446
+ }
447
+ async buildRequestBodyLoadRowMetadata({ snkDataUnit, serviceName, fieldName, metadataName, updatedFields, }) {
448
+ const dataUnit = snkDataUnit.dataUnit;
449
+ const entityName = DataUnitFetcher.parseDataUnitName(dataUnit.name).entityName;
450
+ const recordIdInfo = await snkDataUnit.getSelectedRecordsIDsInfo();
451
+ const pk = recordIdInfo.reduce((accumulator, currentValue) => {
452
+ accumulator[currentValue.name] = currentValue.value;
453
+ return accumulator;
454
+ }, {});
455
+ const record = dataUnit.getSelectedRecord();
456
+ const fields = dataUnit.metadata.fields.filter(({ standAlone, name }) => !standAlone && !name.includes(".")).map(({ name }) => name);
457
+ const values = fields.reduce((accumulator, currentValue, currentIndex) => {
458
+ const recordValue = getRecordValue(record, currentValue);
459
+ const updatedFieldValue = getRecordValue(updatedFields, currentValue);
460
+ accumulator[currentIndex] = updatedFieldValue !== undefined ? updatedFieldValue : recordValue;
461
+ return accumulator;
462
+ }, {});
463
+ const requestBody = {
464
+ serviceName,
465
+ requestBody: {
466
+ dataSetID: dataUnit.dataUnitId,
467
+ entityName,
468
+ standAlone: false,
469
+ metadataName,
470
+ fieldName,
471
+ fields,
472
+ record: {
473
+ pk,
474
+ oldPk: pk,
475
+ values,
476
+ },
477
+ }
478
+ };
479
+ const parsedRequestBody = JSON.stringify(requestBody);
480
+ return parsedRequestBody;
481
+ }
576
482
  getFieldsList(dataUnit) {
577
483
  let fields = ["__record__id__", "__record__label__"];
578
484
  dataUnit.metadata.fields.forEach((descriptor) => {
@@ -598,7 +504,7 @@ class DatasetStrategy {
598
504
  }
599
505
  return [descriptor.name, descriptionField];
600
506
  }
601
- buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting) {
507
+ buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting, serverSideFilters) {
602
508
  const dataSetID = dataUnit.dataUnitId;
603
509
  const dataUnitName = dataUnit.name;
604
510
  const entityName = DataUnitFetcher.parseDataUnitName(dataUnitName).entityName;
@@ -617,7 +523,7 @@ class DatasetStrategy {
617
523
  tryJoinedFields: true,
618
524
  parallelLoader: useParallelLoader,
619
525
  crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
620
- txProperties: this.getTxProperties(dataUnitName, request, sorting),
526
+ txProperties: this.getTxProperties(dataUnit, request, sorting, serverSideFilters),
621
527
  useDefaultRowsLimit: false
622
528
  }
623
529
  };
@@ -628,12 +534,10 @@ class DatasetStrategy {
628
534
  const moduleName = app.getModuleName();
629
535
  return moduleName.replace("-bff", "");
630
536
  }
631
- getTxProperties(dataUnitName, request, sorting) {
632
- var _a, _b;
537
+ getTxProperties(dataUnit, request, sorting, serverSideFilters) {
633
538
  const txProperties = {
634
- "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnitName
539
+ "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnit.name
635
540
  };
636
- 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 : [];
637
541
  if (serverSideFilters.length !== 0) {
638
542
  txProperties["__DATA_UNIT_ADAPTER__[criteria]"] = JSON.stringify(serverSideFilters);
639
543
  }
@@ -643,13 +547,22 @@ class DatasetStrategy {
643
547
  if (request.parentRecordId != undefined) {
644
548
  txProperties["__DATA_UNIT_ADAPTER__[parentRecordId]"] = request.parentRecordId;
645
549
  }
550
+ const loaderProps = dataUnit.getGlobalLoaderProps();
551
+ if (loaderProps == undefined || loaderProps.size === 0) {
552
+ return txProperties;
553
+ }
554
+ Array.from(loaderProps.entries()).forEach(([name, value]) => {
555
+ txProperties[name] = value;
556
+ });
646
557
  return txProperties;
647
558
  }
648
559
  processRecords(dataUnit, fields, responseRecords) {
649
560
  return responseRecords.map((dataFrame) => {
561
+ const lastElement = dataFrame[dataFrame.length - 1];
650
562
  const duRecord = {
651
563
  __record__id__: dataFrame[0],
652
- __record__label__: dataFrame[1]
564
+ __record__label__: dataFrame[1],
565
+ __record__metadata__: lastElement['_rmd'],
653
566
  };
654
567
  dataUnit.metadata.fields.forEach(fieldDescriptor => {
655
568
  duRecord[fieldDescriptor.name] = this.buildFieldValue(fieldDescriptor, fields, dataFrame);
@@ -712,6 +625,9 @@ class DataUnitDataLoader {
712
625
  });
713
626
  });
714
627
  }
628
+ static getCachedRecords(dataUnit) {
629
+ return PreloadManager.getCachedRecords(dataUnit);
630
+ }
715
631
  static async loadFromServer(dataUnit, request, loadingInfo) {
716
632
  try {
717
633
  //Registramos a request com as informações de carga para determinarmos a última.
@@ -912,6 +828,7 @@ class DataUnitFetcher {
912
828
  dataUnit.saveLoader = (_dataUnit, changes) => this.saveData(dataUnit, changes);
913
829
  dataUnit.removeLoader = (dataUnit, recordIds) => this.removeRecords(dataUnit, recordIds);
914
830
  dataUnit.recordLoader = (dataUnit, recordIds) => this.loadRecord(dataUnit, recordIds);
831
+ dataUnit.allRecordsLoader = (dataUnit) => DataUnitDataLoader.getCachedRecords(dataUnit);
915
832
  return dataUnit;
916
833
  }
917
834
  loadMetadata(dataUnit) {
@@ -972,14 +889,41 @@ class DataUnitFetcher {
972
889
  });
973
890
  });
974
891
  }
892
+ addTransientProperties(dataUnit, updatingFields) {
893
+ const loaderProps = dataUnit.getGlobalLoaderProps();
894
+ if (loaderProps == undefined || loaderProps.size === 0) {
895
+ return updatingFields;
896
+ }
897
+ if (updatingFields == undefined) {
898
+ updatingFields = {};
899
+ }
900
+ Array.from(loaderProps.entries()).forEach(([name, value]) => {
901
+ updatingFields[`transient.${name}`] = value;
902
+ });
903
+ return updatingFields;
904
+ }
905
+ getUpdatingFields(dataUnit, originalUpdatingFields) {
906
+ if (originalUpdatingFields == undefined) {
907
+ return;
908
+ }
909
+ const updatingFields = Object.assign({}, originalUpdatingFields);
910
+ Object.keys(updatingFields).forEach(key => {
911
+ const descriptor = dataUnit.getField(key);
912
+ if (descriptor != undefined && descriptor.standAlone) {
913
+ delete updatingFields[key];
914
+ }
915
+ });
916
+ return this.addTransientProperties(dataUnit, updatingFields);
917
+ }
975
918
  saveData(dataUnit, duChanges) {
976
919
  const updatedRecordsIds = [];
977
920
  const addedRecordsIds = [];
978
921
  const changes = duChanges.map((change) => {
979
- const { dataUnit: changeDU, record, updatingFields, operation } = change;
922
+ const { dataUnit: changeDU, record, operation } = change;
980
923
  const dataUnitInstance = DataUnitStorage.get(changeDU);
924
+ const updatingFields = this.getUpdatingFields(dataUnitInstance, change.updatingFields);
981
925
  let parsedUpdatingFields;
982
- if (updatingFields) {
926
+ if (updatingFields != undefined) {
983
927
  parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
984
928
  const descriptor = dataUnitInstance.getField(fieldName);
985
929
  const dataType = descriptor ? descriptor.dataType : DataType.TEXT;
@@ -1103,4 +1047,4 @@ class DataUnitFetcher {
1103
1047
  }
1104
1048
  }
1105
1049
 
1106
- export { DataUnitFetcher as D, InMemoryLoader as I, PesquisaFetcher as P, PreloadManager as a };
1050
+ export { DataUnitFetcher as D, InMemoryLoader as I, PreloadManager as P, applyFilter as a, applySorting as b, buildPaginationInfo as c, DatasetStrategy as d, getRecordValue as g };
@@ -230,6 +230,18 @@ class FormConfigFetcher extends ResourceFetcher {
230
230
  }
231
231
  return `cfg://${authority}/${resourceID}`;
232
232
  }
233
+ async fetchLegacyConfigurableForm(configName) {
234
+ const payload = { 'requestBody': { 'config': { 'chave': configName, 'tipo': 'T' } } };
235
+ const response = await DataFetcher.get().callServiceBroker('SystemUtilsSP.getConf', JSON.stringify(payload));
236
+ if (ObjectUtils.isEmpty(response))
237
+ return undefined;
238
+ return this.buildLegacyConfigurableForm(response);
239
+ }
240
+ buildLegacyConfigurableForm(config) {
241
+ var _a, _b, _c;
242
+ const rawFields = (_c = (_b = (_a = config === null || config === void 0 ? void 0 : config.formConfig) === null || _a === void 0 ? void 0 : _a.layout) === null || _b === void 0 ? void 0 : _b.field) !== null && _c !== void 0 ? _c : [];
243
+ return { emptyConfig: false, fields: Array.isArray(rawFields) ? rawFields : [rawFields] };
244
+ }
233
245
  }
234
246
  var UserConfigType;
235
247
  (function (UserConfigType) {