@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
@@ -1,55 +1,42 @@
1
1
  import { Host, h } from '@stencil/core';
2
- import { Action, ApplicationContext, DataUnitAction, ObjectUtils, DataType, JSUtils } from '@sankhyalabs/core';
2
+ import { Action, ApplicationContext, DataUnitAction, ObjectUtils, StringUtils } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { OperationMap, SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder';
5
+ import { DatasetStrategy } from '../../lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy';
6
+ import { getRecordValue } from '../../lib/dataUnit/ValueFormatter';
7
+ import { getSelectedIDs } from '../snk-data-exporter/utils/RecordIDUtils';
5
8
  export class SnkDataUnit {
6
9
  constructor() {
7
10
  this._onDataUnitResolve = [];
8
11
  this._openedAlert = false;
9
- this._dataUnitObserver = (action) => {
10
- var _a, _b;
11
- const duState = this.buildDataState();
12
+ this._fieldsWithRmp = [];
13
+ this._fieldsWithRmPrecision = [];
14
+ this._metadataByRow = new Map();
15
+ this._rowMetadataCache = new Map();
16
+ this.REGEX_DATAUNIT_NAME = /dd:\/\/(.+?)\//;
17
+ this._dataUnitObserver = async (action) => {
18
+ const duState = this.buildDataState(action.type);
12
19
  this.dataState = duState;
13
- if (action.type === Action.DATA_SAVED) {
14
- if (this.ignoreSaveMessage) {
15
- return;
16
- }
17
- const msg = this.getMessage("snkDataUnit.saveInfo", action.payload.records[0]);
18
- if (msg != undefined) {
19
- this.showSuccessMessage(msg);
20
- }
21
- }
22
- if (action.type === Action.RECORDS_ADDED || action.type === Action.RECORDS_COPIED) {
23
- this.insertionMode.emit();
24
- }
25
- if (action.type === Action.EDITION_CANCELED) {
26
- this.cancelEdition.emit();
27
- }
28
- if (action.type === Action.RECORDS_REMOVED) {
29
- const cachedRecords = action.payload.cachedRecords;
30
- let removeFinishMsg;
31
- if ((cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.length) > 1) {
32
- removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size: cachedRecords.length });
33
- }
34
- else {
35
- removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
36
- }
37
- if (removeFinishMsg != undefined) {
38
- this.showSuccessMessage(removeFinishMsg);
39
- }
40
- const recordsCount = (_b = (_a = this.dataUnit.records) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
41
- const paginationInfo = this.dataUnit.getPaginationInfo();
42
- if (paginationInfo) {
43
- if (recordsCount > 0 || paginationInfo.hasMore) {
44
- this.dataUnit.gotoPage(paginationInfo.currentPage);
45
- }
46
- else {
47
- this.dataUnit.gotoPage(0);
48
- }
49
- }
50
- }
51
20
  this.messagesBuilder.currentOperation = this.getMessageOperation();
21
+ switch (action.type) {
22
+ case Action.DATA_SAVED:
23
+ await this.handleDataSaved(action);
24
+ break;
25
+ case Action.RECORDS_ADDED:
26
+ case Action.RECORDS_COPIED:
27
+ this.insertionMode.emit();
28
+ break;
29
+ case Action.EDITION_CANCELED:
30
+ this.cancelEdition.emit();
31
+ break;
32
+ case Action.RECORDS_REMOVED:
33
+ this.handleRecordsRemoved(action);
34
+ break;
35
+ default:
36
+ break;
37
+ }
52
38
  };
39
+ this.fieldsToLink = [];
53
40
  this.dataState = undefined;
54
41
  this.messagesBuilder = undefined;
55
42
  this.dataUnitName = undefined;
@@ -117,179 +104,336 @@ export class SnkDataUnit {
117
104
  * @returns Retorna a lista de IDs dos registros selecionados.
118
105
  */
119
106
  async getSelectedRecordsIDsInfo() {
120
- var _a;
121
- const selectionInfo = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getSelectionInfo();
122
- if (selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.isAllRecords()) {
123
- return [];
124
- }
125
- const selectedRecordsIDsInfo = [];
126
- const selectedRecords = selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.records;
127
- if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) > 0) {
128
- selectedRecords.forEach(({ __record__id__ }) => {
129
- if (!this.dataUnit.isNewRecord(__record__id__)) {
130
- /*
131
- Esse if foi necessário para tratar corretamente o ID
132
- do record quando está sendo utilizado no modo standAlone
133
- isso não faz a exportação da grid funcionar no modo standAlone
134
- mas deixa de causar erro nas oprações de CRUD.
135
- */
136
- if (!JSUtils.isBase64(__record__id__)) {
137
- selectedRecordsIDsInfo.push({
138
- name: "__record__id__",
139
- type: DataType.TEXT,
140
- value: __record__id__
141
- });
142
- return;
143
- }
144
- const revertBase64ToObject = JSON.parse(window.atob(__record__id__));
145
- Object.entries(revertBase64ToObject).forEach(([name, value]) => {
146
- var _a;
147
- const metadataField = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(name);
148
- if (metadataField == undefined) {
149
- return;
150
- }
151
- selectedRecordsIDsInfo.push(Object.assign({ name, type: metadataField.dataType }, value));
152
- });
153
- }
154
- });
107
+ return Promise.resolve(getSelectedIDs(this.dataUnit));
108
+ }
109
+ /**
110
+ * Retorna os campos que possuem a propriedade "rmp" (Row Metadata Provider).
111
+ */
112
+ async getFieldsWithRmp() {
113
+ return this._fieldsWithRmp;
114
+ }
115
+ /**
116
+ * Retorna os campos que possuem a propriedade "rm_precision" (Row Metadata Precision).
117
+ */
118
+ async getFieldsWithRmPrecision() {
119
+ return this._fieldsWithRmPrecision;
120
+ }
121
+ /**
122
+ * Busca os metadados da linha selecionada.
123
+ */
124
+ async getRowMetadata(record) {
125
+ return this.doGetRowMetadata(record);
126
+ }
127
+ doGetRowMetadata(record) {
128
+ const selectedRecord = this.dataUnit.getSelectedRecord();
129
+ if (!record && !selectedRecord) {
130
+ return;
131
+ }
132
+ const currentRecord = record || selectedRecord;
133
+ const recordId = typeof currentRecord === 'string' ? currentRecord : currentRecord.__record__id__;
134
+ const rowMetadata = this._metadataByRow.get(recordId);
135
+ if (!rowMetadata) {
136
+ return;
155
137
  }
156
- return selectedRecordsIDsInfo;
138
+ rowMetadata.getProp = this.buildGetPropRowMetadata(rowMetadata);
139
+ return Object.assign({}, rowMetadata);
140
+ }
141
+ buildGetPropRowMetadata(rowMetadata) {
142
+ return (propPath, fieldName) => {
143
+ if (propPath === "rm_precision") {
144
+ propPath = this.resolvePrecisionFromMetadata(fieldName);
145
+ }
146
+ return ObjectUtils.getProp(rowMetadata, propPath);
147
+ };
148
+ }
149
+ resolvePrecisionFromMetadata(fieldName) {
150
+ var _a, _b;
151
+ if (!fieldName) {
152
+ ApplicationUtils.error(this.getMessage("snkDataUnit.fieldNameRequired"));
153
+ return;
154
+ }
155
+ const rmPrecision = (_b = (_a = this.dataUnit.getField(fieldName)) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.rm_precision;
156
+ if (!rmPrecision) {
157
+ return '';
158
+ }
159
+ let rmPrecisionPath = rmPrecision.split('.').filter((_, index) => index !== 1).join('.');
160
+ return rmPrecisionPath;
157
161
  }
158
162
  getCleanOnCopyFields() {
159
163
  var _a;
160
164
  return (_a = this.dataUnit.metadata) === null || _a === void 0 ? void 0 : _a.fields.filter(field => { var _a; return (_a = field.properties) === null || _a === void 0 ? void 0 : _a.cleanOnCopy; }).map(field => field.name);
161
165
  }
162
- async interceptAction(action) {
163
- return new Promise(resolve => {
164
- var _a, _b, _c, _d, _e;
165
- switch (action.type) {
166
- case Action.RECORDS_ADDED:
167
- if (this.isAllowed("INSERT")) {
168
- resolve(action);
169
- }
170
- else {
171
- ApplicationUtils.info(this.getMessage("snkDataUnit.forbiddenInsert"));
172
- }
173
- break;
174
- case Action.RECORDS_COPIED:
175
- if (this.isAllowed("CLONE")) {
176
- const cleanFields = this.getCleanOnCopyFields();
177
- if (cleanFields.length > 0) {
178
- const records = action.payload;
179
- action = new DataUnitAction(Action.RECORDS_COPIED, records.map(record => {
180
- const newRecord = Object.assign({}, record);
181
- cleanFields.forEach(fieldName => delete newRecord[fieldName]);
182
- return newRecord;
183
- }));
184
- }
185
- resolve(action);
186
- }
187
- else {
188
- ApplicationUtils.info(this.getMessage("snkDataUnit.forbiddenClone"));
189
- }
190
- break;
191
- case Action.DATA_CHANGED:
192
- case Action.CHANGING_DATA:
193
- if (this.isAllowed("UPDATE"))
194
- return resolve(action);
195
- if (this._openedAlert)
196
- return this.dataUnit.cancelEdition();
197
- this._openedAlert = true;
198
- this.dataUnit.cancelEdition();
199
- ApplicationUtils.alert(this.getMessage("snkDataUnit.forbidden"), this.getMessage("snkDataUnit.forbiddenUpdate")).then(() => {
200
- this._openedAlert = false;
201
- });
202
- break;
203
- case Action.SAVING_DATA:
204
- if (this.beforeSave) {
205
- const continueAction = this.beforeSave(this.dataUnit);
206
- if (continueAction instanceof Promise) {
207
- continueAction.then(result => resolve(result ? action : undefined));
208
- }
209
- else {
210
- resolve(continueAction ? action : undefined);
211
- }
212
- }
213
- else {
214
- resolve(action);
215
- }
216
- break;
217
- case Action.DATA_SAVED:
218
- if (this.afterSave) {
219
- this.afterSave(this.dataUnit);
220
- }
221
- else {
222
- resolve(action);
223
- }
224
- break;
225
- case Action.EDITION_CANCELED:
226
- if (!this.useCancelConfirm)
227
- return resolve(action);
228
- if (this.dataState.hasDirtyRecords) {
229
- const cancelConfirmation = this.getMessage("snkDataUnit.cancelConfirmation");
230
- if (((_a = action.payload) === null || _a === void 0 ? void 0 : _a.fromParent) || ((_b = action.payload) === null || _b === void 0 ? void 0 : _b.silent)) {
231
- resolve(action);
232
- return;
233
- }
234
- if (cancelConfirmation == undefined) {
235
- this.showSuccessMessage(this.getMessage("snkDataUnit.cancelInfo"));
236
- resolve(action);
237
- }
238
- else {
239
- const cancelConfirmationTitle = this.getMessage("snkDataUnit.cancelConfirmationTitle");
240
- ApplicationUtils.confirm(cancelConfirmationTitle, cancelConfirmation)
241
- .then((result) => {
242
- result && this.showSuccessMessage(this.getMessage("snkDataUnit.cancelInfo"));
243
- resolve(result ? action : undefined);
244
- });
245
- }
246
- }
247
- else {
248
- resolve(action);
249
- }
250
- break;
251
- case Action.REMOVING_RECORDS:
252
- if (this.isAllowed("REMOVE")) {
253
- let multipleSelection = false;
254
- let removeConfirmation = !((_c = action.payload) === null || _c === void 0 ? void 0 : _c.silent) && this.getMessage("snkDataUnit.removeConfirmation");
255
- const selection = (_d = this.dataUnit) === null || _d === void 0 ? void 0 : _d.getSelectionInfo();
256
- if (!((_e = action.payload) === null || _e === void 0 ? void 0 : _e.silent) && (selection === null || selection === void 0 ? void 0 : selection.length) > 1) {
257
- removeConfirmation = this.getMessage("snkDataUnit.removeAllConfirmation", { size: selection.length });
258
- multipleSelection = true;
259
- }
260
- if (!removeConfirmation) {
261
- resolve(action);
262
- }
263
- else {
264
- const options = {
265
- canClose: false,
266
- labelCancel: this.getMessage(`snkDataUnit.confirm.${multipleSelection ? "no" : "cancel"}`),
267
- labelConfirm: this.getMessage(`snkDataUnit.confirm.${multipleSelection ? "yes" : "delete"}`),
268
- btnConfirmDanger: false
269
- };
270
- const removeConfirmationTitle = this.getMessage("snkDataUnit.removeConfirmationTitle");
271
- ApplicationUtils.confirm(removeConfirmationTitle, removeConfirmation, null, DialogType.WARN, options)
272
- .then((result) => resolve(result ? action : undefined));
273
- }
274
- }
275
- else {
276
- ApplicationUtils.info(this.getMessage("snkDataUnit.forbiddenRemove"));
277
- }
278
- break;
279
- default:
280
- resolve(action);
166
+ fillFieldsWithRmp(payload) {
167
+ payload.fields.forEach((field) => {
168
+ var _a;
169
+ if (((_a = field.properties) === null || _a === void 0 ? void 0 : _a.rmp) && !this._fieldsWithRmp.includes(field.name)) {
170
+ this._fieldsWithRmp.push(field.name);
171
+ }
172
+ });
173
+ }
174
+ fillFieldsWithRmPrecision(payload) {
175
+ payload.fields.forEach((field) => {
176
+ var _a;
177
+ if (((_a = field.properties) === null || _a === void 0 ? void 0 : _a.rm_precision) && !this._fieldsWithRmPrecision.includes(field.name)) {
178
+ this._fieldsWithRmPrecision.push(field.name);
281
179
  }
282
180
  });
283
181
  }
182
+ getCacheName(fieldName, metadataName, fieldValue) {
183
+ const cacheName = [fieldName, metadataName, fieldValue].join("_");
184
+ return cacheName;
185
+ }
186
+ updateDataStateRmp(newValue) {
187
+ Object.assign(this.dataState.rowMetadata || {}, newValue);
188
+ }
189
+ saveCacheRmd(record) {
190
+ const rmd = record.__record__metadata__;
191
+ const keysRmd = Object.keys(rmd);
192
+ keysRmd.shift();
193
+ keysRmd.forEach((fieldName) => {
194
+ const fieldValue = getRecordValue(record, fieldName);
195
+ const cacheName = this.getCacheName(fieldName, rmd.provider, fieldValue);
196
+ this._rowMetadataCache.set(cacheName, Object.assign({}, rmd));
197
+ });
198
+ }
199
+ getMetadataByRow(payload) {
200
+ var _a;
201
+ if (!((_a = payload.records) === null || _a === void 0 ? void 0 : _a.length)) {
202
+ return payload;
203
+ }
204
+ if (!this._fieldsWithRmp.length) {
205
+ const records = payload.records.map((record) => {
206
+ delete record.__record__metadata__;
207
+ return record;
208
+ });
209
+ return Object.assign(Object.assign({}, payload), { records });
210
+ }
211
+ const records = payload.records.map((record) => {
212
+ if (!record.__record__metadata__) {
213
+ return record;
214
+ }
215
+ this.saveCacheRmd(record);
216
+ const rowMetadata = Object.assign({}, record.__record__metadata__);
217
+ rowMetadata.getProp = this.buildGetPropRowMetadata(rowMetadata);
218
+ this._metadataByRow.set(record.__record__id__, rowMetadata);
219
+ delete record.__record__metadata__;
220
+ return record;
221
+ });
222
+ return Object.assign(Object.assign({}, payload), { records });
223
+ }
224
+ interceptRecordsAdded(action) {
225
+ if (!this.isAllowed("INSERT")) {
226
+ ApplicationUtils.info(this.getMessage("snkDataUnit.forbiddenInsert"));
227
+ return;
228
+ }
229
+ return new DataUnitAction(Action.RECORDS_ADDED, this.handleLinksWithParent(action.payload));
230
+ }
231
+ interceptRecordsCopied(action) {
232
+ if (!this.isAllowed("CLONE")) {
233
+ ApplicationUtils.info(this.getMessage("snkDataUnit.forbiddenClone"));
234
+ return;
235
+ }
236
+ return new DataUnitAction(Action.RECORDS_COPIED, this.handleRecordsCopied(action.payload));
237
+ }
238
+ async interceptDataChange(action) {
239
+ if (this.isAllowed("UPDATE")) {
240
+ return action;
241
+ }
242
+ if (this._openedAlert) {
243
+ await this.dataUnit.cancelEdition();
244
+ return;
245
+ }
246
+ this._openedAlert = true;
247
+ await this.dataUnit.cancelEdition();
248
+ await ApplicationUtils.alert(this.getMessage("snkDataUnit.forbidden"), this.getMessage("snkDataUnit.forbiddenUpdate"));
249
+ this._openedAlert = false;
250
+ }
251
+ async interceptSavingData(action) {
252
+ if (!this.beforeSave) {
253
+ return action;
254
+ }
255
+ const continueAction = this.beforeSave(this.dataUnit);
256
+ if (continueAction instanceof Promise) {
257
+ const result = await continueAction;
258
+ return result ? action : undefined;
259
+ }
260
+ return continueAction ? action : undefined;
261
+ }
262
+ interceptDataSaved(action) {
263
+ if (this.afterSave) {
264
+ this.afterSave(this.dataUnit);
265
+ return;
266
+ }
267
+ return action;
268
+ }
269
+ async interceptEditionCanceled(action) {
270
+ var _a, _b;
271
+ if (!this.useCancelConfirm || !this.dataState.hasDirtyRecords || ((_a = action.payload) === null || _a === void 0 ? void 0 : _a.fromParent) || ((_b = action.payload) === null || _b === void 0 ? void 0 : _b.silent)) {
272
+ return action;
273
+ }
274
+ const cancelConfirmation = this.getMessage("snkDataUnit.cancelConfirmation");
275
+ if (cancelConfirmation == undefined) {
276
+ this.showSuccessMessage(this.getMessage("snkDataUnit.cancelInfo"));
277
+ return action;
278
+ }
279
+ const cancelConfirmationTitle = this.getMessage("snkDataUnit.cancelConfirmationTitle");
280
+ const confirm = await ApplicationUtils.confirm(cancelConfirmationTitle, cancelConfirmation);
281
+ confirm && this.showSuccessMessage(this.getMessage("snkDataUnit.cancelInfo"));
282
+ return confirm ? action : undefined;
283
+ }
284
+ async interceptRemovingRecords(action) {
285
+ var _a, _b, _c;
286
+ if (!this.isAllowed("REMOVE")) {
287
+ ApplicationUtils.info(this.getMessage("snkDataUnit.forbiddenRemove"));
288
+ return;
289
+ }
290
+ let multipleSelection = false;
291
+ let removeConfirmation = !((_a = action.payload) === null || _a === void 0 ? void 0 : _a.silent) && this.getMessage("snkDataUnit.removeConfirmation");
292
+ const selection = (_b = this.dataUnit) === null || _b === void 0 ? void 0 : _b.getSelectionInfo();
293
+ if (!((_c = action.payload) === null || _c === void 0 ? void 0 : _c.silent) && (selection === null || selection === void 0 ? void 0 : selection.length) > 1) {
294
+ removeConfirmation = this.getMessage("snkDataUnit.removeAllConfirmation", { size: selection.length });
295
+ multipleSelection = true;
296
+ }
297
+ if (!removeConfirmation) {
298
+ return action;
299
+ }
300
+ const options = {
301
+ canClose: false,
302
+ labelCancel: this.getMessage(`snkDataUnit.confirm.${multipleSelection ? "no" : "cancel"}`),
303
+ labelConfirm: this.getMessage(`snkDataUnit.confirm.${multipleSelection ? "yes" : "delete"}`),
304
+ btnConfirmDanger: false
305
+ };
306
+ const removeConfirmationTitle = this.getMessage("snkDataUnit.removeConfirmationTitle");
307
+ const confirm = await ApplicationUtils.confirm(removeConfirmationTitle, removeConfirmation, null, DialogType.WARN, options);
308
+ return confirm ? action : undefined;
309
+ }
310
+ interceptDataLoaded(action) {
311
+ const newPayload = this.getMetadataByRow(action.payload);
312
+ action = new DataUnitAction(Action.DATA_LOADED, newPayload);
313
+ return action;
314
+ }
315
+ interceptMetadataLoaded(action) {
316
+ this.fillFieldsWithRmp(action.payload);
317
+ this.fillFieldsWithRmPrecision(action.payload);
318
+ return new DataUnitAction(Action.METADATA_LOADED, this.handleDULinksOnMetadataLoaded(action.payload));
319
+ }
320
+ async interceptAction(action) {
321
+ switch (action.type) {
322
+ case Action.RECORDS_ADDED:
323
+ return this.interceptRecordsAdded(action);
324
+ case Action.RECORDS_COPIED:
325
+ return this.interceptRecordsCopied(action);
326
+ case Action.DATA_CHANGED:
327
+ await this.handleLoadRowMetadata(action);
328
+ return await this.interceptDataChange(action);
329
+ case Action.CHANGING_DATA:
330
+ return await this.interceptDataChange(action);
331
+ case Action.SAVING_DATA:
332
+ return await this.interceptSavingData(action);
333
+ case Action.DATA_SAVED:
334
+ return this.interceptDataSaved(action);
335
+ case Action.EDITION_CANCELED:
336
+ return await this.interceptEditionCanceled(action);
337
+ case Action.REMOVING_RECORDS:
338
+ return await this.interceptRemovingRecords(action);
339
+ case Action.DATA_LOADED:
340
+ return this.interceptDataLoaded(action);
341
+ case Action.METADATA_LOADED:
342
+ return this.interceptMetadataLoaded(action);
343
+ default:
344
+ return action;
345
+ }
346
+ }
347
+ async handleLoadRowMetadata(action) {
348
+ const record = action.type === Action.DATA_CHANGED ? action.payload : action.payload.changes[0].record;
349
+ const keysPayload = Object.keys(record);
350
+ const rmpField = keysPayload.find((field) => this._fieldsWithRmp.includes(field));
351
+ if (rmpField) {
352
+ const metadataName = this.dataUnit.getField(rmpField).properties.rmp;
353
+ const fieldValue = getRecordValue(record, rmpField);
354
+ return await this.updateRowMetadata({
355
+ fieldName: rmpField,
356
+ fieldValue,
357
+ metadataName,
358
+ updatedFields: record,
359
+ });
360
+ }
361
+ }
362
+ async updateRowMetadata({ fieldName, fieldValue, metadataName, updatedFields }) {
363
+ const cacheName = this.getCacheName(fieldName, metadataName, fieldValue);
364
+ const cacheValue = this._rowMetadataCache.get(cacheName);
365
+ if (cacheValue) {
366
+ this.updateDataStateRmp(cacheValue);
367
+ return cacheValue;
368
+ }
369
+ else {
370
+ const datasetStrategy = new DatasetStrategy();
371
+ const response = await datasetStrategy.loadRowMetadata(this, fieldName, metadataName, updatedFields);
372
+ this.updateDataStateRmp(response._rmd);
373
+ this._rowMetadataCache.set(cacheName, Object.assign({}, response._rmd));
374
+ return Object.assign({}, response._rmd);
375
+ }
376
+ }
377
+ handleDULinksOnMetadataLoaded(payload) {
378
+ const metadata = Object.assign({}, payload);
379
+ this.processLinks(metadata);
380
+ return metadata;
381
+ }
382
+ handleRecordsCopied(initialRecords) {
383
+ let records = [...initialRecords];
384
+ records = this.handleCleanOnCopy(records);
385
+ return this.handleLinksWithParent(records);
386
+ }
387
+ handleLinksWithParent(records) {
388
+ var _a, _b;
389
+ const parentDataUnit = (_a = this._parentDataUnit) !== null && _a !== void 0 ? _a : (_b = this.dataUnit) === null || _b === void 0 ? void 0 : _b.getParentDataUnit();
390
+ if (!parentDataUnit)
391
+ return records;
392
+ const parentSelectedRecord = parentDataUnit.getSelectedRecord();
393
+ const selfInfo = parentDataUnit === null || parentDataUnit === void 0 ? void 0 : parentDataUnit.getChildInfo(this.getCleanDataUnitName());
394
+ const { links } = selfInfo;
395
+ if (!links || links.length === 0)
396
+ return records;
397
+ return records.map(record => {
398
+ return this.buildRecordWithLinkedFields(record, links, parentSelectedRecord);
399
+ });
400
+ }
401
+ buildRecordWithLinkedFields(record, links, parentSelectedRecord) {
402
+ const newRecord = Object.assign({}, record);
403
+ links.forEach(link => newRecord[link.target] = parentSelectedRecord[link.source]);
404
+ return newRecord;
405
+ }
406
+ handleCleanOnCopy(records) {
407
+ const cleanFields = this.getCleanOnCopyFields();
408
+ if (cleanFields.length > 0) {
409
+ records = records.map(record => this.buildCopyWithCleanedFields(record, cleanFields));
410
+ }
411
+ return records;
412
+ }
413
+ buildCopyWithCleanedFields(record, cleanFields) {
414
+ const newRecord = Object.assign({}, record);
415
+ cleanFields.forEach(fieldName => delete newRecord[fieldName]);
416
+ return newRecord;
417
+ }
284
418
  showSuccessMessage(message) {
285
419
  ApplicationUtils.info(message, { iconName: "check" });
286
420
  }
287
421
  isAllowed(flag) {
288
422
  return this._permissions ? this._permissions.isSup || this._permissions[flag] : false;
289
423
  }
290
- buildDataState() {
424
+ buildDataState(actionType) {
425
+ var _a;
291
426
  const selectionInfo = this.dataUnit.getSelectionInfo();
292
427
  const isStartingInsertionMode = (this.dataUnit.hasDirtyRecords() || this.dataUnit.hasWaitingChanges()) && (selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.isEmpty());
428
+ const selectedRecord = this.dataUnit.getSelectedRecord();
429
+ let rowMetadata = (_a = this.dataState) === null || _a === void 0 ? void 0 : _a.rowMetadata;
430
+ const allowedOverwrite = [Action.SELECTION_CHANGED, Action.EDITION_CANCELED, Action.NEXT_SELECTED, Action.PREVIOUS_SELECTED];
431
+ if (selectedRecord && (!rowMetadata || allowedOverwrite.includes(actionType))) {
432
+ rowMetadata = this.doGetRowMetadata(selectedRecord);
433
+ }
434
+ else if (rowMetadata) {
435
+ rowMetadata.getProp = this.buildGetPropRowMetadata(rowMetadata);
436
+ }
293
437
  return new DataStateImpl({
294
438
  insertionMode: this.dataUnit.hasNewRecord(),
295
439
  isStartingInsertionMode,
@@ -300,10 +444,48 @@ export class SnkDataUnit {
300
444
  hasDirtyRecords: this.dataUnit.hasDirtyRecords(),
301
445
  selectedRecords: undefined,
302
446
  selectionInfo,
303
- selectedRecord: this.dataUnit.getSelectedRecord(),
304
- recordsIsEmpty: this.dataUnit.records.length === 0
447
+ selectedRecord,
448
+ recordsIsEmpty: this.dataUnit.records.length === 0,
449
+ metadataByRow: this._metadataByRow,
450
+ rowMetadata
305
451
  });
306
452
  }
453
+ async handleDataSaved(action) {
454
+ const newRowMetadata = await this.handleLoadRowMetadata(action);
455
+ if (newRowMetadata) {
456
+ newRowMetadata.getProp = this.buildGetPropRowMetadata(newRowMetadata);
457
+ }
458
+ const recordId = action.payload.records[0].__record__id__;
459
+ this._metadataByRow.set(recordId, newRowMetadata);
460
+ this.dataState = this.buildDataState();
461
+ if (this.ignoreSaveMessage) {
462
+ return;
463
+ }
464
+ const msg = this.getMessage("snkDataUnit.saveInfo", action.payload.records[0]);
465
+ if (msg != undefined) {
466
+ this.showSuccessMessage(msg);
467
+ }
468
+ }
469
+ handleRecordsRemoved(action) {
470
+ var _a, _b;
471
+ const cachedRecords = action.payload.cachedRecords;
472
+ let removeFinishMsg;
473
+ if ((cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.length) > 1) {
474
+ removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size: cachedRecords.length });
475
+ }
476
+ else {
477
+ removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
478
+ }
479
+ if (removeFinishMsg != undefined) {
480
+ this.showSuccessMessage(removeFinishMsg);
481
+ }
482
+ const recordsCount = (_b = (_a = this.dataUnit.records) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
483
+ const paginationInfo = this.dataUnit.getPaginationInfo();
484
+ if (paginationInfo) {
485
+ const page = recordsCount > 0 || paginationInfo.hasMore ? paginationInfo.currentPage : 0;
486
+ this.dataUnit.gotoPage(page);
487
+ }
488
+ }
307
489
  /**
308
490
  * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
309
491
  * através de um pequeno modulo na estrutura da aplicação:
@@ -338,13 +520,14 @@ export class SnkDataUnit {
338
520
  const cacheName = this.dataUnitName ? this.dataUnitName : this.entityName;
339
521
  if (this._parentSnkDataUnit) {
340
522
  this._parentDataUnit = await ((_a = this._parentSnkDataUnit) === null || _a === void 0 ? void 0 : _a.getDataUnit());
341
- return await this._application.getDataUnit(this.entityName, cacheName, this._parentDataUnit, this.configName, this.resourceID);
523
+ return await this._application.getDataUnit(this.entityName, cacheName, this._parentDataUnit, this.configName, this.resourceID, { skipLoadMetadata: true });
342
524
  }
343
525
  else {
344
- return await this._application.getDataUnit(this.entityName, cacheName, null, this.configName, this.resourceID);
526
+ return await this._application.getDataUnit(this.entityName, cacheName, null, this.configName, this.resourceID, { skipLoadMetadata: true });
345
527
  }
346
528
  }
347
529
  async loadDataUnit() {
530
+ var _a;
348
531
  if (this.dataUnit == null && this._application && this.entityName) {
349
532
  this.dataUnit = await this.getDataUnitParentOrChild();
350
533
  }
@@ -353,6 +536,10 @@ export class SnkDataUnit {
353
536
  this.dataUnit.unsubscribe(this._dataUnitObserver);
354
537
  this.dataUnit.addInterceptor(this);
355
538
  this.dataUnit.subscribe(this._dataUnitObserver);
539
+ await this.dataUnit.loadMetadata();
540
+ if ((_a = this.dataUnit.records) === null || _a === void 0 ? void 0 : _a.length) {
541
+ this.getMetadataByRow(this.dataUnit);
542
+ }
356
543
  this.dataState = this.buildDataState();
357
544
  let resolver;
358
545
  while (resolver = this._onDataUnitResolve.pop()) {
@@ -371,20 +558,40 @@ export class SnkDataUnit {
371
558
  return;
372
559
  }
373
560
  handlerLinkFields() {
374
- var _a, _b;
375
- const metadata = Object.assign({}, this.dataUnit.metadata);
376
- if (!this._parentDataUnit)
561
+ var _a, _b, _c, _d;
562
+ const parentDU = (_a = this._parentDataUnit) !== null && _a !== void 0 ? _a : (_b = this.dataUnit) === null || _b === void 0 ? void 0 : _b.getParentDataUnit();
563
+ if (!parentDU)
377
564
  return;
378
- const child = this._parentDataUnit.getChildInfo(this.entityName);
565
+ const childName = (_c = this.entityName) !== null && _c !== void 0 ? _c : this.getCleanDataUnitName();
566
+ const child = parentDU.getChildInfo(childName);
379
567
  if (!child)
380
568
  return;
381
- const fieldsLink = (_a = child === null || child === void 0 ? void 0 : child.links) === null || _a === void 0 ? void 0 : _a.map(link => link.target);
382
- (_b = metadata === null || metadata === void 0 ? void 0 : metadata.fields) === null || _b === void 0 ? void 0 : _b.forEach(field => {
383
- if (fieldsLink === null || fieldsLink === void 0 ? void 0 : fieldsLink.includes(field.name)) {
569
+ const links = (_d = child === null || child === void 0 ? void 0 : child.links) === null || _d === void 0 ? void 0 : _d.map(link => link.target);
570
+ this.handleDUWithLinks(links);
571
+ }
572
+ handleDUWithLinks(fieldsToLink) {
573
+ this.fieldsToLink = fieldsToLink;
574
+ const metadata = Object.assign({}, this.dataUnit.metadata);
575
+ this.processLinks(metadata);
576
+ this.dataUnit.metadata = metadata;
577
+ this.dataUnitFieldsHidded.emit();
578
+ }
579
+ processLinks(metadata) {
580
+ var _a;
581
+ (_a = metadata === null || metadata === void 0 ? void 0 : metadata.fields) === null || _a === void 0 ? void 0 : _a.forEach(field => {
582
+ var _a;
583
+ if ((_a = this.fieldsToLink) === null || _a === void 0 ? void 0 : _a.includes(field.name)) {
384
584
  field.visible = false;
385
585
  }
386
586
  });
387
- this.dataUnit.metadata = metadata;
587
+ }
588
+ getCleanDataUnitName() {
589
+ var _a;
590
+ const uri = this.dataUnit.name;
591
+ if (StringUtils.isEmpty(uri))
592
+ return uri;
593
+ const matcher = this.REGEX_DATAUNIT_NAME.exec(uri);
594
+ return (_a = matcher === null || matcher === void 0 ? void 0 : matcher[1]) !== null && _a !== void 0 ? _a : uri;
388
595
  }
389
596
  static getNearestInstance(element) {
390
597
  let parent = element.parentElement;
@@ -411,8 +618,9 @@ export class SnkDataUnit {
411
618
  this.dataUnit.releaseCallbacks();
412
619
  }
413
620
  }
414
- componentDidLoad() {
415
- this.loadDataUnit();
621
+ async componentDidLoad() {
622
+ await this.loadDataUnit();
623
+ this.handlerLinkFields();
416
624
  }
417
625
  render() {
418
626
  return (h(Host, null));
@@ -646,6 +854,11 @@ export class SnkDataUnit {
646
854
  }
647
855
  };
648
856
  }
857
+ static get states() {
858
+ return {
859
+ "fieldsToLink": {}
860
+ };
861
+ }
649
862
  static get events() {
650
863
  return [{
651
864
  "method": "dataStateChange",
@@ -706,6 +919,21 @@ export class SnkDataUnit {
706
919
  }
707
920
  }
708
921
  }
922
+ }, {
923
+ "method": "dataUnitFieldsHidded",
924
+ "name": "dataUnitFieldsHidded",
925
+ "bubbles": true,
926
+ "cancelable": true,
927
+ "composed": true,
928
+ "docs": {
929
+ "tags": [],
930
+ "text": "Emitido quando h\u00E1 campos no DataUnit que devem ser ocultados."
931
+ },
932
+ "complexType": {
933
+ "original": "void",
934
+ "resolved": "void",
935
+ "references": {}
936
+ }
709
937
  }, {
710
938
  "method": "insertionMode",
711
939
  "name": "insertionMode",
@@ -774,10 +1002,6 @@ export class SnkDataUnit {
774
1002
  },
775
1003
  "Array": {
776
1004
  "location": "global"
777
- },
778
- "Record": {
779
- "location": "import",
780
- "path": "@sankhyalabs/core"
781
1005
  }
782
1006
  },
783
1007
  "return": "Promise<IRecordID[]>"
@@ -789,6 +1013,64 @@ export class SnkDataUnit {
789
1013
  "text": "Retorna a lista de IDs dos registros selecionados."
790
1014
  }]
791
1015
  }
1016
+ },
1017
+ "getFieldsWithRmp": {
1018
+ "complexType": {
1019
+ "signature": "() => Promise<string[]>",
1020
+ "parameters": [],
1021
+ "references": {
1022
+ "Promise": {
1023
+ "location": "global"
1024
+ }
1025
+ },
1026
+ "return": "Promise<string[]>"
1027
+ },
1028
+ "docs": {
1029
+ "text": "Retorna os campos que possuem a propriedade \"rmp\" (Row Metadata Provider).",
1030
+ "tags": []
1031
+ }
1032
+ },
1033
+ "getFieldsWithRmPrecision": {
1034
+ "complexType": {
1035
+ "signature": "() => Promise<string[]>",
1036
+ "parameters": [],
1037
+ "references": {
1038
+ "Promise": {
1039
+ "location": "global"
1040
+ }
1041
+ },
1042
+ "return": "Promise<string[]>"
1043
+ },
1044
+ "docs": {
1045
+ "text": "Retorna os campos que possuem a propriedade \"rm_precision\" (Row Metadata Precision).",
1046
+ "tags": []
1047
+ }
1048
+ },
1049
+ "getRowMetadata": {
1050
+ "complexType": {
1051
+ "signature": "(record?: Record | string) => Promise<RowMetadata>",
1052
+ "parameters": [{
1053
+ "tags": [],
1054
+ "text": ""
1055
+ }],
1056
+ "references": {
1057
+ "Promise": {
1058
+ "location": "global"
1059
+ },
1060
+ "RowMetadata": {
1061
+ "location": "local"
1062
+ },
1063
+ "Record": {
1064
+ "location": "import",
1065
+ "path": "@sankhyalabs/core"
1066
+ }
1067
+ },
1068
+ "return": "Promise<RowMetadata>"
1069
+ },
1070
+ "docs": {
1071
+ "text": "Busca os metadados da linha selecionada.",
1072
+ "tags": []
1073
+ }
792
1074
  }
793
1075
  };
794
1076
  }
@@ -827,6 +1109,8 @@ class DataStateImpl {
827
1109
  this.selectionInfo = datastate.selectionInfo;
828
1110
  this.selectedRecord = datastate.selectedRecord;
829
1111
  this.recordsIsEmpty = datastate.recordsIsEmpty;
1112
+ this.metadataByRow = datastate.metadataByRow;
1113
+ this.rowMetadata = datastate.rowMetadata;
830
1114
  }
831
1115
  get selectedRecords() {
832
1116
  var _a;