@sankhyalabs/sankhyablocks 8.16.0-dev.11 → 8.16.0-dev.111

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 (456) hide show
  1. package/dist/cjs/ClientSideExporterProvider-a2753c93.js +378 -0
  2. package/dist/cjs/{ConfigStorage-e49214c6.js → ConfigStorage-df09fb78.js} +2 -2
  3. package/dist/cjs/{DataFetcher-77729a93.js → DataFetcher-1afdb18e.js} +231 -84
  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-beebf47a.js → SnkFormConfigManager-45a8d7b7.js} +75 -17
  8. package/dist/cjs/{SnkMessageBuilder-897ffd08.js → SnkMessageBuilder-9deeae08.js} +40 -28
  9. package/dist/cjs/{auth-fetcher-29bb791c.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-d4873076.js → dataunit-fetcher-a723f0dc.js} +225 -175
  12. package/dist/cjs/{form-config-fetcher-feb08214.js → form-config-fetcher-40d3f752.js} +56 -2
  13. package/dist/cjs/{index-1dfc7a6e.js → index-e3e39724.js} +5 -0
  14. package/dist/cjs/index-f9e81701.js +16 -32
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +155 -0
  17. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  18. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_8.cjs.entry.js} +264 -46
  19. package/dist/cjs/snk-application.cjs.entry.js +471 -79
  20. package/dist/cjs/snk-attach.cjs.entry.js +91 -50
  21. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +401 -13
  22. package/dist/cjs/snk-configurator.cjs.entry.js +10 -3
  23. package/dist/cjs/snk-crud.cjs.entry.js +57 -84
  24. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -30
  25. package/dist/cjs/{snk-data-unit-ece44c4a.js → snk-data-unit-57916de4.js} +275 -37
  26. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  27. package/dist/cjs/snk-detail-view.cjs.entry.js +69 -17
  28. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  29. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  30. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1438 -0
  31. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  32. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  34. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  35. package/dist/cjs/snk-filter-search.cjs.entry.js +18 -5
  36. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  37. package/dist/cjs/snk-form-view.cjs.entry.js +19 -7
  38. package/dist/cjs/snk-grid.cjs.entry.js +132 -51
  39. package/dist/cjs/{snk-guides-viewer-aafc3073.js → snk-guides-viewer-d33379cd.js} +151 -74
  40. package/dist/cjs/snk-guides-viewer.cjs.entry.js +12 -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 +116 -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 +237 -200
  47. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  48. package/dist/cjs/snk-taskbar.cjs.entry.js +79 -42
  49. package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-6f4e06af.js} +12 -1
  50. package/dist/cjs/{field-search-f56aa7d6.js → taskbar-processor-2fba34a8.js} +5 -36
  51. package/dist/collection/collection-manifest.json +17 -31
  52. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  53. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  54. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  55. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +5 -2
  56. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  57. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  58. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  59. package/dist/collection/components/snk-application/search-strategy/exec-prepared-search-plus.js +107 -0
  60. package/dist/collection/components/snk-application/snk-application.css +36 -0
  61. package/dist/collection/components/snk-application/snk-application.js +450 -72
  62. package/dist/collection/components/snk-attach/snk-attach.js +51 -16
  63. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  64. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +19 -18
  65. package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
  66. package/dist/collection/components/snk-configurator/snk-configurator.js +26 -1
  67. package/dist/collection/components/snk-crud/snk-crud.js +181 -76
  68. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +10 -1
  69. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +84 -6
  70. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +54 -7
  71. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  72. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +198 -82
  73. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  74. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +8 -8
  75. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  76. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +41 -10
  77. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +18 -6
  78. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  79. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +10 -9
  80. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  81. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  82. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  83. package/dist/collection/components/snk-data-unit/MultipleUpdateHelper.js +128 -0
  84. package/dist/collection/components/snk-data-unit/snk-data-unit.js +156 -37
  85. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
  86. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  87. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  88. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
  89. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +18 -5
  90. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  91. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  92. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  93. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  94. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +10 -4
  95. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  96. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  97. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -6
  98. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
  99. package/dist/collection/components/snk-form/snk-form.js +2 -2
  100. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
  101. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  102. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  103. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.js +5 -3
  104. package/dist/collection/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.js +2 -2
  105. package/dist/collection/components/snk-grid/snk-grid.css +8 -0
  106. package/dist/collection/components/snk-grid/snk-grid.js +269 -51
  107. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  108. package/dist/collection/components/snk-grid-config/snk-grid-config.js +2 -0
  109. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +3 -0
  110. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +73 -0
  111. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +78 -0
  112. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +57 -0
  113. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  114. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  115. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  116. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  117. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  118. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  119. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +181 -32
  120. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  121. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  122. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  123. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +342 -123
  124. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  125. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  126. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +13 -0
  127. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +1 -1
  128. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +11 -0
  129. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.css +0 -0
  130. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.js +220 -0
  131. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  132. package/dist/collection/components/snk-taskbar/snk-taskbar.js +141 -41
  133. package/dist/collection/lib/@types/index.js +5 -0
  134. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +11 -5
  135. package/dist/collection/lib/configs/LayoutFormConfig.js +25 -0
  136. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -103
  137. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -32
  138. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +44 -29
  139. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  140. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  141. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  142. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +5 -2
  143. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  144. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +23 -14
  145. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  146. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +59 -5
  147. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  148. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +133 -9
  149. package/dist/collection/lib/index.js +1 -0
  150. package/dist/collection/lib/message/SnkMessageBuilder.js +1 -0
  151. package/dist/collection/lib/message/resources/snk-crud.msg.js +1 -1
  152. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +28 -23
  153. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  154. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  155. package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +2 -1
  156. package/dist/collection/lib/message/resources/snk-taskbar.msg.js +1 -0
  157. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  158. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  159. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  160. package/dist/collection/lib/utils/constants.js +10 -0
  161. package/dist/collection/sw.js +46 -0
  162. package/dist/components/ContinuousInsertUtils.js +416 -0
  163. package/dist/components/DataFetcher.js +231 -84
  164. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  165. package/dist/components/ISave.js +391 -1
  166. package/dist/components/SnkFormConfigManager.js +73 -15
  167. package/dist/components/SnkMessageBuilder.js +40 -28
  168. package/dist/components/constants.js +11 -1
  169. package/dist/components/dataunit-fetcher.js +243 -190
  170. package/dist/components/form-config-fetcher.js +55 -1
  171. package/dist/components/index.d.ts +6 -0
  172. package/dist/components/index.js +6 -0
  173. package/dist/components/pesquisa-grid.d.ts +11 -0
  174. package/dist/components/pesquisa-grid.js +6 -0
  175. package/dist/components/pesquisa-grid2.js +102 -0
  176. package/dist/components/pesquisa-tree.d.ts +11 -0
  177. package/dist/components/pesquisa-tree.js +6 -0
  178. package/dist/components/pesquisa-tree2.js +91 -0
  179. package/dist/components/snk-actions-button2.js +44 -40
  180. package/dist/components/snk-application2.js +494 -77
  181. package/dist/components/snk-attach2.js +114 -73
  182. package/dist/components/snk-config-options2.js +6 -4
  183. package/dist/components/snk-configurator2.js +23 -3
  184. package/dist/components/snk-crud.js +143 -139
  185. package/dist/components/snk-data-exporter2.js +37 -23
  186. package/dist/components/snk-data-unit2.js +275 -74
  187. package/dist/components/snk-detail-view2.js +329 -171
  188. package/dist/components/snk-exporter-email-sender2.js +1 -1
  189. package/dist/components/snk-filter-bar2.js +68 -34
  190. package/dist/components/snk-filter-binary-select.js +1 -1
  191. package/dist/components/snk-filter-checkbox-list.js +1 -1
  192. package/dist/components/snk-filter-item2.js +10 -4
  193. package/dist/components/snk-filter-modal.js +4 -2
  194. package/dist/components/snk-filter-number.js +1 -1
  195. package/dist/components/snk-filter-search.js +18 -5
  196. package/dist/components/snk-filter-text.js +2 -1
  197. package/dist/components/snk-form-config2.js +35 -10
  198. package/dist/components/snk-form-view2.js +22 -8
  199. package/dist/components/snk-form.js +2 -2
  200. package/dist/components/snk-grid-config2.js +3 -1
  201. package/dist/components/snk-grid2.js +169 -75
  202. package/dist/components/snk-layout-form-config.d.ts +11 -0
  203. package/dist/components/snk-layout-form-config.js +6 -0
  204. package/dist/components/snk-layout-form-config2.js +73 -0
  205. package/dist/components/snk-personalized-filter-editor.js +4 -4
  206. package/dist/components/snk-pesquisa2.js +132 -33
  207. package/dist/components/snk-print-selector.js +1 -1
  208. package/dist/components/snk-simple-bar2.js +1 -1
  209. package/dist/components/snk-simple-crud2.js +246 -203
  210. package/dist/components/snk-simple-form-config.d.ts +11 -0
  211. package/dist/components/snk-simple-form-config.js +6 -0
  212. package/dist/components/snk-simple-form-config2.js +121 -0
  213. package/dist/components/snk-tab-config2.js +1 -1
  214. package/dist/components/snk-taskbar2.js +105 -50
  215. package/dist/components/snk-view-representation.d.ts +11 -0
  216. package/dist/components/snk-view-representation.js +6 -0
  217. package/dist/components/snk-view-representation2.js +41 -0
  218. package/dist/components/taskbar-actions-button2.js +2 -2
  219. package/dist/components/taskbar-split-button.d.ts +11 -0
  220. package/dist/components/taskbar-split-button.js +6 -0
  221. package/dist/components/taskbar-split-button2.js +87 -0
  222. package/dist/components/teste-pesquisa.js +13 -1
  223. package/dist/esm/ClientSideExporterProvider-b3871edb.js +367 -0
  224. package/dist/esm/{ConfigStorage-e476378d.js → ConfigStorage-71e6766f.js} +2 -2
  225. package/dist/esm/{DataFetcher-773a3e4b.js → DataFetcher-88e56266.js} +231 -84
  226. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  227. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  228. package/dist/esm/ISave-5efafc97.js +394 -0
  229. package/dist/esm/{SnkFormConfigManager-298cd647.js → SnkFormConfigManager-be490a33.js} +75 -17
  230. package/dist/esm/{SnkMessageBuilder-571462fb.js → SnkMessageBuilder-2dbd8fa2.js} +40 -28
  231. package/dist/esm/{auth-fetcher-a411f73c.js → auth-fetcher-3510520e.js} +1 -1
  232. package/dist/esm/{constants-8457af36.js → constants-7db1128a.js} +11 -1
  233. package/dist/esm/{dataunit-fetcher-3d2ec959.js → dataunit-fetcher-0e025732.js} +227 -174
  234. package/dist/esm/{form-config-fetcher-e0382e5a.js → form-config-fetcher-fa208a6c.js} +56 -2
  235. package/dist/esm/index-a7d3d3f1.js +16 -32
  236. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  237. package/dist/esm/loader.js +1 -1
  238. package/dist/esm/pesquisa-grid_2.entry.js +150 -0
  239. package/dist/esm/sankhyablocks.js +1 -1
  240. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_8.entry.js} +263 -49
  241. package/dist/esm/snk-application.entry.js +472 -80
  242. package/dist/esm/snk-attach.entry.js +92 -51
  243. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +401 -15
  244. package/dist/esm/snk-configurator.entry.js +10 -3
  245. package/dist/esm/snk-crud.entry.js +58 -85
  246. package/dist/esm/snk-data-exporter.entry.js +38 -30
  247. package/dist/esm/{snk-data-unit-2a1d5d09.js → snk-data-unit-65c9dd1a.js} +275 -37
  248. package/dist/esm/snk-data-unit.entry.js +5 -5
  249. package/dist/esm/snk-detail-view.entry.js +71 -19
  250. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  251. package/dist/esm/snk-field-config.entry.js +1 -1
  252. package/dist/esm/snk-filter-bar_4.entry.js +1431 -0
  253. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  254. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  255. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  256. package/dist/esm/snk-filter-number.entry.js +1 -1
  257. package/dist/esm/snk-filter-search.entry.js +18 -5
  258. package/dist/esm/snk-filter-text.entry.js +2 -1
  259. package/dist/esm/snk-form-view.entry.js +19 -7
  260. package/dist/esm/snk-grid.entry.js +125 -44
  261. package/dist/esm/{snk-guides-viewer-62124f3d.js → snk-guides-viewer-72953334.js} +153 -76
  262. package/dist/esm/snk-guides-viewer.entry.js +12 -12
  263. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  264. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  265. package/dist/esm/snk-pesquisa.entry.js +116 -31
  266. package/dist/esm/snk-print-selector.entry.js +1 -1
  267. package/dist/esm/snk-simple-bar.entry.js +1 -1
  268. package/dist/esm/snk-simple-crud.entry.js +224 -187
  269. package/dist/esm/snk-tab-config.entry.js +1 -1
  270. package/dist/esm/snk-taskbar.entry.js +80 -43
  271. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-f2cb4922.js} +12 -1
  272. package/dist/esm/{field-search-efbe307f.js → taskbar-processor-3436124c.js} +6 -35
  273. package/dist/sankhyablocks/{p-3287a6cc.js → p-03b68a74.js} +1 -1
  274. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  275. package/dist/sankhyablocks/p-0fadb620.js +1 -0
  276. package/dist/sankhyablocks/{p-9dfda04a.entry.js → p-165cde3b.entry.js} +1 -1
  277. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  278. package/dist/sankhyablocks/p-1a0caadb.js +1 -0
  279. package/dist/sankhyablocks/p-1bdffb17.entry.js +11 -0
  280. package/dist/sankhyablocks/p-1f80174b.entry.js +1 -0
  281. package/dist/sankhyablocks/p-24a0dbd2.entry.js +1 -0
  282. package/dist/sankhyablocks/p-2f7e2251.entry.js +1 -0
  283. package/dist/sankhyablocks/p-3372178e.entry.js +1 -0
  284. package/dist/sankhyablocks/{p-95df461f.entry.js → p-3749dffb.entry.js} +1 -1
  285. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  286. package/dist/sankhyablocks/p-4689c2e6.js +1 -0
  287. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  288. package/dist/sankhyablocks/{p-bd008859.entry.js → p-490b75b5.entry.js} +1 -1
  289. package/dist/sankhyablocks/p-52d10014.entry.js +1 -0
  290. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  291. package/dist/sankhyablocks/p-5ffa0493.entry.js +1 -0
  292. package/dist/sankhyablocks/p-60137b7a.entry.js +1 -0
  293. package/dist/sankhyablocks/p-601b252b.js +26 -0
  294. package/dist/sankhyablocks/p-6a03b190.entry.js +1 -0
  295. package/dist/sankhyablocks/p-6dd38d7b.js +6 -0
  296. package/dist/sankhyablocks/{p-0cd3c0a9.js → p-73285a8a.js} +1 -1
  297. package/dist/sankhyablocks/p-7993b2e3.js +60 -0
  298. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  299. package/dist/sankhyablocks/p-7beeabc1.entry.js +1 -0
  300. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  301. package/dist/sankhyablocks/p-885802c3.js +1 -0
  302. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  303. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  304. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  305. package/dist/sankhyablocks/p-90684a75.entry.js +1 -0
  306. package/dist/sankhyablocks/{p-b0ef4383.js → p-9261d8a0.js} +1 -1
  307. package/dist/sankhyablocks/p-a14a09c3.entry.js +1 -0
  308. package/dist/sankhyablocks/p-a4ebeec4.entry.js +1 -0
  309. package/dist/sankhyablocks/p-b0ab5066.entry.js +1 -0
  310. package/dist/sankhyablocks/p-b6200d32.entry.js +1 -0
  311. package/dist/sankhyablocks/p-bc101064.entry.js +1 -0
  312. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-c0eb761b.entry.js} +1 -1
  313. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  314. package/dist/sankhyablocks/p-c9675d64.js +1 -0
  315. package/dist/sankhyablocks/p-ce94e6c4.entry.js +1 -0
  316. package/dist/sankhyablocks/p-d07b18a4.js +1 -0
  317. package/dist/sankhyablocks/p-ddf93f36.entry.js +1 -0
  318. package/dist/sankhyablocks/p-ebdb9d89.js +1 -0
  319. package/dist/sankhyablocks/p-fbba7e3d.js +1 -0
  320. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  321. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  322. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  323. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  324. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  325. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  326. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  327. package/dist/types/components/snk-application/search-strategy/exec-prepared-search-plus.d.ts +5 -0
  328. package/dist/types/components/snk-application/snk-application.d.ts +55 -16
  329. package/dist/types/components/snk-attach/snk-attach.d.ts +2 -0
  330. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  331. package/dist/types/components/snk-crud/snk-crud.d.ts +30 -3
  332. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +17 -0
  333. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +11 -1
  334. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +26 -7
  335. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  336. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  337. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +9 -1
  338. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  339. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  340. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  341. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  342. package/dist/types/components/snk-data-unit/MultipleUpdateHelper.d.ts +9 -0
  343. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +19 -0
  344. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +5 -3
  345. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  346. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  347. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  348. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  349. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  350. package/dist/types/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.d.ts +2 -1
  351. package/dist/types/components/snk-grid/snk-grid.d.ts +45 -5
  352. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +1 -0
  353. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
  354. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -0
  355. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  356. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  357. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  358. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +36 -1
  359. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +51 -15
  360. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  361. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +2 -1
  362. package/dist/types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.d.ts +44 -0
  363. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  364. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +17 -0
  365. package/dist/types/components.d.ts +608 -24
  366. package/dist/types/lib/@types/index.d.ts +4 -0
  367. package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
  368. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  369. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  370. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  371. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  372. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  373. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  374. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  375. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -1
  376. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  377. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  378. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  379. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  380. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +14 -2
  381. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  382. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +21 -2
  383. package/dist/types/lib/index.d.ts +1 -0
  384. package/dist/types/lib/message/SnkMessageBuilder.d.ts +2 -1
  385. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  386. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  387. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  388. package/dist/types/lib/utils/constants.d.ts +8 -0
  389. package/package.json +4 -3
  390. package/react/components.d.ts +6 -0
  391. package/react/components.js +6 -0
  392. package/react/components.js.map +1 -1
  393. package/dist/cjs/IExporterProvider-10b7fed5.js +0 -230
  394. package/dist/cjs/ISave-e91b70a7.js +0 -9
  395. package/dist/cjs/pesquisa-fetcher-a1d0353f.js +0 -166
  396. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  397. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  398. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  399. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  400. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  401. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  402. package/dist/collection/components/snk-taskbar/subcomponents/field-search.js +0 -31
  403. package/dist/components/IExporterProvider.js +0 -298
  404. package/dist/components/pesquisa-fetcher.js +0 -164
  405. package/dist/esm/IExporterProvider-d597f27d.js +0 -221
  406. package/dist/esm/ISave-d8c8bc59.js +0 -9
  407. package/dist/esm/pesquisa-fetcher-a87445a0.js +0 -164
  408. package/dist/esm/snk-config-options.entry.js +0 -235
  409. package/dist/esm/snk-filter-bar.entry.js +0 -710
  410. package/dist/esm/snk-filter-item.entry.js +0 -308
  411. package/dist/esm/snk-filter-list.entry.js +0 -148
  412. package/dist/esm/snk-filter-modal.entry.js +0 -245
  413. package/dist/esm/snk-form.entry.js +0 -139
  414. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  415. package/dist/sankhyablocks/p-091ce761.js +0 -60
  416. package/dist/sankhyablocks/p-14b8b656.entry.js +0 -1
  417. package/dist/sankhyablocks/p-181975f1.js +0 -26
  418. package/dist/sankhyablocks/p-1db45d26.entry.js +0 -1
  419. package/dist/sankhyablocks/p-1e971cb0.entry.js +0 -1
  420. package/dist/sankhyablocks/p-21749402.js +0 -1
  421. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  422. package/dist/sankhyablocks/p-25f1fc39.js +0 -6
  423. package/dist/sankhyablocks/p-2e9c764c.entry.js +0 -1
  424. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  425. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  426. package/dist/sankhyablocks/p-421bec84.entry.js +0 -1
  427. package/dist/sankhyablocks/p-42f7b05d.entry.js +0 -1
  428. package/dist/sankhyablocks/p-51999ab5.entry.js +0 -1
  429. package/dist/sankhyablocks/p-594bc21d.js +0 -1
  430. package/dist/sankhyablocks/p-5f016aed.js +0 -1
  431. package/dist/sankhyablocks/p-62f34e6f.entry.js +0 -1
  432. package/dist/sankhyablocks/p-631954eb.entry.js +0 -1
  433. package/dist/sankhyablocks/p-65f8c11c.entry.js +0 -1
  434. package/dist/sankhyablocks/p-684a2590.entry.js +0 -1
  435. package/dist/sankhyablocks/p-70001ac1.js +0 -1
  436. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  437. package/dist/sankhyablocks/p-7663f597.entry.js +0 -1
  438. package/dist/sankhyablocks/p-76a65660.js +0 -1
  439. package/dist/sankhyablocks/p-7e7a7473.js +0 -1
  440. package/dist/sankhyablocks/p-7ef9c55c.js +0 -1
  441. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  442. package/dist/sankhyablocks/p-939e15d3.entry.js +0 -1
  443. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  444. package/dist/sankhyablocks/p-9863d682.js +0 -1
  445. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  446. package/dist/sankhyablocks/p-c2495304.js +0 -1
  447. package/dist/sankhyablocks/p-c8622597.entry.js +0 -1
  448. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  449. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  450. package/dist/sankhyablocks/p-d65d98ed.entry.js +0 -1
  451. package/dist/sankhyablocks/p-d6610d11.entry.js +0 -11
  452. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  453. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  454. package/dist/sankhyablocks/p-ffa5e4ff.js +0 -1
  455. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
  456. package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +0 -4
