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

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 (438) 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-aecd7c18.js} +37 -26
  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/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
  13. package/dist/cjs/{form-config-fetcher-feb08214.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} +203 -46
  20. package/dist/cjs/snk-application.cjs.entry.js +471 -79
  21. package/dist/cjs/snk-attach.cjs.entry.js +91 -50
  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 +57 -60
  25. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -30
  26. package/dist/cjs/{snk-data-unit-ece44c4a.js → snk-data-unit-ebfdb9ba.js} +275 -37
  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 +115 -33
  39. package/dist/cjs/{snk-guides-viewer-aafc3073.js → snk-guides-viewer-fd39f437.js} +120 -55
  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 +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 +179 -130
  47. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  48. package/dist/cjs/snk-taskbar.cjs.entry.js +73 -40
  49. package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-02379452.js} +4 -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 +450 -72
  61. package/dist/collection/components/snk-attach/snk-attach.js +51 -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 +19 -18
  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 +181 -52
  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 +165 -45
  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/MultipleUpdateHelper.js +128 -0
  82. package/dist/collection/components/snk-data-unit/snk-data-unit.js +156 -37
  83. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
  84. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  85. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  86. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
  87. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +18 -5
  88. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  89. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  90. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  91. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  92. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +10 -4
  93. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  94. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  95. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -6
  96. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
  97. package/dist/collection/components/snk-form/snk-form.js +2 -2
  98. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
  99. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  100. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  101. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.js +5 -3
  102. package/dist/collection/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.js +2 -2
  103. package/dist/collection/components/snk-grid/snk-grid.css +8 -0
  104. package/dist/collection/components/snk-grid/snk-grid.js +236 -18
  105. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  106. package/dist/collection/components/snk-grid-config/snk-grid-config.js +2 -0
  107. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +3 -0
  108. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +73 -0
  109. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +78 -0
  110. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +57 -0
  111. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  112. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  113. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  114. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  115. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  116. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  117. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +181 -32
  118. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  119. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  120. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  121. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +280 -51
  122. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  123. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  124. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +13 -0
  125. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +1 -1
  126. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +3 -0
  127. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  128. package/dist/collection/components/snk-taskbar/snk-taskbar.js +113 -39
  129. package/dist/collection/lib/@types/index.js +5 -0
  130. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +11 -5
  131. package/dist/collection/lib/configs/LayoutFormConfig.js +25 -0
  132. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -103
  133. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -32
  134. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +44 -29
  135. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  136. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  137. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  138. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +5 -2
  139. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  140. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +23 -14
  141. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  142. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +59 -5
  143. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  144. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +133 -9
  145. package/dist/collection/lib/index.js +1 -0
  146. package/dist/collection/lib/message/SnkMessageBuilder.js +1 -0
  147. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +28 -23
  148. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  149. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  150. package/dist/collection/lib/message/resources/snk-taskbar.msg.js +1 -0
  151. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  152. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  153. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  154. package/dist/collection/lib/utils/constants.js +10 -0
  155. package/dist/collection/sw.js +46 -0
  156. package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +186 -37
  157. package/dist/components/DataFetcher.js +231 -84
  158. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  159. package/dist/components/ISave.js +391 -1
  160. package/dist/components/SnkFormConfigManager.js +73 -15
  161. package/dist/components/SnkMessageBuilder.js +37 -26
  162. package/dist/components/constants.js +11 -1
  163. package/dist/components/dataunit-fetcher.js +243 -190
  164. package/dist/components/form-config-fetcher.js +55 -1
  165. package/dist/components/index.d.ts +5 -0
  166. package/dist/components/index.js +5 -0
  167. package/dist/components/pesquisa-grid.d.ts +11 -0
  168. package/dist/components/pesquisa-grid.js +6 -0
  169. package/dist/components/pesquisa-grid2.js +102 -0
  170. package/dist/components/pesquisa-tree.d.ts +11 -0
  171. package/dist/components/pesquisa-tree.js +6 -0
  172. package/dist/components/pesquisa-tree2.js +91 -0
  173. package/dist/components/snk-actions-button2.js +44 -40
  174. package/dist/components/snk-application2.js +494 -77
  175. package/dist/components/snk-attach2.js +103 -68
  176. package/dist/components/snk-config-options2.js +6 -4
  177. package/dist/components/snk-configurator2.js +23 -3
  178. package/dist/components/snk-crud.js +135 -113
  179. package/dist/components/snk-data-exporter2.js +37 -23
  180. package/dist/components/snk-data-unit2.js +275 -74
  181. package/dist/components/snk-detail-view2.js +230 -148
  182. package/dist/components/snk-exporter-email-sender2.js +1 -1
  183. package/dist/components/snk-filter-bar2.js +68 -34
  184. package/dist/components/snk-filter-binary-select.js +1 -1
  185. package/dist/components/snk-filter-checkbox-list.js +1 -1
  186. package/dist/components/snk-filter-item2.js +10 -4
  187. package/dist/components/snk-filter-modal.js +4 -2
  188. package/dist/components/snk-filter-number.js +1 -1
  189. package/dist/components/snk-filter-search.js +18 -5
  190. package/dist/components/snk-filter-text.js +2 -1
  191. package/dist/components/snk-form-config2.js +35 -10
  192. package/dist/components/snk-form.js +2 -2
  193. package/dist/components/snk-grid-config2.js +3 -1
  194. package/dist/components/snk-grid2.js +112 -23
  195. package/dist/components/snk-layout-form-config.d.ts +11 -0
  196. package/dist/components/snk-layout-form-config.js +6 -0
  197. package/dist/components/snk-layout-form-config2.js +73 -0
  198. package/dist/components/snk-personalized-filter-editor.js +4 -4
  199. package/dist/components/snk-pesquisa2.js +132 -33
  200. package/dist/components/snk-print-selector.js +1 -1
  201. package/dist/components/snk-simple-bar2.js +1 -1
  202. package/dist/components/snk-simple-crud2.js +176 -128
  203. package/dist/components/snk-simple-form-config.d.ts +11 -0
  204. package/dist/components/snk-simple-form-config.js +6 -0
  205. package/dist/components/snk-simple-form-config2.js +121 -0
  206. package/dist/components/snk-tab-config2.js +1 -1
  207. package/dist/components/snk-taskbar2.js +76 -40
  208. package/dist/components/snk-view-representation.d.ts +11 -0
  209. package/dist/components/snk-view-representation.js +6 -0
  210. package/dist/components/snk-view-representation2.js +41 -0
  211. package/dist/components/taskbar-actions-button2.js +2 -2
  212. package/dist/components/teste-pesquisa.js +13 -1
  213. package/dist/esm/ClientSideExporterProvider-b3871edb.js +367 -0
  214. package/dist/esm/{ConfigStorage-e476378d.js → ConfigStorage-71e6766f.js} +2 -2
  215. package/dist/esm/{DataFetcher-773a3e4b.js → DataFetcher-88e56266.js} +231 -84
  216. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  217. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  218. package/dist/esm/ISave-5efafc97.js +394 -0
  219. package/dist/esm/{SnkFormConfigManager-298cd647.js → SnkFormConfigManager-be490a33.js} +75 -17
  220. package/dist/esm/{SnkMessageBuilder-571462fb.js → SnkMessageBuilder-12f5fe1a.js} +37 -26
  221. package/dist/esm/{auth-fetcher-a411f73c.js → auth-fetcher-3510520e.js} +1 -1
  222. package/dist/esm/{constants-8457af36.js → constants-7db1128a.js} +11 -1
  223. package/dist/esm/{dataunit-fetcher-3d2ec959.js → dataunit-fetcher-0e025732.js} +227 -174
  224. package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
  225. package/dist/esm/{form-config-fetcher-e0382e5a.js → form-config-fetcher-fa208a6c.js} +56 -2
  226. package/dist/esm/index-a7d3d3f1.js +16 -32
  227. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  228. package/dist/esm/loader.js +1 -1
  229. package/dist/esm/pesquisa-grid_2.entry.js +150 -0
  230. package/dist/esm/sankhyablocks.js +1 -1
  231. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_7.entry.js} +203 -49
  232. package/dist/esm/snk-application.entry.js +472 -80
  233. package/dist/esm/snk-attach.entry.js +92 -51
  234. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +401 -15
  235. package/dist/esm/snk-configurator.entry.js +10 -3
  236. package/dist/esm/snk-crud.entry.js +58 -61
  237. package/dist/esm/snk-data-exporter.entry.js +38 -30
  238. package/dist/esm/{snk-data-unit-2a1d5d09.js → snk-data-unit-03654813.js} +275 -37
  239. package/dist/esm/snk-data-unit.entry.js +5 -5
  240. package/dist/esm/snk-detail-view.entry.js +17 -17
  241. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  242. package/dist/esm/snk-field-config.entry.js +1 -1
  243. package/dist/esm/snk-filter-bar_4.entry.js +1431 -0
  244. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  245. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  246. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  247. package/dist/esm/snk-filter-number.entry.js +1 -1
  248. package/dist/esm/snk-filter-search.entry.js +18 -5
  249. package/dist/esm/snk-filter-text.entry.js +2 -1
  250. package/dist/esm/snk-grid.entry.js +110 -28
  251. package/dist/esm/{snk-guides-viewer-62124f3d.js → snk-guides-viewer-75e06feb.js} +121 -56
  252. package/dist/esm/snk-guides-viewer.entry.js +11 -12
  253. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  254. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  255. package/dist/esm/snk-pesquisa.entry.js +116 -31
  256. package/dist/esm/snk-print-selector.entry.js +1 -1
  257. package/dist/esm/snk-simple-bar.entry.js +1 -1
  258. package/dist/esm/snk-simple-crud.entry.js +165 -116
  259. package/dist/esm/snk-tab-config.entry.js +1 -1
  260. package/dist/esm/snk-taskbar.entry.js +74 -41
  261. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-c62b6c66.js} +4 -1
  262. package/dist/sankhyablocks/{p-3287a6cc.js → p-03b68a74.js} +1 -1
  263. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  264. package/dist/sankhyablocks/{p-9dfda04a.entry.js → p-165cde3b.entry.js} +1 -1
  265. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  266. package/dist/sankhyablocks/p-1a51dfde.entry.js +1 -0
  267. package/dist/sankhyablocks/p-23736d75.js +1 -0
  268. package/dist/sankhyablocks/p-271c86d3.entry.js +1 -0
  269. package/dist/sankhyablocks/p-2c08fa3e.entry.js +11 -0
  270. package/dist/sankhyablocks/p-2d6df7e7.entry.js +1 -0
  271. package/dist/sankhyablocks/{p-95df461f.entry.js → p-3749dffb.entry.js} +1 -1
  272. package/dist/sankhyablocks/p-41da5310.js +1 -0
  273. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  274. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  275. package/dist/sankhyablocks/{p-bd008859.entry.js → p-490b75b5.entry.js} +1 -1
  276. package/dist/sankhyablocks/p-4a93daef.entry.js +1 -0
  277. package/dist/sankhyablocks/p-4e861843.entry.js +1 -0
  278. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  279. package/dist/sankhyablocks/p-5ffa0493.entry.js +1 -0
  280. package/dist/sankhyablocks/p-60137b7a.entry.js +1 -0
  281. package/dist/sankhyablocks/p-601b252b.js +26 -0
  282. package/dist/sankhyablocks/p-65be98c5.entry.js +1 -0
  283. package/dist/sankhyablocks/p-6a0c8ce0.entry.js +1 -0
  284. package/dist/sankhyablocks/p-6dd38d7b.js +6 -0
  285. package/dist/sankhyablocks/{p-0cd3c0a9.js → p-73285a8a.js} +1 -1
  286. package/dist/sankhyablocks/p-7993b2e3.js +60 -0
  287. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  288. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  289. package/dist/sankhyablocks/p-80f8c22c.js +1 -0
  290. package/dist/sankhyablocks/p-885802c3.js +1 -0
  291. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  292. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  293. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  294. package/dist/sankhyablocks/p-90684a75.entry.js +1 -0
  295. package/dist/sankhyablocks/{p-b0ef4383.js → p-9261d8a0.js} +1 -1
  296. package/dist/sankhyablocks/p-a14a09c3.entry.js +1 -0
  297. package/dist/sankhyablocks/p-ad07f0c5.entry.js +1 -0
  298. package/dist/sankhyablocks/p-b0ab5066.entry.js +1 -0
  299. package/dist/sankhyablocks/p-b6200d32.entry.js +1 -0
  300. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-c0eb761b.entry.js} +1 -1
  301. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  302. package/dist/sankhyablocks/p-cc8c3bca.entry.js +1 -0
  303. package/dist/sankhyablocks/p-cf1f25ed.entry.js +1 -0
  304. package/dist/sankhyablocks/p-ebdb9d89.js +1 -0
  305. package/dist/sankhyablocks/p-f4d5bb7f.js +1 -0
  306. package/dist/sankhyablocks/p-fb0f0087.js +1 -0
  307. package/dist/sankhyablocks/p-fbba7e3d.js +1 -0
  308. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  309. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  310. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  311. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  312. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  313. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  314. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  315. package/dist/types/components/snk-application/search-strategy/exec-prepared-search-plus.d.ts +5 -0
  316. package/dist/types/components/snk-application/snk-application.d.ts +55 -16
  317. package/dist/types/components/snk-attach/snk-attach.d.ts +2 -0
  318. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  319. package/dist/types/components/snk-crud/snk-crud.d.ts +30 -0
  320. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +5 -0
  321. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +20 -1
  322. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  323. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  324. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +9 -1
  325. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  326. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  327. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  328. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  329. package/dist/types/components/snk-data-unit/MultipleUpdateHelper.d.ts +9 -0
  330. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +19 -0
  331. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +5 -3
  332. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  333. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  334. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  335. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  336. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  337. package/dist/types/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.d.ts +2 -1
  338. package/dist/types/components/snk-grid/snk-grid.d.ts +38 -0
  339. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +1 -0
  340. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
  341. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -0
  342. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  343. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  344. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  345. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +36 -1
  346. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +41 -5
  347. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  348. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +2 -1
  349. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  350. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +12 -0
  351. package/dist/types/components.d.ts +501 -16
  352. package/dist/types/lib/@types/index.d.ts +4 -0
  353. package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
  354. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  355. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  356. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  357. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  358. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  359. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  360. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  361. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -1
  362. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  363. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  364. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  365. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  366. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +14 -2
  367. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  368. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +21 -2
  369. package/dist/types/lib/index.d.ts +1 -0
  370. package/dist/types/lib/message/SnkMessageBuilder.d.ts +2 -1
  371. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  372. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  373. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  374. package/dist/types/lib/utils/constants.d.ts +8 -0
  375. package/package.json +4 -3
  376. package/react/components.d.ts +5 -0
  377. package/react/components.js +5 -0
  378. package/react/components.js.map +1 -1
  379. package/dist/cjs/IExporterProvider-10b7fed5.js +0 -230
  380. package/dist/cjs/ISave-e91b70a7.js +0 -9
  381. package/dist/cjs/pesquisa-fetcher-a1d0353f.js +0 -166
  382. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  383. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  384. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  385. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  386. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  387. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  388. package/dist/components/pesquisa-fetcher.js +0 -164
  389. package/dist/esm/IExporterProvider-d597f27d.js +0 -221
  390. package/dist/esm/ISave-d8c8bc59.js +0 -9
  391. package/dist/esm/pesquisa-fetcher-a87445a0.js +0 -164
  392. package/dist/esm/snk-config-options.entry.js +0 -235
  393. package/dist/esm/snk-filter-bar.entry.js +0 -710
  394. package/dist/esm/snk-filter-item.entry.js +0 -308
  395. package/dist/esm/snk-filter-list.entry.js +0 -148
  396. package/dist/esm/snk-filter-modal.entry.js +0 -245
  397. package/dist/esm/snk-form.entry.js +0 -139
  398. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  399. package/dist/sankhyablocks/p-091ce761.js +0 -60
  400. package/dist/sankhyablocks/p-14b8b656.entry.js +0 -1
  401. package/dist/sankhyablocks/p-181975f1.js +0 -26
  402. package/dist/sankhyablocks/p-1e971cb0.entry.js +0 -1
  403. package/dist/sankhyablocks/p-21749402.js +0 -1
  404. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  405. package/dist/sankhyablocks/p-25f1fc39.js +0 -6
  406. package/dist/sankhyablocks/p-2e9c764c.entry.js +0 -1
  407. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  408. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  409. package/dist/sankhyablocks/p-421bec84.entry.js +0 -1
  410. package/dist/sankhyablocks/p-42f7b05d.entry.js +0 -1
  411. package/dist/sankhyablocks/p-51999ab5.entry.js +0 -1
  412. package/dist/sankhyablocks/p-594bc21d.js +0 -1
  413. package/dist/sankhyablocks/p-5f016aed.js +0 -1
  414. package/dist/sankhyablocks/p-62f34e6f.entry.js +0 -1
  415. package/dist/sankhyablocks/p-631954eb.entry.js +0 -1
  416. package/dist/sankhyablocks/p-65f8c11c.entry.js +0 -1
  417. package/dist/sankhyablocks/p-684a2590.entry.js +0 -1
  418. package/dist/sankhyablocks/p-70001ac1.js +0 -1
  419. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  420. package/dist/sankhyablocks/p-7663f597.entry.js +0 -1
  421. package/dist/sankhyablocks/p-76a65660.js +0 -1
  422. package/dist/sankhyablocks/p-7e7a7473.js +0 -1
  423. package/dist/sankhyablocks/p-7ef9c55c.js +0 -1
  424. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  425. package/dist/sankhyablocks/p-939e15d3.entry.js +0 -1
  426. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  427. package/dist/sankhyablocks/p-9863d682.js +0 -1
  428. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  429. package/dist/sankhyablocks/p-c2495304.js +0 -1
  430. package/dist/sankhyablocks/p-c8622597.entry.js +0 -1
  431. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  432. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  433. package/dist/sankhyablocks/p-d65d98ed.entry.js +0 -1
  434. package/dist/sankhyablocks/p-d6610d11.entry.js +0 -11
  435. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  436. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  437. package/dist/sankhyablocks/p-ffa5e4ff.js +0 -1
  438. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
@@ -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 };