@sankhyalabs/sankhyablocks 8.16.0-dev.10 → 8.16.0-dev.100

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 (422) hide show
  1. package/dist/cjs/ClientSideExporterProvider-5fff8770.js +372 -0
  2. package/dist/cjs/{ConfigStorage-a343e418.js → ConfigStorage-df09fb78.js} +2 -2
  3. package/dist/cjs/{DataFetcher-313debd8.js → DataFetcher-1afdb18e.js} +231 -79
  4. package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
  5. package/dist/cjs/IFetchDataExporterParams-e78ec415.js +8 -0
  6. package/dist/cjs/ISave-c76e2c51.js +397 -0
  7. package/dist/cjs/{SnkFormConfigManager-166cbd1f.js → SnkFormConfigManager-45a8d7b7.js} +75 -17
  8. package/dist/cjs/{SnkMessageBuilder-897ffd08.js → SnkMessageBuilder-bae64d0d.js} +6 -2
  9. package/dist/cjs/{auth-fetcher-54f5ff9d.js → auth-fetcher-1687ac0a.js} +1 -1
  10. package/dist/cjs/{constants-35ddd366.js → constants-77c1b8bd.js} +10 -0
  11. package/dist/cjs/{dataunit-fetcher-688d3f05.js → dataunit-fetcher-4a5d491a.js} +220 -173
  12. package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
  13. package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-40d3f752.js} +56 -2
  14. package/dist/cjs/{index-1dfc7a6e.js → index-e3e39724.js} +5 -0
  15. package/dist/cjs/index-f9e81701.js +16 -32
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +155 -0
  18. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  19. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_7.cjs.entry.js} +201 -44
  20. package/dist/cjs/snk-application.cjs.entry.js +468 -74
  21. package/dist/cjs/snk-attach.cjs.entry.js +49 -37
  22. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +401 -13
  23. package/dist/cjs/snk-configurator.cjs.entry.js +10 -3
  24. package/dist/cjs/snk-crud.cjs.entry.js +24 -23
  25. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -30
  26. package/dist/cjs/{snk-data-unit-8fa7917a.js → snk-data-unit-4b510d6e.js} +55 -31
  27. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  28. package/dist/cjs/snk-detail-view.cjs.entry.js +17 -17
  29. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  30. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  31. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1438 -0
  32. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  34. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  35. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  36. package/dist/cjs/snk-filter-search.cjs.entry.js +18 -5
  37. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  38. package/dist/cjs/snk-grid.cjs.entry.js +96 -28
  39. package/dist/cjs/{snk-guides-viewer-9c682034.js → snk-guides-viewer-e8e5f7b4.js} +27 -17
  40. package/dist/cjs/snk-guides-viewer.cjs.entry.js +11 -12
  41. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  42. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  43. package/dist/cjs/snk-pesquisa.cjs.entry.js +110 -31
  44. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  45. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  46. package/dist/cjs/snk-simple-crud.cjs.entry.js +116 -113
  47. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  48. package/dist/cjs/snk-taskbar.cjs.entry.js +72 -40
  49. package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-7e19882d.js} +1 -1
  50. package/dist/collection/collection-manifest.json +16 -31
  51. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  52. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  53. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  54. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +5 -2
  55. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  56. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  57. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  58. package/dist/collection/components/snk-application/search-strategy/exec-prepared-search-plus.js +107 -0
  59. package/dist/collection/components/snk-application/snk-application.css +36 -0
  60. package/dist/collection/components/snk-application/snk-application.js +447 -67
  61. package/dist/collection/components/snk-attach/snk-attach.js +25 -16
  62. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  63. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -5
  64. package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
  65. package/dist/collection/components/snk-configurator/snk-configurator.js +26 -1
  66. package/dist/collection/components/snk-crud/snk-crud.js +129 -14
  67. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +10 -1
  68. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +27 -3
  69. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  70. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +52 -6
  71. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  72. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +8 -8
  73. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  74. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +41 -10
  75. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +18 -6
  76. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  77. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +10 -9
  78. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  79. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  80. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  81. package/dist/collection/components/snk-data-unit/snk-data-unit.js +53 -29
  82. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
  83. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  84. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  85. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
  86. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +18 -5
  87. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  88. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  89. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  90. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  91. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +10 -4
  92. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  93. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  94. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -6
  95. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
  96. package/dist/collection/components/snk-form/snk-form.js +2 -2
  97. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
  98. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  99. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  100. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.js +5 -3
  101. package/dist/collection/components/snk-grid/snk-grid.css +8 -0
  102. package/dist/collection/components/snk-grid/snk-grid.js +199 -13
  103. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  104. package/dist/collection/components/snk-grid-config/snk-grid-config.js +2 -0
  105. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +3 -0
  106. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +73 -0
  107. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +78 -0
  108. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +57 -0
  109. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  110. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  111. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  112. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  113. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  114. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  115. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +174 -32
  116. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  117. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  118. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  119. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +199 -34
  120. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  121. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  122. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  123. package/dist/collection/components/snk-taskbar/snk-taskbar.js +112 -38
  124. package/dist/collection/lib/@types/index.js +5 -0
  125. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
  126. package/dist/collection/lib/configs/LayoutFormConfig.js +25 -0
  127. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -103
  128. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -32
  129. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +44 -24
  130. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  131. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  132. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  133. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  134. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +23 -14
  135. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  136. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +59 -5
  137. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  138. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +133 -9
  139. package/dist/collection/lib/index.js +1 -0
  140. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  141. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  142. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  143. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  144. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  145. package/dist/collection/lib/utils/constants.js +10 -0
  146. package/dist/collection/sw.js +46 -0
  147. package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +176 -33
  148. package/dist/components/DataFetcher.js +232 -80
  149. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  150. package/dist/components/ISave.js +391 -1
  151. package/dist/components/SnkFormConfigManager.js +73 -15
  152. package/dist/components/SnkMessageBuilder.js +6 -2
  153. package/dist/components/constants.js +11 -1
  154. package/dist/components/dataunit-fetcher.js +238 -188
  155. package/dist/components/form-config-fetcher.js +55 -1
  156. package/dist/components/index.d.ts +5 -0
  157. package/dist/components/index.js +5 -0
  158. package/dist/components/pesquisa-grid.d.ts +11 -0
  159. package/dist/components/pesquisa-grid.js +6 -0
  160. package/dist/components/pesquisa-grid2.js +102 -0
  161. package/dist/components/pesquisa-tree.d.ts +11 -0
  162. package/dist/components/pesquisa-tree.js +6 -0
  163. package/dist/components/pesquisa-tree2.js +91 -0
  164. package/dist/components/snk-actions-button2.js +44 -40
  165. package/dist/components/snk-application2.js +491 -72
  166. package/dist/components/snk-attach2.js +61 -55
  167. package/dist/components/snk-config-options2.js +6 -4
  168. package/dist/components/snk-configurator2.js +23 -3
  169. package/dist/components/snk-crud.js +100 -75
  170. package/dist/components/snk-data-exporter2.js +37 -23
  171. package/dist/components/snk-data-unit2.js +56 -69
  172. package/dist/components/snk-detail-view2.js +136 -109
  173. package/dist/components/snk-exporter-email-sender2.js +1 -1
  174. package/dist/components/snk-filter-bar2.js +68 -34
  175. package/dist/components/snk-filter-binary-select.js +1 -1
  176. package/dist/components/snk-filter-checkbox-list.js +1 -1
  177. package/dist/components/snk-filter-item2.js +10 -4
  178. package/dist/components/snk-filter-modal.js +4 -2
  179. package/dist/components/snk-filter-number.js +1 -1
  180. package/dist/components/snk-filter-search.js +18 -5
  181. package/dist/components/snk-filter-text.js +2 -1
  182. package/dist/components/snk-form-config2.js +35 -10
  183. package/dist/components/snk-form.js +2 -2
  184. package/dist/components/snk-grid-config2.js +3 -1
  185. package/dist/components/snk-grid2.js +92 -18
  186. package/dist/components/snk-layout-form-config.d.ts +11 -0
  187. package/dist/components/snk-layout-form-config.js +6 -0
  188. package/dist/components/snk-layout-form-config2.js +73 -0
  189. package/dist/components/snk-personalized-filter-editor.js +4 -4
  190. package/dist/components/snk-pesquisa2.js +125 -33
  191. package/dist/components/snk-print-selector.js +1 -1
  192. package/dist/components/snk-simple-bar2.js +1 -1
  193. package/dist/components/snk-simple-crud2.js +112 -111
  194. package/dist/components/snk-simple-form-config.d.ts +11 -0
  195. package/dist/components/snk-simple-form-config.js +6 -0
  196. package/dist/components/snk-simple-form-config2.js +121 -0
  197. package/dist/components/snk-tab-config2.js +1 -1
  198. package/dist/components/snk-taskbar2.js +72 -40
  199. package/dist/components/snk-view-representation.d.ts +11 -0
  200. package/dist/components/snk-view-representation.js +6 -0
  201. package/dist/components/snk-view-representation2.js +41 -0
  202. package/dist/components/teste-pesquisa.js +13 -1
  203. package/dist/esm/ClientSideExporterProvider-da9935ed.js +361 -0
  204. package/dist/esm/{ConfigStorage-3806514e.js → ConfigStorage-71e6766f.js} +2 -2
  205. package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-88e56266.js} +232 -80
  206. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  207. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  208. package/dist/esm/ISave-5efafc97.js +394 -0
  209. package/dist/esm/{SnkFormConfigManager-31b24066.js → SnkFormConfigManager-be490a33.js} +75 -17
  210. package/dist/esm/{SnkMessageBuilder-571462fb.js → SnkMessageBuilder-6fff4a4c.js} +6 -2
  211. package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-3510520e.js} +1 -1
  212. package/dist/esm/{constants-8457af36.js → constants-7db1128a.js} +11 -1
  213. package/dist/esm/{dataunit-fetcher-264191b2.js → dataunit-fetcher-1d02ecfc.js} +222 -172
  214. package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
  215. package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-fa208a6c.js} +56 -2
  216. package/dist/esm/index-a7d3d3f1.js +16 -32
  217. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  218. package/dist/esm/loader.js +1 -1
  219. package/dist/esm/pesquisa-grid_2.entry.js +150 -0
  220. package/dist/esm/sankhyablocks.js +1 -1
  221. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_7.entry.js} +201 -47
  222. package/dist/esm/snk-application.entry.js +469 -75
  223. package/dist/esm/snk-attach.entry.js +50 -38
  224. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +401 -15
  225. package/dist/esm/snk-configurator.entry.js +10 -3
  226. package/dist/esm/snk-crud.entry.js +24 -23
  227. package/dist/esm/snk-data-exporter.entry.js +38 -30
  228. package/dist/esm/{snk-data-unit-f5cbe64b.js → snk-data-unit-7d0ce406.js} +55 -31
  229. package/dist/esm/snk-data-unit.entry.js +5 -5
  230. package/dist/esm/snk-detail-view.entry.js +17 -17
  231. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  232. package/dist/esm/snk-field-config.entry.js +1 -1
  233. package/dist/esm/snk-filter-bar_4.entry.js +1431 -0
  234. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  235. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  236. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  237. package/dist/esm/snk-filter-number.entry.js +1 -1
  238. package/dist/esm/snk-filter-search.entry.js +18 -5
  239. package/dist/esm/snk-filter-text.entry.js +2 -1
  240. package/dist/esm/snk-grid.entry.js +91 -23
  241. package/dist/esm/{snk-guides-viewer-8f6960a2.js → snk-guides-viewer-c44b3839.js} +27 -17
  242. package/dist/esm/snk-guides-viewer.entry.js +11 -12
  243. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  244. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  245. package/dist/esm/snk-pesquisa.entry.js +110 -31
  246. package/dist/esm/snk-print-selector.entry.js +1 -1
  247. package/dist/esm/snk-simple-bar.entry.js +1 -1
  248. package/dist/esm/snk-simple-crud.entry.js +102 -99
  249. package/dist/esm/snk-tab-config.entry.js +1 -1
  250. package/dist/esm/snk-taskbar.entry.js +73 -41
  251. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-d2353c64.js} +1 -1
  252. package/dist/sankhyablocks/p-00796b12.entry.js +1 -0
  253. package/dist/sankhyablocks/{p-52920496.js → p-03b68a74.js} +1 -1
  254. package/dist/sankhyablocks/p-092078e3.entry.js +1 -0
  255. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  256. package/dist/sankhyablocks/{p-47db7e88.entry.js → p-165cde3b.entry.js} +1 -1
  257. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  258. package/dist/sankhyablocks/p-17425c72.js +1 -0
  259. package/dist/sankhyablocks/p-23736d75.js +1 -0
  260. package/dist/sankhyablocks/p-35f85998.entry.js +1 -0
  261. package/dist/sankhyablocks/{p-95df461f.entry.js → p-3749dffb.entry.js} +1 -1
  262. package/dist/sankhyablocks/p-38e3ffda.entry.js +1 -0
  263. package/dist/sankhyablocks/p-3b190fb1.entry.js +1 -0
  264. package/dist/sankhyablocks/{p-7e7a7473.js → p-3fc82614.js} +1 -1
  265. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  266. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  267. package/dist/sankhyablocks/{p-2c68b3ae.entry.js → p-490b75b5.entry.js} +1 -1
  268. package/dist/sankhyablocks/p-4ad638be.js +1 -0
  269. package/dist/sankhyablocks/p-5503e89f.entry.js +1 -0
  270. package/dist/sankhyablocks/p-5cc206bb.entry.js +1 -0
  271. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  272. package/dist/sankhyablocks/p-5ffa0493.entry.js +1 -0
  273. package/dist/sankhyablocks/p-60137b7a.entry.js +1 -0
  274. package/dist/sankhyablocks/p-601b252b.js +26 -0
  275. package/dist/sankhyablocks/p-6293ded9.entry.js +11 -0
  276. package/dist/sankhyablocks/p-6dd38d7b.js +6 -0
  277. package/dist/sankhyablocks/p-6e0a5314.js +1 -0
  278. package/dist/sankhyablocks/{p-913a9979.js → p-73285a8a.js} +1 -1
  279. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  280. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  281. package/dist/sankhyablocks/p-893b9483.entry.js +1 -0
  282. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  283. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  284. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  285. package/dist/sankhyablocks/p-90684a75.entry.js +1 -0
  286. package/dist/sankhyablocks/{p-b0ef4383.js → p-9261d8a0.js} +1 -1
  287. package/dist/sankhyablocks/p-92778d5a.js +1 -0
  288. package/dist/sankhyablocks/p-a8be1d67.js +60 -0
  289. package/dist/sankhyablocks/p-a962a3e4.entry.js +1 -0
  290. package/dist/sankhyablocks/p-b2a2a83e.entry.js +1 -0
  291. package/dist/sankhyablocks/p-b6200d32.entry.js +1 -0
  292. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-c0eb761b.entry.js} +1 -1
  293. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  294. package/dist/sankhyablocks/p-d9fdb018.entry.js +1 -0
  295. package/dist/sankhyablocks/p-ebdb9d89.js +1 -0
  296. package/dist/sankhyablocks/p-ef6f0a1b.entry.js +1 -0
  297. package/dist/sankhyablocks/p-fbba7e3d.js +1 -0
  298. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  299. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  300. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  301. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  302. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  303. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  304. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  305. package/dist/types/components/snk-application/search-strategy/exec-prepared-search-plus.d.ts +5 -0
  306. package/dist/types/components/snk-application/snk-application.d.ts +55 -16
  307. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  308. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  309. package/dist/types/components/snk-crud/snk-crud.d.ts +25 -0
  310. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +5 -0
  311. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +10 -0
  312. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  313. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  314. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +9 -1
  315. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  316. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  317. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  318. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  319. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +2 -0
  320. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +5 -3
  321. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  322. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  323. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  324. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  325. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  326. package/dist/types/components/snk-grid/snk-grid.d.ts +33 -0
  327. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +1 -0
  328. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
  329. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -0
  330. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  331. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  332. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  333. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +35 -1
  334. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +31 -3
  335. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  336. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  337. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
  338. package/dist/types/components.d.ts +473 -16
  339. package/dist/types/lib/@types/index.d.ts +4 -0
  340. package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
  341. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  342. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  343. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  344. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  345. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  346. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  347. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  348. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  349. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  350. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  351. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  352. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +14 -2
  353. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  354. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +21 -2
  355. package/dist/types/lib/index.d.ts +1 -0
  356. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  357. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  358. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  359. package/dist/types/lib/utils/constants.d.ts +8 -0
  360. package/package.json +4 -3
  361. package/react/components.d.ts +5 -0
  362. package/react/components.js +5 -0
  363. package/react/components.js.map +1 -1
  364. package/dist/cjs/IExporterProvider-597949f9.js +0 -230
  365. package/dist/cjs/ISave-e91b70a7.js +0 -9
  366. package/dist/cjs/pesquisa-fetcher-680e198f.js +0 -166
  367. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  368. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  369. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  370. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  371. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  372. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  373. package/dist/components/pesquisa-fetcher.js +0 -164
  374. package/dist/esm/IExporterProvider-63a188b6.js +0 -221
  375. package/dist/esm/ISave-d8c8bc59.js +0 -9
  376. package/dist/esm/pesquisa-fetcher-03c8f919.js +0 -164
  377. package/dist/esm/snk-config-options.entry.js +0 -235
  378. package/dist/esm/snk-filter-bar.entry.js +0 -710
  379. package/dist/esm/snk-filter-item.entry.js +0 -308
  380. package/dist/esm/snk-filter-list.entry.js +0 -148
  381. package/dist/esm/snk-filter-modal.entry.js +0 -245
  382. package/dist/esm/snk-form.entry.js +0 -139
  383. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  384. package/dist/sankhyablocks/p-17def7cd.js +0 -1
  385. package/dist/sankhyablocks/p-21749402.js +0 -1
  386. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  387. package/dist/sankhyablocks/p-28ee0972.js +0 -1
  388. package/dist/sankhyablocks/p-2a408684.js +0 -1
  389. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  390. package/dist/sankhyablocks/p-3a212712.js +0 -1
  391. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  392. package/dist/sankhyablocks/p-450c60e4.entry.js +0 -1
  393. package/dist/sankhyablocks/p-4e5e1313.entry.js +0 -1
  394. package/dist/sankhyablocks/p-62ba211a.entry.js +0 -1
  395. package/dist/sankhyablocks/p-6bb2f3e9.entry.js +0 -1
  396. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  397. package/dist/sankhyablocks/p-7505da04.entry.js +0 -1
  398. package/dist/sankhyablocks/p-7619bdb1.entry.js +0 -11
  399. package/dist/sankhyablocks/p-7663f597.entry.js +0 -1
  400. package/dist/sankhyablocks/p-7a85fd49.entry.js +0 -1
  401. package/dist/sankhyablocks/p-7ef9c55c.js +0 -1
  402. package/dist/sankhyablocks/p-80042dc6.entry.js +0 -1
  403. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  404. package/dist/sankhyablocks/p-8c59edd7.entry.js +0 -1
  405. package/dist/sankhyablocks/p-9606509c.entry.js +0 -1
  406. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  407. package/dist/sankhyablocks/p-9863d682.js +0 -1
  408. package/dist/sankhyablocks/p-ae93d46a.entry.js +0 -1
  409. package/dist/sankhyablocks/p-af8efd95.js +0 -6
  410. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  411. package/dist/sankhyablocks/p-c2495304.js +0 -1
  412. package/dist/sankhyablocks/p-c8622597.entry.js +0 -1
  413. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  414. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  415. package/dist/sankhyablocks/p-d6e26ea8.entry.js +0 -1
  416. package/dist/sankhyablocks/p-dc7c9047.js +0 -1
  417. package/dist/sankhyablocks/p-df5451c7.js +0 -26
  418. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  419. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  420. package/dist/sankhyablocks/p-f4450320.entry.js +0 -1
  421. package/dist/sankhyablocks/p-fe79f83a.js +0 -60
  422. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