@@ -1,11 +1,10 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { ApplicationContext, ObjectUtils, UserInterface, DataType, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
- import { D as DataExporterOption, a as DataExporterType, b as DataExporterFormat } from './ISave.js';
4
+ import { D as DataExporterOption, b as DataExporterType, c as DataExporterFormat } from './ISave.js';
5
5
  import { R as REPORT_LAUNCHER_RESOURCE_ID } from './constants.js';
6
6
  import { D as DataFetcher } from './DataFetcher.js';
7
7
  import { S as SnkDataUnit } from './snk-data-unit2.js';
8
- import './pesquisa-fetcher.js';
9
8
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
10
9
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
11
10
  import './dataunit-fetcher.js';
@@ -13,6 +12,13 @@ import './filter-item-type.enum.js';
13
12
  import './form-config-fetcher.js';
14
13
  import { d as defineCustomElement$1 } from './snk-exporter-email-sender2.js';
15
14
 
15
+ var IExportType;
16
+ (function (IExportType) {
17
+ IExportType["ALL"] = "all";
18
+ IExportType["PAGE"] = "page";
19
+ IExportType["SELECTION"] = "selection";
20
+ })(IExportType || (IExportType = {}));
21
+
16
22
  class ItemBuilder {
17
23
  constructor(getMessage, selectedNumber) {
18
24
  this._selectedNumber = 0;
@@ -124,7 +130,7 @@ class ItemBuilder {
124
130
  getExportToXLS(groupName) {
125
131
  return {
126
132
  id: DataExporterOption.EXPORT_TO_XLS,
127
- label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xlsx)`,
133
+ label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xls)`,
128
134
  group: groupName
129
135
  };
130
136
  }
@@ -167,7 +173,7 @@ class ItemBuilder {
167
173
  getExportPageToXLS() {
168
174
  return {
169
175
  id: DataExporterOption.EXPORT_PAGE_TO_XLS,
170
- label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xlsx)`
176
+ label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xls)`
171
177
  };
172
178
  }
173
179
  /**
@@ -243,7 +249,7 @@ function getFormatResponse(result) {
243
249
  return ObjectUtils.stringToObject(response);
244
250
  }
245
251
 
246
- const DOC_MAX_WIDTH = 800;
252
+ const DOC_MAX_WIDTH = 860;
247
253
  function getVisibleColumns(columns) {
248
254
  const visibleColumns = [];
249
255
  let totalWidth = 0;
@@ -283,10 +289,17 @@ class ServerSideExporterStrategy {
283
289
  const visibleColumns = getVisibleColumns(columns);
284
290
  return visibleColumns;
285
291
  }
292
+ async getColumns(resolveProps) {
293
+ var _a;
294
+ if ((_a = getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) === null || _a === void 0 ? void 0 : _a.includes("PDF")) {
295
+ return await this.getParsedColumns();
296
+ }
297
+ return await this._provider.getColumnsMetadata();
298
+ }
286
299
  async getParams(resolveProps) {
287
300
  var _a, _b, _c, _d, _e, _f;
288
301
  const filters = (_b = (_a = this._provider).getFilters) === null || _b === void 0 ? void 0 : _b.call(_a);
289
- 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();
302
+ const columns = await this.getColumns(resolveProps);
290
303
  const sort = (_d = (_c = this._provider).getOrders) === null || _d === void 0 ? void 0 : _d.call(_c);
291
304
  const resourceURI = (_f = (_e = this._provider).getResourceURI) === null || _f === void 0 ? void 0 : _f.call(_e);
292
305
  const selectedIDs = this._provider.getSelectedIDs();
@@ -343,15 +356,16 @@ class ClientSideExporterStrategy {
343
356
  return visibleColumns;
344
357
  }
345
358
  async executeExport(resolveProps) {
346
- const { methodName, titleGrid } = resolveProps;
347
- const records = await this._provider.getRecords();
348
- 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();
359
+ var _a;
360
+ const { methodName, gridTitle } = resolveProps;
361
+ const records = await this._provider.getRecords(resolveProps.type);
362
+ 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();
349
363
  const [serviceName, processor] = this.getExecutor(methodName);
350
364
  const payload = {
351
365
  serviceName,
352
366
  requestBody: {
353
367
  grid: {
354
- titleGrid,
368
+ gridTitle,
355
369
  columns: this.buildColumnsObject(columns),
356
370
  rows: this.buildRowsObject(columns, records),
357
371
  customOptions: { xlsxExtension: false }
@@ -382,10 +396,10 @@ class ClientSideExporterStrategy {
382
396
  "GridXLSBuilderSP.buildXLSFromJson",
383
397
  responseBody => ({
384
398
  fileSessionKey: responseBody.chaveXLS.valor,
385
- canPrint: false,
386
- canExport: false,
399
+ canPrint: true,
400
+ canExport: true,
401
+ canSendEmail: true,
387
402
  useAppPrint: false,
388
- canSendEmail: false
389
403
  })
390
404
  ];
391
405
  }
@@ -462,7 +476,7 @@ const SnkDataExporter = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
462
476
  resolver: ({ type, format, email: { to, subject, message } }) => {
463
477
  var _a;
464
478
  const methodName = (_a = DataExporterFormat[format === null || format === void 0 ? void 0 : format.toUpperCase()]) !== null && _a !== void 0 ? _a : DataExporterFormat.PDF;
465
- this.resolveExporter({ type, methodName, to, subject, message, fileName: this._appLabel, titleGrid: this._appLabel }, () => {
479
+ this.resolveExporter({ type, methodName, to, subject, message, fileName: this._appLabel, gridTitle: this._appLabel }, () => {
466
480
  this._snkEmailSender.close();
467
481
  ApplicationUtils.info(this.getMessage("snkDataExporter.message.emailSuccess"), { iconName: "check" });
468
482
  });
@@ -525,7 +539,9 @@ const SnkDataExporter = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
525
539
  });
526
540
  }
527
541
  getExporterStrategy() {
528
- return this.provider.getRecords == undefined ? new ServerSideExporterStrategy(this.provider) : new ClientSideExporterStrategy(this.provider);
542
+ return this.provider.getRecords == undefined
543
+ ? new ServerSideExporterStrategy(this.provider)
544
+ : new ClientSideExporterStrategy(this.provider);
529
545
  }
530
546
  getOptionKey(option) {
531
547
  return Object.keys(DataExporterOption)
@@ -535,30 +551,28 @@ const SnkDataExporter = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
535
551
  }
536
552
  getExportType(option) {
537
553
  if (option === DataExporterOption.EXPORT_ALL_RECORDS_TO_PDF || option === DataExporterOption.EXPORT_ALL_RECORDS_TO_XLS) {
538
- return 'all';
554
+ return IExportType.ALL;
539
555
  }
540
556
  if (option === DataExporterOption.EXPORT_PAGE_TO_PDF || option === DataExporterOption.EXPORT_PAGE_TO_XLS) {
541
- return 'page';
557
+ return IExportType.PAGE;
542
558
  }
543
- return 'selection';
559
+ return IExportType.SELECTION;
544
560
  }
545
561
  async dispatchExporter(option) {
546
562
  var _a, _b, _c;
547
563
  const optionKey = this.getOptionKey(option);
548
564
  const fileType = (_a = DataExporterType[optionKey]) !== null && _a !== void 0 ? _a : DataExporterType.EXPORT_TO_PDF;
549
- const isDownload = DataExporterType[optionKey] === DataExporterType.EXPORT_TO_XLS;
550
565
  const params = {
551
566
  methodName: DataExporterOption[`EXPORT_TO_${fileType}`],
552
567
  fileName: this._appLabel,
553
- titleGrid: this._appLabel,
568
+ gridTitle: this._appLabel,
554
569
  exportOption: option,
555
570
  limit: (_c = (_b = this.provider) === null || _b === void 0 ? void 0 : _b.getExportLimit) === null || _c === void 0 ? void 0 : _c.call(_b),
556
571
  type: this.getExportType(option),
557
572
  };
558
573
  await this.resolveExporter(params, (response) => {
559
574
  if (response.canExport || fileType === DataExporterType.EXPORT_TO_PDF) {
560
- fileViewer(Object.assign(Object.assign({}, response), { fileType,
561
- isDownload }));
575
+ fileViewer(Object.assign(Object.assign({}, response), { fileType }));
562
576
  }
563
577
  else {
564
578
  ApplicationUtils.error(this.getMessage("snkDataExporter.title.permission"), this.getMessage("snkDataExporter.message.exportPermission"));
@@ -766,4 +780,4 @@ function defineCustomElement() {
766
780
  } });
767
781
  }
768
782
 
769
- export { SnkDataExporter as S, defineCustomElement as d };
783
+ export { IExportType as I, SnkDataExporter as S, defineCustomElement as d };
@@ -1,47 +1,139 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { JSUtils, DataType, Action, ObjectUtils, DataUnitAction, StringUtils, ApplicationContext } from '@sankhyalabs/core';
2
+ import { Action, ObjectUtils, DataUnitAction, StringUtils, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { O as OperationMap, S as SnkMessageBuilder } from './SnkMessageBuilder.js';
5
- import { g as getRecordValue, d as DatasetStrategy } from './dataunit-fetcher.js';
5
+ import { g as getRecordValue, a as DatasetStrategy } from './dataunit-fetcher.js';
6
6
  import { convertType } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
7
+ import { g as getSelectedRecordsIDsInfo } from './GetSelectedRecordsIDsInfo.js';
7
8
 
8
- const getSelectedIDs = (dataUnit) => {
9
- const selectionInfo = dataUnit.getSelectionInfo();
10
- if (selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.isAllRecords()) {
11
- return [];
12
- }
13
- const selectedRecordsIDsInfo = [];
14
- const selectedRecords = selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.recordIds;
15
- if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) > 0) {
16
- selectedRecords.forEach(recordId => {
17
- if (!dataUnit.isNewRecord(recordId)) {
18
- /*
19
- Esse if foi necessário para tratar corretamente o ID
20
- do record quando está sendo utilizado no modo standAlone
21
- isso não faz a exportação da grid funcionar no modo standAlone
22
- mas deixa de causar erro nas oprações de CRUD.
23
- */
24
- if (!JSUtils.isBase64(recordId)) {
25
- selectedRecordsIDsInfo.push({
26
- name: "__record__id__",
27
- type: DataType.TEXT,
28
- value: recordId
29
- });
30
- return;
31
- }
32
- const revertBase64ToObject = JSON.parse(window.atob(recordId));
33
- Object.entries(revertBase64ToObject).forEach(([name, value]) => {
34
- const metadataField = dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.getField(name);
35
- if (metadataField == undefined) {
36
- return;
37
- }
38
- selectedRecordsIDsInfo.push(Object.assign({ name, type: metadataField.dataType }, value));
39
- });
40
- }
41
- });
9
+ const NO_TAB_NAME = "__NO_TAB_NAME__";
10
+ const MAIN_TAB_NAME = "__main";
11
+ async function showConfirmMultipleUpdatePopup({ title, labelBtnConfirm, labelBtnCancel, message, changingFields, }) {
12
+ return new Promise((resolve) => {
13
+ const popup = builPopup(title, resolve);
14
+ const contentContainer = buildContentContainer();
15
+ contentContainer.appendChild(buildMessage(message));
16
+ contentContainer.appendChild(buildChangesContainer(changingFields));
17
+ const actionsContainer = buildActionsContainer();
18
+ actionsContainer.appendChild(buildCancelBtn(popup, labelBtnCancel, resolve));
19
+ actionsContainer.appendChild(buildConfirmBtn(popup, labelBtnConfirm, resolve));
20
+ contentContainer.appendChild(actionsContainer);
21
+ popup.appendChild(contentContainer);
22
+ document.body.appendChild(popup);
23
+ });
24
+ }
25
+ function groupChanges(changingFields) {
26
+ const changesMap = new Map();
27
+ changingFields.forEach(change => {
28
+ var _a;
29
+ const key = (_a = change.tabName) !== null && _a !== void 0 ? _a : NO_TAB_NAME;
30
+ if (!changesMap.has(key))
31
+ changesMap.set(key, []);
32
+ changesMap.get(key).push(change);
33
+ });
34
+ return changesMap;
35
+ }
36
+ function getTabName(tabName) {
37
+ switch (tabName) {
38
+ case NO_TAB_NAME:
39
+ return "";
40
+ case MAIN_TAB_NAME:
41
+ return "Principal";
42
+ default:
43
+ return tabName;
42
44
  }
43
- return selectedRecordsIDsInfo;
44
- };
45
+ }
46
+ function buildChangesDiv(tabName, changes) {
47
+ const changeLabel = document.createElement('span');
48
+ changeLabel.innerText = getTabName(tabName);
49
+ changeLabel.style.display = 'block';
50
+ changeLabel.style.fontWeight = 'var(--text-weight--large, 500)';
51
+ changeLabel.style.fontSize = 'var(--text--medium, 14px)';
52
+ changeLabel.style.marginBottom = 'var(--space--small, 6px)';
53
+ const changeDiv = document.createElement('div');
54
+ changeDiv.style.padding = 'var(--space--medium, 12px) 0';
55
+ changeDiv.style.borderTop = '1px solid var(--color--disable-secondary, #f2f5f8)';
56
+ changeDiv.appendChild(changeLabel);
57
+ changes.forEach(change => {
58
+ const changeLine = document.createElement('span');
59
+ changeLine.innerHTML = `${change.label}: <span style="color: var(--text--primary, #626e82)">${change.value}</span>`;
60
+ changeLine.style.display = 'block';
61
+ changeLine.style.marginBottom = 'var(--space--extra-small, 3px)';
62
+ changeDiv.appendChild(changeLine);
63
+ });
64
+ return changeDiv;
65
+ }
66
+ function buildChangesContainer(changingFields) {
67
+ const changesContainer = document.createElement('div');
68
+ changesContainer.style.flexDirection = 'column';
69
+ changesContainer.style.display = 'flex';
70
+ changesContainer.style.overflow = 'auto';
71
+ changesContainer.style.maxHeight = '300px';
72
+ const changesMap = groupChanges(changingFields);
73
+ changesMap.forEach((changes, key) => {
74
+ changesContainer.appendChild(buildChangesDiv(key, changes));
75
+ });
76
+ return changesContainer;
77
+ }
78
+ function buildMessage(messageContent) {
79
+ const message = document.createElement('p');
80
+ message.textContent = messageContent;
81
+ message.style.fontSize = 'var(--text--medium, 14px)';
82
+ return message;
83
+ }
84
+ function buildContentContainer() {
85
+ const contentContainer = document.createElement('div');
86
+ contentContainer.style.display = 'flex';
87
+ contentContainer.style.flexDirection = 'column';
88
+ contentContainer.style.fontFamily = 'var(--font-pattern, Roboto)';
89
+ contentContainer.style.fontSize = 'var(--text--medium, 14px)';
90
+ return contentContainer;
91
+ }
92
+ function buildActionsContainer() {
93
+ const actionsContainer = document.createElement('div');
94
+ actionsContainer.style.display = 'flex';
95
+ actionsContainer.style.flexDirection = 'row';
96
+ actionsContainer.style.justifyContent = 'flex-end';
97
+ actionsContainer.style.gap = '5px';
98
+ return actionsContainer;
99
+ }
100
+ function builPopup(title, resolve) {
101
+ const popup = document.createElement('ez-popup');
102
+ popup.opened = true;
103
+ popup.size = 'small';
104
+ popup.ezTitle = title;
105
+ popup.heightMode = 'auto';
106
+ popup.addEventListener('ezClosePopup', () => {
107
+ document.body.removeChild(popup);
108
+ resolve(false);
109
+ }, { once: true });
110
+ popup.addEventListener('ezPopupAction', () => {
111
+ document.body.removeChild(popup);
112
+ resolve(false);
113
+ }, { once: true });
114
+ return popup;
115
+ }
116
+ function buildConfirmBtn(popup, confirmBtnLabel, resolve) {
117
+ const confirmBtn = document.createElement('ez-button');
118
+ confirmBtn.label = confirmBtnLabel;
119
+ confirmBtn.size = 'medium';
120
+ confirmBtn.classList.add('ez-button--primary');
121
+ confirmBtn.onclick = () => {
122
+ document.body.removeChild(popup);
123
+ resolve(true);
124
+ };
125
+ return confirmBtn;
126
+ }
127
+ function buildCancelBtn(popup, cancelBtnLabel, resolve) {
128
+ const cancelBtn = document.createElement('ez-button');
129
+ cancelBtn.label = cancelBtnLabel;
130
+ cancelBtn.size = 'medium';
131
+ cancelBtn.onclick = () => {
132
+ document.body.removeChild(popup);
133
+ resolve(false);
134
+ };
135
+ return cancelBtn;
136
+ }
45
137
 
46
138
  const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
47
139
  constructor() {
@@ -59,9 +151,10 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
59
151
  this._fieldsWithRmPrecision = [];
60
152
  this._metadataByRow = new Map();
61
153
  this._rowMetadataCache = new Map();
154
+ this._formFieldsConfig = [];
62
155
  this.REGEX_DATAUNIT_NAME = /dd:\/\/(.+?)\//;
63
156
  this._dataUnitObserver = async (action) => {
64
- const duState = this.buildDataState(action.type);
157
+ const duState = await this.buildDataState(action.type);
65
158
  this.dataState = duState;
66
159
  this.messagesBuilder.currentOperation = this.getMessageOperation();
67
160
  switch (action.type) {
@@ -135,6 +228,10 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
135
228
  this.messagesBuilderUpdated.emit(newValue);
136
229
  }
137
230
  }
231
+ onMasterFormConfigChange({ detail }) {
232
+ var _a;
233
+ this._formFieldsConfig = (_a = detail === null || detail === void 0 ? void 0 : detail.fields) !== null && _a !== void 0 ? _a : [];
234
+ }
138
235
  /**
139
236
  * Obtém o dataUnit.
140
237
  */
@@ -153,7 +250,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
153
250
  * @returns Retorna a lista de IDs dos registros selecionados.
154
251
  */
155
252
  async getSelectedRecordsIDsInfo() {
156
- return Promise.resolve(getSelectedIDs(this.dataUnit));
253
+ return getSelectedRecordsIDsInfo(this.dataUnit);
157
254
  }
158
255
  /**
159
256
  * Retorna os campos que possuem a propriedade "rmp" (Row Metadata Provider).
@@ -173,14 +270,22 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
173
270
  async getRowMetadata(record) {
174
271
  return this.doGetRowMetadata(record);
175
272
  }
176
- doGetRowMetadata(record) {
273
+ async doGetRowMetadata(record) {
177
274
  const selectedRecord = this.dataUnit.getSelectedRecord();
178
275
  if (!record && !selectedRecord) {
179
276
  return;
180
277
  }
181
278
  const currentRecord = record || selectedRecord;
182
279
  const recordId = typeof currentRecord === 'string' ? currentRecord : currentRecord.__record__id__;
183
- const rowMetadata = this._metadataByRow.get(recordId);
280
+ let rowMetadata = this._metadataByRow.get(recordId);
281
+ /*
282
+ Nao fazemos cache de metadataByRow pra registros novos, pois a chave do mesmo
283
+ muda ao ser salvo, por isso essa tratativa é necessária para que o dataState fique com metadados
284
+ corretos nao confiando apenas no _metadataByRow
285
+ */
286
+ if (this.dataUnit.isNewRecord(recordId) && !rowMetadata) {
287
+ rowMetadata = await this.handleLoadRowMetadata(selectedRecord);
288
+ }
184
289
  if (!rowMetadata) {
185
290
  return;
186
291
  }
@@ -286,7 +391,9 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
286
391
  return new DataUnitAction(Action.RECORDS_COPIED, this.handleRecordsCopied(action.payload));
287
392
  }