@@ -27,6 +27,8 @@ export class SnkGuidesViewer {
27
27
  this.resourceID = undefined;
28
28
  this.detailTaskbarCustomContainerId = undefined;
29
29
  this.formLegacyConfigName = undefined;
30
+ this.enableGridInsert = false;
31
+ this.ignoreReadOnlyFormFields = undefined;
30
32
  this.getCustomTitle = undefined;
31
33
  this._hasToCreateFieldSearch = true;
32
34
  this._breadcrumbItems = [];
@@ -96,7 +98,7 @@ export class SnkGuidesViewer {
96
98
  this._container.focus();
97
99
  }
98
100
  exitViewer() {
99
- if (this.dataUnit.isDirty()) {
101
+ if (!this.enableGridInsert && this.dataUnit.isDirty()) {
100
102
  this.dataUnit.cancelEdition({ after: () => this.exit.emit() });
101
103
  }
102
104
  else {
@@ -205,10 +207,13 @@ export class SnkGuidesViewer {
205
207
  const invisibleButtons = this.getInvisibleButtons();
206
208
  this._taskbarProcessor = new TaskbarProcessor({
207
209
  "snkGuideViewer.regular": btnsRegularMode,
208
- "snkGuideViewer.finish_edition": ["CANCEL", "SAVE"],
210
+ "snkGuideViewer.finish_edition": ["CANCEL", "SAVE", this.handleAddGridMode()],
209
211
  });
210
212
  this._taskbarProcessor.process(taskbarId, this.taskbarManager, this.dataState, disabledButtons, invisibleButtons);
211
213
  }
214
+ handleAddGridMode() {
215
+ return this.enableGridInsert ? TaskbarElement.GRID_MODE : "";
216
+ }
212
217
  getInvisibleButtons() {
213
218
  const invisibleButtons = [];
214
219
  if (this.dataState && this.dataState.selectionInfo.mode === SelectionMode.ALL_RECORDS)
@@ -279,7 +284,7 @@ export class SnkGuidesViewer {
279
284
  else {
280
285
  detailBranch = this.selectedGuide;
281
286
  }
282
- content = this.wrapDetail(levels, h("snk-detail-view", { ref: (ref) => this._currentDetail = ref, dataUnitName: this.getDataUnitName(levels, childEntityName), onSnkDetailGuidesChange: (evt) => this.updateGuide(evt.detail), entityName: childEntityName, selectedForm: formName, branchGuide: detailBranch, guideItemPath: this._breadcrumbItems, key: `detail${detailId}`, canEdit: this.canEdit, onSnkSwitchGuide: evt => this._guideNavigator.selectGuide(evt.detail), resourceID: this.resourceID, taskbarCustomContainerId: this.detailTaskbarCustomContainerId, customEditors: this._customEditors, customRenders: this._customRenders }));
287
+ content = this.wrapDetail(levels, h("snk-detail-view", { ref: (ref) => this._currentDetail = ref, dataUnitName: this.getDataUnitName(levels, childEntityName), onSnkDetailGuidesChange: (evt) => this.updateGuide(evt.detail), entityName: childEntityName, selectedForm: formName, branchGuide: detailBranch, guideItemPath: this._breadcrumbItems, key: `detail${detailId}`, canEdit: this.canEdit, onSnkSwitchGuide: evt => this._guideNavigator.selectGuide(evt.detail), resourceID: this.resourceID, taskbarCustomContainerId: this.detailTaskbarCustomContainerId, customEditors: this._customEditors, customRenders: this._customRenders, presentationMode: this.presentationMode }));
283
288
  }
284
289
  else {
285
290
  const cardId = this.selectedGuide.id;
@@ -361,11 +366,14 @@ export class SnkGuidesViewer {
361
366
  this._configManager.addFormLegacyConfig(this.formLegacyConfigName);
362
367
  }
363
368
  }
369
+ setMasterFormConfig(config) {
370
+ this.masterFormConfig = config;
371
+ }
364
372
  componentWillLoad() {
365
373
  if (this.resourceID == undefined) {
366
374
  throw new Error("Erro interno: resourceID não informado");
367
375
  }
368
- this._configManager = new SnkFormConfigManager(this.configName, this.resourceID, config => this.masterFormConfig = config);
376
+ this._configManager = new SnkFormConfigManager(this.configName, this.resourceID, this.setMasterFormConfig.bind(this), this.dataUnit);
369
377
  this.addFormLegacyConfigName();
370
378
  this._configManager.loadConfig();
371
379
  }
@@ -393,7 +401,7 @@ export class SnkGuidesViewer {
393
401
  return this._fieldSearch;
394
402
  }
395
403
  fieldsOptionLoader(argument) {
396
- return Promise.resolve(this._configManager.getFieldsList(this.dataUnit, argument)
404
+ return Promise.resolve(this._configManager.getFieldsList(argument)
397
405
  .map(field => ({ value: field.name, label: field.label })));
398
406
  }
399
407
  onSelectField(option, actionButton) {
@@ -431,6 +439,9 @@ export class SnkGuidesViewer {
431
439
  await this.addErrorBadgeToGuide(guideName);
432
440
  await this.openGuideNavigator(guideName);
433
441
  }
442
+ if (action.type === DUAction.METADATA_LOADED) {
443
+ this.loadGuides(this.noGuideSelected());
444
+ }
434
445
  }
435
446
  async addErrorBadgeToGuide(guideName) {
436
447
  var _a;
@@ -475,7 +486,7 @@ export class SnkGuidesViewer {
475
486
  render() {
476
487
  var _a, _b;
477
488
  if (this._formEditorConfigManager != undefined) {
478
- return (h("snk-form-config", { ref: ref => this._container = ref, tabindex: -1, dataUnit: this._formEditorDataUnit, messagesBuilder: this.messagesBuilder, configManager: this._formEditorConfigManager, onConfigClose: () => this._formEditorConfigManager = null }));
489
+ return (h("snk-form-config", { ref: ref => this._container = ref, tabindex: -1, dataUnit: this._formEditorDataUnit, messagesBuilder: this.messagesBuilder, configManager: this._formEditorConfigManager, onConfigClose: () => this._formEditorConfigManager = null, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields }));
479
490
  }
480
491
  if (!this.dataUnit || !this._configManager.isLoaded) {
481
492
  return;
@@ -800,6 +811,41 @@ export class SnkGuidesViewer {
800
811
  "attribute": "form-legacy-config-name",
801
812
  "reflect": false
802
813
  },
814
+ "enableGridInsert": {
815
+ "type": "boolean",
816
+ "mutable": false,
817
+ "complexType": {
818
+ "original": "boolean",
819
+ "resolved": "boolean",
820
+ "references": {}
821
+ },
822
+ "required": false,
823
+ "optional": true,
824
+ "docs": {
825
+ "tags": [],
826
+ "text": "Ativa inser\u00E7\u00E3o de registros no modo grade."
827
+ },
828
+ "attribute": "enable-grid-insert",
829
+ "reflect": false,
830
+ "defaultValue": "false"
831
+ },
832
+ "ignoreReadOnlyFormFields": {
833
+ "type": "boolean",
834
+ "mutable": false,
835
+ "complexType": {
836
+ "original": "boolean",
837
+ "resolved": "boolean",
838
+ "references": {}
839
+ },
840
+ "required": false,
841
+ "optional": true,
842
+ "docs": {
843
+ "tags": [],
844
+ "text": "Ignora os campos \"somente leitura\" no modo de inser\u00E7\u00E3o."
845
+ },
846
+ "attribute": "ignore-read-only-form-fields",
847
+ "reflect": false
848
+ },
803
849
  "getCustomTitle": {
804
850
  "type": "unknown",
805
851
  "mutable": false,
@@ -4,7 +4,7 @@ export const OptionsStep = ({ getMessage, changeInfo, data }) => {
4
4
  const selectionCount = (data === null || data === void 0 ? void 0 : data.selectedRows) || 0;
5
5
  const formatOptions = [
6
6
  { label: getMessage("snkExporter.emailSenderOptStep_formatPDF"), value: "pdf" },
7
- { label: getMessage("snkExporter.emailSenderOptStep_formatXLSX"), value: "xlsx" }
7
+ { label: getMessage("snkExporter.emailSenderOptStep_formatXLS"), value: "xls" }
8
8
  ];
9
9
  const typeOptions = [
10
10
  { label: getMessage("snkExporter.emailSenderOptStep_allData"), value: "all" },
@@ -1,7 +1,6 @@
1
1
  import { UserInterface } from "@sankhyalabs/core";
2
2
  import { DataFetcher } from "../../../lib";
3
3
  import { getOptionKey, getVisibleColumns } from "../utils/ParserExport";
4
- import { DataExporterType } from "../../../lib/@types";
5
4
  export default class ClientSideExporterStrategy {
6
5
  constructor(provider) {
7
6
  this._provider = provider;
@@ -12,15 +11,16 @@ export default class ClientSideExporterStrategy {
12
11
  return visibleColumns;
13
12
  }
14
13
  async executeExport(resolveProps) {
15
- const { methodName, titleGrid } = resolveProps;
16
- const records = await this._provider.getRecords();
17
- const columns = [DataExporterType.EXPORT_TO_PDF, DataExporterType.EXPORT_PAGE_TO_PDF, DataExporterType.EXPORT_PDF_TO_EMAIL, DataExporterType.EXPORT_ALL_RECORDS_TO_PDF].includes(getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
14
+ var _a;
15
+ const { methodName, gridTitle } = resolveProps;
16
+ const records = await this._provider.getRecords(resolveProps.type);
17
+ const columns = ((_a = getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) === null || _a === void 0 ? void 0 : _a.includes("PDF")) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
18
18
  const [serviceName, processor] = this.getExecutor(methodName);
19
19
  const payload = {
20
20
  serviceName,
21
21
  requestBody: {
22
22
  grid: {
23
- titleGrid,
23
+ gridTitle,
24
24
  columns: this.buildColumnsObject(columns),
25
25
  rows: this.buildRowsObject(columns, records),
26
26
  customOptions: { xlsxExtension: false }
@@ -51,10 +51,10 @@ export default class ClientSideExporterStrategy {
51
51
  "GridXLSBuilderSP.buildXLSFromJson",
52
52
  responseBody => ({
53
53
  fileSessionKey: responseBody.chaveXLS.valor,
54
- canPrint: false,
55
- canExport: false,
54
+ canPrint: true,
55
+ canExport: true,
56
+ canSendEmail: true,
56
57
  useAppPrint: false,
57
- canSendEmail: false
58
58
  })
59
59
  ];
60
60
  }
@@ -12,7 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  };
13
13
  import { ApplicationContext, ObjectUtils } from "@sankhyalabs/core";
14
14
  import { DataFetcher } from '../../../lib/http/data-fetcher/DataFetcher';
15
- import { DataExporterOption, DataExporterType } from "../../../lib/@types";
15
+ import { DataExporterOption } from "../../../lib/@types";
16
16
  import { getOptionKey, getVisibleColumns } from "../utils/ParserExport";
17
17
  export default class ServerSideExporterStrategy {
18
18
  constructor(provider) {
@@ -23,10 +23,17 @@ export default class ServerSideExporterStrategy {
23
23
  const visibleColumns = getVisibleColumns(columns);
24
24
  return visibleColumns;
25
25
  }
26
+ async getColumns(resolveProps) {
27
+ var _a;
28
+ if ((_a = getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) === null || _a === void 0 ? void 0 : _a.includes("PDF")) {
29
+ return await this.getParsedColumns();
30
+ }
31
+ return await this._provider.getColumnsMetadata();
32
+ }
26
33
  async getParams(resolveProps) {
27
34
  var _a, _b, _c, _d, _e, _f;
28
35
  const filters = (_b = (_a = this._provider).getFilters) === null || _b === void 0 ? void 0 : _b.call(_a);
29
- const columns = [DataExporterType.EXPORT_TO_PDF, DataExporterType.EXPORT_PAGE_TO_PDF, DataExporterType.EXPORT_PDF_TO_EMAIL, DataExporterType.EXPORT_ALL_RECORDS_TO_PDF].includes(getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
36
+ const columns = await this.getColumns(resolveProps);
30
37
  const sort = (_d = (_c = this._provider).getOrders) === null || _d === void 0 ? void 0 : _d.call(_c);
31
38
  const resourceURI = (_f = (_e = this._provider).getResourceURI) === null || _f === void 0 ? void 0 : _f.call(_e);
32
39
  const selectedIDs = this._provider.getSelectedIDs();
@@ -2,6 +2,9 @@ import { UserInterface } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMeta
2
2
  import { DataType } from '@sankhyalabs/core';
3
3
  export class CommonsExporter {
4
4
  constructor(dataUnit, grid) {
5
+ this.MAX_WIDTH_COD = 60;
6
+ this.MIN_WIDTH_COD = 10;
7
+ this.DEFAULT_FONT_SIZE = 13;
5
8
  this.dataUnit = dataUnit;
6
9
  this.grid = grid;
7
10
  }
@@ -14,7 +17,7 @@ export class CommonsExporter {
14
17
  return this.columnsState;
15
18
  }
16
19
  async buildColumnsMetadata(gridColumns) {
17
- var _a, _b;
20
+ var _a, _b, _c;
18
21
  const columnsMetadata = [];
19
22
  for (const column of gridColumns) {
20
23
  /**
@@ -25,30 +28,58 @@ export class CommonsExporter {
25
28
  }
26
29
  const fieldData = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(column.name);
27
30
  const customFormatter = await this.grid.getCustomValueFormatter(column.name);
28
- const columnData = {
29
- label: column.label,
31
+ const isUserInterfaceSEARCH = (fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface) === UserInterface.SEARCH;
32
+ const widthColumnDefault = 60;
33
+ const labelColumn = isUserInterfaceSEARCH ? "Cód. " : column.label;
34
+ let descriptionColumn = undefined;
35
+ let columnData = {
30
36
  id: column.name,
31
- width: column.width,
37
+ label: labelColumn,
38
+ width: isUserInterfaceSEARCH ? (labelColumn.length * this.DEFAULT_FONT_SIZE) : column.width,
32
39
  type: fieldData === null || fieldData === void 0 ? void 0 : fieldData.dataType,
33
40
  userInterface: fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface,
34
41
  customFormatter
35
42
  };
36
- columnsMetadata.push(columnData);
37
- if (((_b = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties) === null || _b === void 0 ? void 0 : _b.DESCRIPTIONFIELD) != undefined) {
43
+ if (isUserInterfaceSEARCH && ((_b = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties) === null || _b === void 0 ? void 0 : _b.DESCRIPTIONFIELD) != undefined) {
44
+ const labelDescription = (_c = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties) === null || _c === void 0 ? void 0 : _c.DESCRIPTIONENTITY;
38
45
  const mergedFrom = fieldData.properties.mergedFrom;
39
46
  const descriptionField = `${fieldData.properties.ENTITYNAME}.${fieldData.properties.DESCRIPTIONFIELD}`;
40
- const descriptionColumn = {
41
- label: fieldData.properties.DESCRIPTIONENTITY,
47
+ descriptionColumn = {
42
48
  id: `${mergedFrom ? (mergedFrom + ".") : ""}${descriptionField}`,
43
- width: column.width,
49
+ label: labelDescription,
50
+ width: isUserInterfaceSEARCH && labelDescription ? (labelDescription.length * this.DEFAULT_FONT_SIZE - widthColumnDefault) : column.width,
44
51
  type: DataType.TEXT,
45
52
  userInterface: UserInterface.LONGTEXT,
46
53
  descriptionFrom: fieldData.name
47
54
  };
48
- columnsMetadata.push(descriptionColumn);
55
+ const newWidth = this.getWidthByMetaData(column === null || column === void 0 ? void 0 : column.width, columnData === null || columnData === void 0 ? void 0 : columnData.width, descriptionColumn === null || descriptionColumn === void 0 ? void 0 : descriptionColumn.width);
56
+ columnData = Object.assign(Object.assign({}, columnData), { width: newWidth === null || newWidth === void 0 ? void 0 : newWidth.codWidth });
57
+ descriptionColumn = Object.assign(Object.assign({}, descriptionColumn), { width: newWidth === null || newWidth === void 0 ? void 0 : newWidth.descWidth, label: (descriptionColumn === null || descriptionColumn === void 0 ? void 0 : descriptionColumn.label) || (column === null || column === void 0 ? void 0 : column.label) });
49
58
  }
59
+ columnsMetadata.push(columnData);
60
+ if (descriptionColumn)
61
+ columnsMetadata.push(descriptionColumn);
50
62
  }
51
63
  ;
52
64
  return columnsMetadata || [];
53
65
  }
66
+ getWidthByMetaData(maxWidth, widthCod, widthDescription) {
67
+ const totalCurrentWidth = widthCod + widthDescription;
68
+ const codPercentage = widthCod / totalCurrentWidth;
69
+ const descPercentage = widthDescription / totalCurrentWidth;
70
+ let newWidthCod = Math.round(maxWidth * codPercentage);
71
+ let newWidthDescription = Math.round(maxWidth * descPercentage);
72
+ if (newWidthCod > this.MAX_WIDTH_COD) {
73
+ newWidthCod = this.MAX_WIDTH_COD;
74
+ newWidthDescription = maxWidth - this.MAX_WIDTH_COD;
75
+ }
76
+ else if (newWidthCod < this.MIN_WIDTH_COD) {
77
+ newWidthCod = this.MIN_WIDTH_COD;
78
+ newWidthDescription = maxWidth - this.MIN_WIDTH_COD;
79
+ }
80
+ return {
81
+ codWidth: newWidthCod,
82
+ descWidth: newWidthDescription
83
+ };
84
+ }
54
85
  }
@@ -1,7 +1,8 @@
1
1
  import { CommonsExporter } from "../interfaces/IExporterProvider";
2
2
  import { UserInterface } from "@sankhyalabs/core";
3
- import { getSelectedIDs } from "../utils/RecordIDUtils";
3
+ import { getSelectedRecordsIDsInfo as getSelectedIDs } from '../../../lib/utils/GetSelectedRecordsIDsInfo';
4
4
  import { DataExporterOption } from "../../../lib/@types";
5
+ import { IExportType } from "../../../lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams";
5
6
  export default class ClientSideExporterProvider extends CommonsExporter {
6
7
  getSelectedNumber() {
7
8
  return this.dataUnit.getSelectionInfo().length;
@@ -18,13 +19,24 @@ export default class ClientSideExporterProvider extends CommonsExporter {
18
19
  var _a, _b, _c;
19
20
  return (_c = (_b = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.records) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.__record__id__;
20
21
  }
21
- async getRecords() {
22
- if (this.dataUnit.records.length === 0) {
23
- return Promise.resolve([]);
22
+ async getRecords(exportType) {
23
+ if (this.dataUnit.records.length === 0)
24
+ return [];
25
+ switch (exportType) {
26
+ case IExportType.ALL:
27
+ return this.dataUnit.getSelectionInfo().getAllRecords();
28
+ case IExportType.SELECTION:
29
+ return this.resolveRecordsFromSelection();
30
+ case IExportType.PAGE:
31
+ return this.dataUnit.records;
32
+ default:
33
+ return this.resolveRecordsFromSelection();
24
34
  }
35
+ }
36
+ resolveRecordsFromSelection() {
25
37
  const selectionInfo = this.dataUnit.getSelectionInfo();
26
- const records = selectionInfo.isEmpty() || selectionInfo.isAllRecords() ? await selectionInfo.getAllRecords() : selectionInfo.records;
27
- return Promise.resolve(records == undefined ? [] : records);
38
+ const selectionRecords = selectionInfo.isEmpty() || selectionInfo.isAllRecords() ? selectionInfo.getAllRecords() : selectionInfo.records;
39
+ return selectionRecords.length ? selectionRecords : this.dataUnit.records;
28
40
  }
29
41
  getHiddenOptions() {
30
42
  return [
@@ -1,5 +1,5 @@
1
1
  import { CommonsExporter } from "../interfaces/IExporterProvider";
2
- import { getSelectedIDs } from "../utils/RecordIDUtils";
2
+ import { getSelectedRecordsIDsInfo as getSelectedIDs } from '../../../lib/utils/GetSelectedRecordsIDsInfo';
3
3
  export default class ServerSideExporterProvider extends CommonsExporter {
4
4
  getFilters() {
5
5
  var _a;
@@ -1,6 +1,7 @@
1
1
  import { ApplicationContext, DataType, ElementIDUtils } from '@sankhyalabs/core';
2
2
  import { h, Host } from '@stencil/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
+ import { IExportType } from '../../lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams';
4
5
  import { ItemBuilder } from './structure/ItemBuilder';
5
6
  import { DataExporterFormat, DataExporterOption, DataExporterType } from '../../lib/@types';
6
7
  import { REPORT_LAUNCHER_RESOURCE_ID } from '../../lib/utils/constants';
@@ -42,7 +43,7 @@ export class SnkDataExporter {
42
43
  resolver: ({ type, format, email: { to, subject, message } }) => {
43
44
  var _a;
44
45
  const methodName = (_a = DataExporterFormat[format === null || format === void 0 ? void 0 : format.toUpperCase()]) !== null && _a !== void 0 ? _a : DataExporterFormat.PDF;
45
- this.resolveExporter({ type, methodName, to, subject, message, fileName: this._appLabel, titleGrid: this._appLabel }, () => {
46
+ this.resolveExporter({ type, methodName, to, subject, message, fileName: this._appLabel, gridTitle: this._appLabel }, () => {
46
47
  this._snkEmailSender.close();
47
48
  ApplicationUtils.info(this.getMessage("snkDataExporter.message.emailSuccess"), { iconName: "check" });
48
49
  });
@@ -105,7 +106,9 @@ export class SnkDataExporter {
105
106
  });
106
107
  }
107
108
  getExporterStrategy() {
108
- return this.provider.getRecords == undefined ? new ServerSideExporterStrategy(this.provider) : new ClientSideExporterStrategy(this.provider);
109
+ return this.provider.getRecords == undefined
110
+ ? new ServerSideExporterStrategy(this.provider)
111
+ : new ClientSideExporterStrategy(this.provider);
109
112
  }
110
113
  getOptionKey(option) {
111
114
  return Object.keys(DataExporterOption)
@@ -115,30 +118,28 @@ export class SnkDataExporter {
115
118
  }
116
119
  getExportType(option) {
117
120
  if (option === DataExporterOption.EXPORT_ALL_RECORDS_TO_PDF || option === DataExporterOption.EXPORT_ALL_RECORDS_TO_XLS) {
118
- return 'all';
121
+ return IExportType.ALL;
119
122
  }
120
123
  if (option === DataExporterOption.EXPORT_PAGE_TO_PDF || option === DataExporterOption.EXPORT_PAGE_TO_XLS) {
121
- return 'page';
124
+ return IExportType.PAGE;
122
125
  }
123
- return 'selection';
126
+ return IExportType.SELECTION;
124
127
  }
125
128
  async dispatchExporter(option) {
126
129
  var _a, _b, _c;
127
130
  const optionKey = this.getOptionKey(option);
128
131
  const fileType = (_a = DataExporterType[optionKey]) !== null && _a !== void 0 ? _a : DataExporterType.EXPORT_TO_PDF;
129
- const isDownload = DataExporterType[optionKey] === DataExporterType.EXPORT_TO_XLS;
130
132
  const params = {
131
133
  methodName: DataExporterOption[`EXPORT_TO_${fileType}`],
132
134
  fileName: this._appLabel,
133
- titleGrid: this._appLabel,
135
+ gridTitle: this._appLabel,
134
136
  exportOption: option,
135
137
  limit: (_c = (_b = this.provider) === null || _b === void 0 ? void 0 : _b.getExportLimit) === null || _c === void 0 ? void 0 : _c.call(_b),
136
138
  type: this.getExportType(option),
137
139
  };
138
140
  await this.resolveExporter(params, (response) => {
139
141
  if (response.canExport || fileType === DataExporterType.EXPORT_TO_PDF) {
140
- fileViewer(Object.assign(Object.assign({}, response), { fileType,
141
- isDownload }));
142
+ fileViewer(Object.assign(Object.assign({}, response), { fileType }));
142
143
  }
143
144
  else {
144
145
  ApplicationUtils.error(this.getMessage("snkDataExporter.title.permission"), this.getMessage("snkDataExporter.message.exportPermission"));
@@ -110,7 +110,7 @@ export class ItemBuilder {
110
110
  getExportToXLS(groupName) {
111
111
  return {
112
112
  id: DataExporterOption.EXPORT_TO_XLS,
113
- label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xlsx)`,
113
+ label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xls)`,
114
114
  group: groupName
115
115
  };
116
116
  }
@@ -153,7 +153,7 @@ export class ItemBuilder {
153
153
  getExportPageToXLS() {
154
154
  return {
155
155
  id: DataExporterOption.EXPORT_PAGE_TO_XLS,
156
- label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xlsx)`
156
+ label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xls)`
157
157
  };
158
158
  }
159
159
  /**
@@ -42,21 +42,21 @@ export const dataFetcherXLSResponse = {
42
42
  export const exportPDFParams = {
43
43
  methodName: 'exportToPDF',
44
44
  fileName: '',
45
- titleGrid: '',
45
+ gridTitle: '',
46
46
  };
47
47
  export const exportXLSParams = {
48
48
  methodName: 'exportToXLS',
49
49
  fileName: '',
50
- titleGrid: '',
50
+ gridTitle: '',
51
51
  };
52
52
  export const serviceNamePDF = "GridPDFBuilderSP.buildPDFFromJson";
53
53
  export const serviceNameXLS = "GridXLSBuilderSP.buildXLSFromJson";
54
- export function buildExpectedResponse({ serviceName, titleGrid, value, align = 'left', type = 'S' }) {
54
+ export function buildExpectedResponse({ serviceName, gridTitle, value, align = 'left', type = 'S' }) {
55
55
  return {
56
56
  serviceName: serviceName,
57
57
  requestBody: {
58
58
  grid: {
59
- titleGrid: titleGrid,
59
+ gridTitle: gridTitle,
60
60
  columns: {
61
61
  column: [
62
62
  {
@@ -1,5 +1,5 @@
1
1
  import { DataExporterOption } from "../../../lib/@types";
2
- const DOC_MAX_WIDTH = 800;
2
+ const DOC_MAX_WIDTH = 860;
3
3
  export function getVisibleColumns(columns) {
4
4
  const visibleColumns = [];
5
5
  let totalWidth = 0;
@@ -4,8 +4,8 @@ import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/
4
4
  import { OperationMap, SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder';
5
5
  import { DatasetStrategy } from '../../lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy';
6
6
  import { getRecordValue } from '../../lib/dataUnit/ValueFormatter';
7
- import { getSelectedIDs } from '../snk-data-exporter/utils/RecordIDUtils';
8
7
  import { convertType } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
8
+ import { getSelectedRecordsIDsInfo } from '../../lib/utils/GetSelectedRecordsIDsInfo';
9
9
  export class SnkDataUnit {
10
10
  constructor() {
11
11
  this._onDataUnitResolve = [];
@@ -16,7 +16,7 @@ export class SnkDataUnit {
16
16
  this._rowMetadataCache = new Map();
17
17
  this.REGEX_DATAUNIT_NAME = /dd:\/\/(.+?)\//;
18
18
  this._dataUnitObserver = async (action) => {
19
- const duState = this.buildDataState(action.type);
19
+ const duState = await this.buildDataState(action.type);
20
20
  this.dataState = duState;
21
21
  this.messagesBuilder.currentOperation = this.getMessageOperation();
22
22
  switch (action.type) {
@@ -110,7 +110,7 @@ export class SnkDataUnit {
110
110
  * @returns Retorna a lista de IDs dos registros selecionados.
111
111
  */
112
112
  async getSelectedRecordsIDsInfo() {
113
- return Promise.resolve(getSelectedIDs(this.dataUnit));
113
+ return getSelectedRecordsIDsInfo(this.dataUnit);
114
114
  }
115
115
  /**
116
116
  * Retorna os campos que possuem a propriedade "rmp" (Row Metadata Provider).
@@ -130,14 +130,22 @@ export class SnkDataUnit {
130
130
  async getRowMetadata(record) {
131
131
  return this.doGetRowMetadata(record);
132
132
  }
133
- doGetRowMetadata(record) {
133
+ async doGetRowMetadata(record) {
134
134
  const selectedRecord = this.dataUnit.getSelectedRecord();
135
135
  if (!record && !selectedRecord) {
136
136
  return;
137
137
  }
138
138
  const currentRecord = record || selectedRecord;
139
139
  const recordId = typeof currentRecord === 'string' ? currentRecord : currentRecord.__record__id__;
140
- const rowMetadata = this._metadataByRow.get(recordId);
140
+ let rowMetadata = this._metadataByRow.get(recordId);
141
+ /*
142
+ Nao fazemos cache de metadataByRow pra registros novos, pois a chave do mesmo
143
+ muda ao ser salvo, por isso essa tratativa é necessária para que o dataState fique com metadados
144
+ corretos nao confiando apenas no _metadataByRow
145
+ */
146
+ if (this.dataUnit.isNewRecord(recordId) && !rowMetadata) {
147
+ rowMetadata = await this.handleLoadRowMetadata(selectedRecord);
148
+ }
141
149
  if (!rowMetadata) {
142
150
  return;
143
151
  }
@@ -243,7 +251,9 @@ export class SnkDataUnit {
243
251
  return new DataUnitAction(Action.RECORDS_COPIED, this.handleRecordsCopied(action.payload));
244
252
  }
245
253
  async interceptDataChange(action) {
246
- if (this.isAllowed("UPDATE")) {
254
+ var _a;
255
+ const recordId = (_a = this.dataUnit.getSelectedRecord()) === null || _a === void 0 ? void 0 : _a.__record__id__;
256
+ if (this.isAllowed("UPDATE") || this.dataUnit.isNewRecord(recordId)) {
247
257
  return action;
248
258
  }
249
259
  if (this._openedAlert) {
@@ -331,7 +341,7 @@ export class SnkDataUnit {
331
341
  case Action.RECORDS_COPIED:
332
342
  return this.interceptRecordsCopied(action);
333
343
  case Action.DATA_CHANGED:
334
- await this.handleLoadRowMetadata(action);
344
+ await this.handleLoadRowMetadata(action.payload);
335
345
  return await this.interceptDataChange(action);
336
346
  case Action.CHANGING_DATA:
337
347
  return await this.interceptDataChange(action);
@@ -351,8 +361,9 @@ export class SnkDataUnit {
351
361
  return action;
352
362
  }
353
363
  }
354
- async handleLoadRowMetadata(action) {
355
- const record = action.type === Action.DATA_CHANGED ? action.payload : action.payload.changes[0].record;
364
+ async handleLoadRowMetadata(record) {
365
+ if (!record)
366
+ return;
356
367
  const keysPayload = Object.keys(record);
357
368
  const rmpField = keysPayload.find((field) => this._fieldsWithRmp.includes(field));
358
369
  if (rmpField) {
@@ -431,7 +442,7 @@ export class SnkDataUnit {
431
442
  isAllowed(flag) {
432
443
  return this._permissions ? this._permissions.isSup || this._permissions[flag] : false;
433
444
  }
434
- buildDataState(actionType) {
445
+ async buildDataState(actionType) {
435
446
  var _a;
436
447
  const selectionInfo = this.dataUnit.getSelectionInfo();
437
448
  const isStartingInsertionMode = (this.dataUnit.hasDirtyRecords() || this.dataUnit.hasWaitingChanges()) && (selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.isEmpty());
@@ -439,7 +450,7 @@ export class SnkDataUnit {
439
450
  let rowMetadata = (_a = this.dataState) === null || _a === void 0 ? void 0 : _a.rowMetadata;
440
451
  const allowedOverwrite = [Action.SELECTION_CHANGED, Action.EDITION_CANCELED, Action.NEXT_SELECTED, Action.PREVIOUS_SELECTED];
441
452
  if (selectedRecord && (!rowMetadata || allowedOverwrite.includes(actionType))) {
442
- rowMetadata = this.doGetRowMetadata(selectedRecord);
453
+ rowMetadata = await this.doGetRowMetadata(selectedRecord);
443
454
  }
444
455
  else if (rowMetadata) {
445
456
  rowMetadata.getProp = this.buildGetPropRowMetadata(rowMetadata);
@@ -461,17 +472,20 @@ export class SnkDataUnit {
461
472
  });
462
473
  }
463
474
  async handleDataSaved(action) {
464
- const newRowMetadata = await this.handleLoadRowMetadata(action);
475
+ var _a, _b, _c;
476
+ const newRowMetadata = await this.handleLoadRowMetadata((_c = (_b = (_a = action === null || action === void 0 ? void 0 : action.payload) === null || _a === void 0 ? void 0 : _a.changes) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.record);
465
477
  if (newRowMetadata) {
466
478
  newRowMetadata.getProp = this.buildGetPropRowMetadata(newRowMetadata);
467
479
  }
468
480
  const recordId = action.payload.records[0].__record__id__;
469
481
  this._metadataByRow.set(recordId, newRowMetadata);
470
- this.dataState = this.buildDataState();
471
- if (this.ignoreSaveMessage) {
482
+ this.dataState = await this.buildDataState();
483
+ let saveOperation = action.payload.changes[0]._operation.toLowerCase();
484
+ if (saveOperation == 'copy')
485
+ saveOperation = OperationMap.CLONE;
486
+ if (this.ignoreSaveMessage && ![OperationMap.CLONE, OperationMap.INSERT].includes(saveOperation)) {
472
487
  return;
473
488
  }
474
- const saveOperation = action.payload.changes[0]._operation.toLowerCase();
475
489
  const msg = this.getMessage("snkDataUnit.saveInfo", action.payload.records[0], saveOperation);
476
490
  if (msg != undefined) {
477
491
  this.showSuccessMessage(msg);
@@ -479,14 +493,7 @@ export class SnkDataUnit {
479
493
  }
480
494
  handleRecordsRemoved(action) {
481
495
  var _a, _b;
482
- const cachedRecords = action.payload.cachedRecords;
483
- let removeFinishMsg;
484
- if ((cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.length) > 1) {
485
- removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size: cachedRecords.length });
486
- }
487
- else {
488
- removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
489
- }
496
+ let removeFinishMsg = this.buildRemoveFinishMessage(action);
490
497
  if (removeFinishMsg != undefined) {
491
498
  this.showSuccessMessage(removeFinishMsg);
492
499
  }
@@ -497,6 +504,14 @@ export class SnkDataUnit {
497
504
  this.dataUnit.gotoPage(page);
498
505
  }
499
506
  }
507
+ buildRemoveFinishMessage(action) {
508
+ const records = action.payload.records;
509
+ if (!records || !records.length)
510
+ return undefined;
511
+ if ((records === null || records === void 0 ? void 0 : records.length) > 1)
512
+ return this.getMessage('snkDataUnit.removeAllInfo', { size: records.length });
513
+ return this.getMessage('snkDataUnit.removeInfo', records);
514
+ }
500
515
  /**
501
516
  * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
502
517
  * através de um pequeno modulo na estrutura da aplicação:
@@ -540,21 +555,30 @@ export class SnkDataUnit {
540
555
  return await this._application.getDataUnit(this.entityName, cacheName, null, this.configName, this.resourceID);
541
556
  }
542
557
  }
558
+ updateMetadataWithRMP() {
559
+ this.fillFieldsWithRmp(this.dataUnit.metadata);
560
+ this.fillFieldsWithRmPrecision(this.dataUnit.metadata);
561
+ const dataUnitUpdatedMetadata = this.handleDULinksOnMetadataLoaded(this.dataUnit.metadata);
562
+ this.dataUnit.metadata = dataUnitUpdatedMetadata;
563
+ }
543
564
  async loadDataUnit() {
544
- var _a;
565
+ var _a, _b;
545
566
  if (this.dataUnit == null && this._application && this.entityName) {
546
567
  this.dataUnit = await this.getDataUnitParentOrChild();
547
568
  }
548
569
  if (this.dataUnit) {
549
570
  this.dataUnit.pageSize = this.pageSize;
550
571
  this.dataUnit.unsubscribe(this._dataUnitObserver);
551
- this.dataUnit.addInterceptor(this);
552
572
  this.dataUnit.subscribe(this._dataUnitObserver);
553
- await this.dataUnit.loadMetadata();
554
- if ((_a = this.dataUnit.records) === null || _a === void 0 ? void 0 : _a.length) {
555
- this.getMetadataByRow(this.dataUnit);
573
+ if ((_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.metadata) {
574
+ this.updateMetadataWithRMP();
575
+ }
576
+ this.dataUnit.addInterceptor(this);
577
+ if ((_b = this.dataUnit.records) === null || _b === void 0 ? void 0 : _b.length) {
578
+ const { records } = this.getMetadataByRow(this.dataUnit);
579
+ this.dataUnit.records = records;
556
580
  }
557
- this.dataState = this.buildDataState();
581
+ this.dataState = await this.buildDataState();
558
582
  let resolver;
559
583
  while (resolver = this._onDataUnitResolve.pop()) {
560
584
  resolver(this.dataUnit);