288
393
  async interceptDataChange(action) {
289
- if (this.isAllowed("UPDATE")) {
394
+ var _a;
395
+ const recordId = (_a = this.dataUnit.getSelectedRecord()) === null || _a === void 0 ? void 0 : _a.__record__id__;
396
+ if (this.isAllowed("UPDATE") || this.dataUnit.isNewRecord(recordId)) {
290
397
  return action;
291
398
  }
292
399
  if (this._openedAlert) {
@@ -299,9 +406,13 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
299
406
  this._openedAlert = false;
300
407
  }
301
408
  async interceptSavingData(action) {
302
- if (!this.beforeSave) {
303
- return action;
409
+ if (this.dataUnit.isMultipleEdition) {
410
+ const confirm = await this.confirmMultipleSavingData();
411
+ if (!confirm)
412
+ return undefined;
304
413
  }
414
+ if (!this.beforeSave)
415
+ return action;
305
416
  const continueAction = this.beforeSave(this.dataUnit);
306
417
  if (continueAction instanceof Promise) {
307
418
  const result = await continueAction;
@@ -309,6 +420,46 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
309
420
  }
310
421
  return continueAction ? action : undefined;
311
422
  }
423
+ async confirmMultipleSavingData() {
424
+ const selectedRecords = this.dataUnit.getSelectionInfo().records;
425
+ const title = this.getMessage('snkDataUnit.multipleUpdateConfirmationTitle');
426
+ const message = this.getMessage('snkDataUnit.multipleUpdateConfirmationMessage', { size: selectedRecords.length });
427
+ const labelBtnCancel = this.getMessage('snkDataUnit.confirm.cancel');
428
+ const labelBtnConfirm = this.getMessage('snkDataUnit.confirm.updateMultipleConfirm');
429
+ return await showConfirmMultipleUpdatePopup({
430
+ title,
431
+ message,
432
+ labelBtnConfirm,
433
+ labelBtnCancel,
434
+ changingFields: this.getChangingFields(),
435
+ });
436
+ }
437
+ getChangingFields() {
438
+ const changes = this.dataUnit.buildChangesToSave();
439
+ if (!(changes === null || changes === void 0 ? void 0 : changes.length))
440
+ return [];
441
+ const change = changes[0];
442
+ const changingFields = Object.keys(change.updatingFields).map(key => this.buildChangingField(key, change[key]));
443
+ return changingFields;
444
+ }
445
+ buildChangingField(key, value) {
446
+ const fieldLabel = this.dataUnit.getField(key).label;
447
+ const formattedValue = this.dataUnit.getFormattedValue(key, value);
448
+ return {
449
+ label: fieldLabel,
450
+ value: formattedValue,
451
+ tabName: this.getFieldTabName(key),
452
+ };
453
+ }
454
+ getFieldTabName(fieldName) {
455
+ var _a;
456
+ const tab = (_a = this._formFieldsConfig.find(f => f.name === fieldName)) === null || _a === void 0 ? void 0 : _a.tab;
457
+ if (!tab)
458
+ return undefined;
459
+ if (typeof tab === 'string')
460
+ return tab;
461
+ return tab.label;
462
+ }
312
463
  interceptDataSaved(action) {
313
464
  if (this.afterSave) {
314
465
  this.afterSave(this.dataUnit);
@@ -328,7 +479,17 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
328
479
  }
329
480
  const cancelConfirmationTitle = this.getMessage("snkDataUnit.cancelConfirmationTitle");
330
481
  const confirm = await ApplicationUtils.confirm(cancelConfirmationTitle, cancelConfirmation);
331
- confirm && this.showSuccessMessage(this.getMessage("snkDataUnit.cancelInfo"));
482
+ if (confirm) {
483
+ let editionCanceledMessage;
484
+ if (this.dataUnit.isMultipleEdition) {
485
+ const selectedRecords = this.dataUnit.getSelectionInfo().records;
486
+ editionCanceledMessage = this.buildMultipleUpdateMessage(selectedRecords, true);
487
+ }
488
+ else {
489
+ editionCanceledMessage = this.getMessage("snkDataUnit.cancelInfo");
490
+ }
491
+ this.showSuccessMessage(editionCanceledMessage);
492
+ }
332
493
  return confirm ? action : undefined;
333
494
  }
334
495
  async interceptRemovingRecords(action) {
@@ -374,7 +535,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
374
535
  case Action.RECORDS_COPIED:
375
536
  return this.interceptRecordsCopied(action);
376
537
  case Action.DATA_CHANGED:
377
- await this.handleLoadRowMetadata(action);
538
+ await this.handleLoadRowMetadata(action.payload);
378
539
  return await this.interceptDataChange(action);
379
540
  case Action.CHANGING_DATA:
380
541
  return await this.interceptDataChange(action);
@@ -394,8 +555,9 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
394
555
  return action;
395
556
  }
396
557
  }
397
- async handleLoadRowMetadata(action) {
398
- const record = action.type === Action.DATA_CHANGED ? action.payload : action.payload.changes[0].record;
558
+ async handleLoadRowMetadata(record) {
559
+ if (!record)
560
+ return;
399
561
  const keysPayload = Object.keys(record);
400
562
  const rmpField = keysPayload.find((field) => this._fieldsWithRmp.includes(field));
401
563
  if (rmpField) {
@@ -474,7 +636,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
474
636
  isAllowed(flag) {
475
637
  return this._permissions ? this._permissions.isSup || this._permissions[flag] : false;
476
638
  }
477
- buildDataState(actionType) {
639
+ async buildDataState(actionType) {
478
640
  var _a;
479
641
  const selectionInfo = this.dataUnit.getSelectionInfo();
480
642
  const isStartingInsertionMode = (this.dataUnit.hasDirtyRecords() || this.dataUnit.hasWaitingChanges()) && (selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.isEmpty());
@@ -482,7 +644,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
482
644
  let rowMetadata = (_a = this.dataState) === null || _a === void 0 ? void 0 : _a.rowMetadata;
483
645
  const allowedOverwrite = [Action.SELECTION_CHANGED, Action.EDITION_CANCELED, Action.NEXT_SELECTED, Action.PREVIOUS_SELECTED];
484
646
  if (selectedRecord && (!rowMetadata || allowedOverwrite.includes(actionType))) {
485
- rowMetadata = this.doGetRowMetadata(selectedRecord);
647
+ rowMetadata = await this.doGetRowMetadata(selectedRecord);
486
648
  }
487
649
  else if (rowMetadata) {
488
650
  rowMetadata.getProp = this.buildGetPropRowMetadata(rowMetadata);
@@ -504,32 +666,54 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
504
666
  });
505
667
  }
506
668
  async handleDataSaved(action) {
507
- const newRowMetadata = await this.handleLoadRowMetadata(action);
669
+ var _a, _b, _c;
670
+ const changes = (_a = action === null || action === void 0 ? void 0 : action.payload) === null || _a === void 0 ? void 0 : _a.changes;
671
+ const affectedRecords = (_b = action === null || action === void 0 ? void 0 : action.payload) === null || _b === void 0 ? void 0 : _b.records;
672
+ const newRowMetadata = await this.handleLoadRowMetadata((_c = changes === null || changes === void 0 ? void 0 : changes[0]) === null || _c === void 0 ? void 0 : _c.record);
508
673
  if (newRowMetadata) {
509
674
  newRowMetadata.getProp = this.buildGetPropRowMetadata(newRowMetadata);
510
675
  }
511
- const recordId = action.payload.records[0].__record__id__;
676
+ const recordId = affectedRecords[0].__record__id__;
512
677
  this._metadataByRow.set(recordId, newRowMetadata);
513
- this.dataState = this.buildDataState();
514
- if (this.ignoreSaveMessage) {
515
- return;
678
+ this.dataState = await this.buildDataState();
679
+ let saveOperation = changes[0]._operation.toLowerCase();
680
+ if (saveOperation == 'copy') {
681
+ saveOperation = OperationMap.CLONE;
516
682
  }
517
- const saveOperation = action.payload.changes[0]._operation.toLowerCase();
518
- const msg = this.getMessage("snkDataUnit.saveInfo", action.payload.records[0], saveOperation);
683
+ if (this.canIgnoreOperationMessage(saveOperation))
684
+ return;
685
+ let msg = this.buildOperationMessage(saveOperation, affectedRecords);
519
686
  if (msg != undefined) {
520
687
  this.showSuccessMessage(msg);
521
688
  }
522
689
  }
690
+ canIgnoreOperationMessage(saveOperation) {
691
+ return this.ignoreSaveMessage && !this.isCloneOrInsertOperation(saveOperation);
692
+ }
693
+ isCloneOrInsertOperation(saveOperation) {
694
+ return [OperationMap.CLONE, OperationMap.INSERT].includes(saveOperation);
695
+ }
696
+ buildOperationMessage(saveOperation, records) {
697
+ if (this.isMultiplesUpdate(saveOperation, records)) {
698
+ return this.buildMultipleUpdateMessage(records);
699
+ }
700
+ return this.getMessage('snkDataUnit.saveInfo', records[0], saveOperation);
701
+ }
702
+ buildMultipleUpdateMessage(records, isCancel) {
703
+ /**
704
+ * FIXME: No futuro, precisamos pensar em um mecanismo para deixar as mensagens de feedback mais dinâmicas.
705
+ * Podemo ocorrer cenários onde temos mais de um registro selecionado e também cenários onde a chave primária
706
+ * de um registro se trata de uma chave composta.
707
+ */
708
+ const key = `snkDataUnit.${isCancel ? 'cancelInfo' : 'saveInfo'}`;
709
+ return this.getMessage(key, { records: records }, OperationMap.UPDATE_MULTIPLES);
710
+ }
711
+ isMultiplesUpdate(saveOperation, records) {
712
+ return saveOperation === OperationMap.UPDATE && records.length > 1;
713
+ }
523
714
  handleRecordsRemoved(action) {
524
715
  var _a, _b;
525
- const cachedRecords = action.payload.cachedRecords;
526
- let removeFinishMsg;
527
- if ((cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.length) > 1) {
528
- removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size: cachedRecords.length });
529
- }
530
- else {
531
- removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
532
- }
716
+ let removeFinishMsg = this.buildRemoveFinishMessage(action);
533
717
  if (removeFinishMsg != undefined) {
534
718
  this.showSuccessMessage(removeFinishMsg);
535
719
  }
@@ -540,6 +724,14 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
540
724
  this.dataUnit.gotoPage(page);
541
725
  }
542
726
  }
727
+ buildRemoveFinishMessage(action) {
728
+ const records = action.payload.records;
729
+ if (!records || !records.length)
730
+ return undefined;
731
+ if ((records === null || records === void 0 ? void 0 : records.length) > 1)
732
+ return this.getMessage('snkDataUnit.removeAllInfo', { size: records.length });
733
+ return this.getMessage('snkDataUnit.removeInfo', records);
734
+ }
543
735
  /**
544
736
  * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
545
737
  * através de um pequeno modulo na estrutura da aplicação:
@@ -583,21 +775,30 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
583
775
  return await this._application.getDataUnit(this.entityName, cacheName, null, this.configName, this.resourceID);
584
776
  }
585
777
  }
778
+ updateMetadataWithRMP() {
779
+ this.fillFieldsWithRmp(this.dataUnit.metadata);
780
+ this.fillFieldsWithRmPrecision(this.dataUnit.metadata);
781
+ const dataUnitUpdatedMetadata = this.handleDULinksOnMetadataLoaded(this.dataUnit.metadata);
782
+ this.dataUnit.metadata = dataUnitUpdatedMetadata;
783
+ }
586
784
  async loadDataUnit() {
587
- var _a;
785
+ var _a, _b;
588
786
  if (this.dataUnit == null && this._application && this.entityName) {
589
787
  this.dataUnit = await this.getDataUnitParentOrChild();
590
788
  }
591
789
  if (this.dataUnit) {
592
790
  this.dataUnit.pageSize = this.pageSize;
593
791
  this.dataUnit.unsubscribe(this._dataUnitObserver);
594
- this.dataUnit.addInterceptor(this);
595
792
  this.dataUnit.subscribe(this._dataUnitObserver);
596
- await this.dataUnit.loadMetadata();
597
- if ((_a = this.dataUnit.records) === null || _a === void 0 ? void 0 : _a.length) {
598
- this.getMetadataByRow(this.dataUnit);
793
+ if ((_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.metadata) {
794
+ this.updateMetadataWithRMP();
795
+ }
796
+ this.dataUnit.addInterceptor(this);
797
+ if ((_b = this.dataUnit.records) === null || _b === void 0 ? void 0 : _b.length) {
798
+ const { records } = this.getMetadataByRow(this.dataUnit);
799
+ this.dataUnit.records = records;
599
800
  }
600
- this.dataState = this.buildDataState();
801
+ this.dataState = await this.buildDataState();
601
802
  let resolver;
602
803
  while (resolver = this._onDataUnitResolve.pop()) {
603
804
  resolver(this.dataUnit);
@@ -716,7 +917,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
716
917
  "getFieldsWithRmp": [64],
717
918
  "getFieldsWithRmPrecision": [64],
718
919
  "getRowMetadata": [64]
719
- }]);
920
+ }, [[0, "snkMasterFormConfigChange", "onMasterFormConfigChange"]]]);
720
921
  class DataStateImpl {
721
922
  constructor(datastate) {
722
923
  this.copyMode = datastate.copyMode;
@@ -755,4 +956,4 @@ function defineCustomElement() {
755
956
  } });
756
957
  }
757
958
 
758
- export { SnkDataUnit as S, defineCustomElement as d, getSelectedIDs as g };
959
+ export { SnkDataUnit as S, defineCustomElement as d };