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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/dist/cjs/ClientSideExporterProvider-5fff8770.js +372 -0
  2. package/dist/cjs/{ConfigStorage-a343e418.js → ConfigStorage-df09fb78.js} +2 -2
  3. package/dist/cjs/{DataFetcher-313debd8.js → DataFetcher-1afdb18e.js} +231 -79
  4. package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
  5. package/dist/cjs/IFetchDataExporterParams-e78ec415.js +8 -0
  6. package/dist/cjs/ISave-c76e2c51.js +397 -0
  7. package/dist/cjs/{SnkFormConfigManager-166cbd1f.js → SnkFormConfigManager-45a8d7b7.js} +75 -17
  8. package/dist/cjs/{SnkMessageBuilder-897ffd08.js → SnkMessageBuilder-bae64d0d.js} +6 -2
  9. package/dist/cjs/{auth-fetcher-54f5ff9d.js → auth-fetcher-1687ac0a.js} +1 -1
  10. package/dist/cjs/{constants-35ddd366.js → constants-77c1b8bd.js} +10 -0
  11. package/dist/cjs/{dataunit-fetcher-688d3f05.js → dataunit-fetcher-4a5d491a.js} +220 -173
  12. package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
  13. package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-40d3f752.js} +56 -2
  14. package/dist/cjs/{index-1dfc7a6e.js → index-e3e39724.js} +5 -0
  15. package/dist/cjs/index-f9e81701.js +16 -32
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +155 -0
  18. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  19. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_7.cjs.entry.js} +201 -44
  20. package/dist/cjs/snk-application.cjs.entry.js +469 -78
  21. package/dist/cjs/snk-attach.cjs.entry.js +49 -37
  22. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +401 -13
  23. package/dist/cjs/snk-configurator.cjs.entry.js +10 -3
  24. package/dist/cjs/snk-crud.cjs.entry.js +41 -52
  25. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -30
  26. package/dist/cjs/{snk-data-unit-8fa7917a.js → snk-data-unit-4b510d6e.js} +55 -31
  27. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  28. package/dist/cjs/snk-detail-view.cjs.entry.js +17 -17
  29. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  30. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  31. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1438 -0
  32. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  34. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  35. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  36. package/dist/cjs/snk-filter-search.cjs.entry.js +18 -5
  37. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  38. package/dist/cjs/snk-grid.cjs.entry.js +96 -28
  39. package/dist/cjs/{snk-guides-viewer-9c682034.js → snk-guides-viewer-e8e5f7b4.js} +27 -17
  40. package/dist/cjs/snk-guides-viewer.cjs.entry.js +11 -12
  41. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  42. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  43. package/dist/cjs/snk-pesquisa.cjs.entry.js +110 -31
  44. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  45. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  46. package/dist/cjs/snk-simple-crud.cjs.entry.js +119 -113
  47. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  48. package/dist/cjs/snk-taskbar.cjs.entry.js +72 -40
  49. package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-7e19882d.js} +1 -1
  50. package/dist/collection/collection-manifest.json +16 -31
  51. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  52. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  53. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  54. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +5 -2
  55. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  56. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  57. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  58. package/dist/collection/components/snk-application/search-strategy/exec-prepared-search-plus.js +107 -0
  59. package/dist/collection/components/snk-application/snk-application.css +36 -0
  60. package/dist/collection/components/snk-application/snk-application.js +448 -71
  61. package/dist/collection/components/snk-attach/snk-attach.js +25 -16
  62. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  63. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -5
  64. package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
  65. package/dist/collection/components/snk-configurator/snk-configurator.js +26 -1
  66. package/dist/collection/components/snk-crud/snk-crud.js +147 -44
  67. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +10 -1
  68. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +27 -3
  69. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  70. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +52 -6
  71. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  72. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +8 -8
  73. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  74. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +41 -10
  75. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +18 -6
  76. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  77. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +10 -9
  78. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  79. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  80. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  81. package/dist/collection/components/snk-data-unit/snk-data-unit.js +53 -29
  82. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
  83. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  84. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  85. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
  86. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +18 -5
  87. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  88. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  89. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  90. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  91. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +10 -4
  92. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  93. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  94. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -6
  95. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
  96. package/dist/collection/components/snk-form/snk-form.js +2 -2
  97. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
  98. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  99. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  100. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.js +5 -3
  101. package/dist/collection/components/snk-grid/snk-grid.css +8 -0
  102. package/dist/collection/components/snk-grid/snk-grid.js +199 -13
  103. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  104. package/dist/collection/components/snk-grid-config/snk-grid-config.js +2 -0
  105. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +3 -0
  106. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +73 -0
  107. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +78 -0
  108. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +57 -0
  109. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  110. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  111. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  112. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  113. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  114. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  115. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +174 -32
  116. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  117. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  118. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  119. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +202 -34
  120. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  121. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  122. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  123. package/dist/collection/components/snk-taskbar/snk-taskbar.js +112 -38
  124. package/dist/collection/lib/@types/index.js +5 -0
  125. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
  126. package/dist/collection/lib/configs/LayoutFormConfig.js +25 -0
  127. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -103
  128. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -32
  129. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +44 -24
  130. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  131. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  132. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  133. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  134. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +23 -14
  135. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  136. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +59 -5
  137. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  138. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +133 -9
  139. package/dist/collection/lib/index.js +1 -0
  140. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  141. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  142. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  143. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  144. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  145. package/dist/collection/lib/utils/constants.js +10 -0
  146. package/dist/collection/sw.js +46 -0
  147. package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +176 -33
  148. package/dist/components/DataFetcher.js +232 -80
  149. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  150. package/dist/components/ISave.js +391 -1
  151. package/dist/components/SnkFormConfigManager.js +73 -15
  152. package/dist/components/SnkMessageBuilder.js +6 -2
  153. package/dist/components/constants.js +11 -1
  154. package/dist/components/dataunit-fetcher.js +238 -188
  155. package/dist/components/form-config-fetcher.js +55 -1
  156. package/dist/components/index.d.ts +5 -0
  157. package/dist/components/index.js +5 -0
  158. package/dist/components/pesquisa-grid.d.ts +11 -0
  159. package/dist/components/pesquisa-grid.js +6 -0
  160. package/dist/components/pesquisa-grid2.js +102 -0
  161. package/dist/components/pesquisa-tree.d.ts +11 -0
  162. package/dist/components/pesquisa-tree.js +6 -0
  163. package/dist/components/pesquisa-tree2.js +91 -0
  164. package/dist/components/snk-actions-button2.js +44 -40
  165. package/dist/components/snk-application2.js +492 -76
  166. package/dist/components/snk-attach2.js +61 -55
  167. package/dist/components/snk-config-options2.js +6 -4
  168. package/dist/components/snk-configurator2.js +23 -3
  169. package/dist/components/snk-crud.js +118 -105
  170. package/dist/components/snk-data-exporter2.js +37 -23
  171. package/dist/components/snk-data-unit2.js +56 -69
  172. package/dist/components/snk-detail-view2.js +136 -109
  173. package/dist/components/snk-exporter-email-sender2.js +1 -1
  174. package/dist/components/snk-filter-bar2.js +68 -34
  175. package/dist/components/snk-filter-binary-select.js +1 -1
  176. package/dist/components/snk-filter-checkbox-list.js +1 -1
  177. package/dist/components/snk-filter-item2.js +10 -4
  178. package/dist/components/snk-filter-modal.js +4 -2
  179. package/dist/components/snk-filter-number.js +1 -1
  180. package/dist/components/snk-filter-search.js +18 -5
  181. package/dist/components/snk-filter-text.js +2 -1
  182. package/dist/components/snk-form-config2.js +35 -10
  183. package/dist/components/snk-form.js +2 -2
  184. package/dist/components/snk-grid-config2.js +3 -1
  185. package/dist/components/snk-grid2.js +92 -18
  186. package/dist/components/snk-layout-form-config.d.ts +11 -0
  187. package/dist/components/snk-layout-form-config.js +6 -0
  188. package/dist/components/snk-layout-form-config2.js +73 -0
  189. package/dist/components/snk-personalized-filter-editor.js +4 -4
  190. package/dist/components/snk-pesquisa2.js +125 -33
  191. package/dist/components/snk-print-selector.js +1 -1
  192. package/dist/components/snk-simple-bar2.js +1 -1
  193. package/dist/components/snk-simple-crud2.js +115 -111
  194. package/dist/components/snk-simple-form-config.d.ts +11 -0
  195. package/dist/components/snk-simple-form-config.js +6 -0
  196. package/dist/components/snk-simple-form-config2.js +121 -0
  197. package/dist/components/snk-tab-config2.js +1 -1
  198. package/dist/components/snk-taskbar2.js +72 -40
  199. package/dist/components/snk-view-representation.d.ts +11 -0
  200. package/dist/components/snk-view-representation.js +6 -0
  201. package/dist/components/snk-view-representation2.js +41 -0
  202. package/dist/components/teste-pesquisa.js +13 -1
  203. package/dist/esm/ClientSideExporterProvider-da9935ed.js +361 -0
  204. package/dist/esm/{ConfigStorage-3806514e.js → ConfigStorage-71e6766f.js} +2 -2
  205. package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-88e56266.js} +232 -80
  206. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  207. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  208. package/dist/esm/ISave-5efafc97.js +394 -0
  209. package/dist/esm/{SnkFormConfigManager-31b24066.js → SnkFormConfigManager-be490a33.js} +75 -17
  210. package/dist/esm/{SnkMessageBuilder-571462fb.js → SnkMessageBuilder-6fff4a4c.js} +6 -2
  211. package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-3510520e.js} +1 -1
  212. package/dist/esm/{constants-8457af36.js → constants-7db1128a.js} +11 -1
  213. package/dist/esm/{dataunit-fetcher-264191b2.js → dataunit-fetcher-1d02ecfc.js} +222 -172
  214. package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
  215. package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-fa208a6c.js} +56 -2
  216. package/dist/esm/index-a7d3d3f1.js +16 -32
  217. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  218. package/dist/esm/loader.js +1 -1
  219. package/dist/esm/pesquisa-grid_2.entry.js +150 -0
  220. package/dist/esm/sankhyablocks.js +1 -1
  221. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_7.entry.js} +201 -47
  222. package/dist/esm/snk-application.entry.js +470 -79
  223. package/dist/esm/snk-attach.entry.js +50 -38
  224. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +401 -15
  225. package/dist/esm/snk-configurator.entry.js +10 -3
  226. package/dist/esm/snk-crud.entry.js +42 -53
  227. package/dist/esm/snk-data-exporter.entry.js +38 -30
  228. package/dist/esm/{snk-data-unit-f5cbe64b.js → snk-data-unit-7d0ce406.js} +55 -31
  229. package/dist/esm/snk-data-unit.entry.js +5 -5
  230. package/dist/esm/snk-detail-view.entry.js +17 -17
  231. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  232. package/dist/esm/snk-field-config.entry.js +1 -1
  233. package/dist/esm/snk-filter-bar_4.entry.js +1431 -0
  234. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  235. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  236. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  237. package/dist/esm/snk-filter-number.entry.js +1 -1
  238. package/dist/esm/snk-filter-search.entry.js +18 -5
  239. package/dist/esm/snk-filter-text.entry.js +2 -1
  240. package/dist/esm/snk-grid.entry.js +91 -23
  241. package/dist/esm/{snk-guides-viewer-8f6960a2.js → snk-guides-viewer-c44b3839.js} +27 -17
  242. package/dist/esm/snk-guides-viewer.entry.js +11 -12
  243. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  244. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  245. package/dist/esm/snk-pesquisa.entry.js +110 -31
  246. package/dist/esm/snk-print-selector.entry.js +1 -1
  247. package/dist/esm/snk-simple-bar.entry.js +1 -1
  248. package/dist/esm/snk-simple-crud.entry.js +105 -99
  249. package/dist/esm/snk-tab-config.entry.js +1 -1
  250. package/dist/esm/snk-taskbar.entry.js +73 -41
  251. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-d2353c64.js} +1 -1
  252. package/dist/sankhyablocks/p-00796b12.entry.js +1 -0
  253. package/dist/sankhyablocks/{p-52920496.js → p-03b68a74.js} +1 -1
  254. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  255. package/dist/sankhyablocks/{p-47db7e88.entry.js → p-165cde3b.entry.js} +1 -1
  256. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  257. package/dist/sankhyablocks/p-17425c72.js +1 -0
  258. package/dist/sankhyablocks/p-23736d75.js +1 -0
  259. package/dist/sankhyablocks/p-35f85998.entry.js +1 -0
  260. package/dist/sankhyablocks/{p-95df461f.entry.js → p-3749dffb.entry.js} +1 -1
  261. package/dist/sankhyablocks/p-38e3ffda.entry.js +1 -0
  262. package/dist/sankhyablocks/p-3b190fb1.entry.js +1 -0
  263. package/dist/sankhyablocks/{p-7e7a7473.js → p-3fc82614.js} +1 -1
  264. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  265. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  266. package/dist/sankhyablocks/{p-2c68b3ae.entry.js → p-490b75b5.entry.js} +1 -1
  267. package/dist/sankhyablocks/p-4ad638be.js +1 -0
  268. package/dist/sankhyablocks/p-5503e89f.entry.js +1 -0
  269. package/dist/sankhyablocks/p-5cc206bb.entry.js +1 -0
  270. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  271. package/dist/sankhyablocks/p-5ffa0493.entry.js +1 -0
  272. package/dist/sankhyablocks/p-60137b7a.entry.js +1 -0
  273. package/dist/sankhyablocks/p-601b252b.js +26 -0
  274. package/dist/sankhyablocks/p-6dd38d7b.js +6 -0
  275. package/dist/sankhyablocks/p-6e0a5314.js +1 -0
  276. package/dist/sankhyablocks/{p-913a9979.js → p-73285a8a.js} +1 -1
  277. package/dist/sankhyablocks/p-754559b9.entry.js +11 -0
  278. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  279. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  280. package/dist/sankhyablocks/p-835128f5.entry.js +1 -0
  281. package/dist/sankhyablocks/p-893b9483.entry.js +1 -0
  282. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  283. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  284. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  285. package/dist/sankhyablocks/p-90684a75.entry.js +1 -0
  286. package/dist/sankhyablocks/{p-b0ef4383.js → p-9261d8a0.js} +1 -1
  287. package/dist/sankhyablocks/p-92778d5a.js +1 -0
  288. package/dist/sankhyablocks/p-a8be1d67.js +60 -0
  289. package/dist/sankhyablocks/p-a962a3e4.entry.js +1 -0
  290. package/dist/sankhyablocks/p-b2a2a83e.entry.js +1 -0
  291. package/dist/sankhyablocks/p-b6200d32.entry.js +1 -0
  292. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-c0eb761b.entry.js} +1 -1
  293. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  294. package/dist/sankhyablocks/p-ebdb9d89.js +1 -0
  295. package/dist/sankhyablocks/p-ef6f0a1b.entry.js +1 -0
  296. package/dist/sankhyablocks/p-f7dd5655.entry.js +1 -0
  297. package/dist/sankhyablocks/p-fbba7e3d.js +1 -0
  298. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  299. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  300. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  301. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  302. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  303. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  304. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  305. package/dist/types/components/snk-application/search-strategy/exec-prepared-search-plus.d.ts +5 -0
  306. package/dist/types/components/snk-application/snk-application.d.ts +55 -16
  307. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  308. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  309. package/dist/types/components/snk-crud/snk-crud.d.ts +26 -0
  310. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +5 -0
  311. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +10 -0
  312. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  313. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  314. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +9 -1
  315. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  316. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  317. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  318. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  319. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +2 -0
  320. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +5 -3
  321. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  322. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  323. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  324. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  325. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  326. package/dist/types/components/snk-grid/snk-grid.d.ts +33 -0
  327. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +1 -0
  328. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
  329. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -0
  330. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  331. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  332. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  333. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +35 -1
  334. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +32 -3
  335. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  336. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  337. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
  338. package/dist/types/components.d.ts +473 -16
  339. package/dist/types/lib/@types/index.d.ts +4 -0
  340. package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
  341. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  342. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  343. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  344. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  345. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  346. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  347. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  348. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  349. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  350. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  351. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  352. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +14 -2
  353. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  354. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +21 -2
  355. package/dist/types/lib/index.d.ts +1 -0
  356. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  357. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  358. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  359. package/dist/types/lib/utils/constants.d.ts +8 -0
  360. package/package.json +4 -3
  361. package/react/components.d.ts +5 -0
  362. package/react/components.js +5 -0
  363. package/react/components.js.map +1 -1
  364. package/dist/cjs/IExporterProvider-597949f9.js +0 -230
  365. package/dist/cjs/ISave-e91b70a7.js +0 -9
  366. package/dist/cjs/pesquisa-fetcher-680e198f.js +0 -166
  367. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  368. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  369. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  370. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  371. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  372. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  373. package/dist/components/pesquisa-fetcher.js +0 -164
  374. package/dist/esm/IExporterProvider-63a188b6.js +0 -221
  375. package/dist/esm/ISave-d8c8bc59.js +0 -9
  376. package/dist/esm/pesquisa-fetcher-03c8f919.js +0 -164
  377. package/dist/esm/snk-config-options.entry.js +0 -235
  378. package/dist/esm/snk-filter-bar.entry.js +0 -710
  379. package/dist/esm/snk-filter-item.entry.js +0 -308
  380. package/dist/esm/snk-filter-list.entry.js +0 -148
  381. package/dist/esm/snk-filter-modal.entry.js +0 -245
  382. package/dist/esm/snk-form.entry.js +0 -139
  383. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  384. package/dist/sankhyablocks/p-17def7cd.js +0 -1
  385. package/dist/sankhyablocks/p-21749402.js +0 -1
  386. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  387. package/dist/sankhyablocks/p-28ee0972.js +0 -1
  388. package/dist/sankhyablocks/p-2a408684.js +0 -1
  389. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  390. package/dist/sankhyablocks/p-3a212712.js +0 -1
  391. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  392. package/dist/sankhyablocks/p-450c60e4.entry.js +0 -1
  393. package/dist/sankhyablocks/p-4e5e1313.entry.js +0 -1
  394. package/dist/sankhyablocks/p-62ba211a.entry.js +0 -1
  395. package/dist/sankhyablocks/p-6bb2f3e9.entry.js +0 -1
  396. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  397. package/dist/sankhyablocks/p-7505da04.entry.js +0 -1
  398. package/dist/sankhyablocks/p-7619bdb1.entry.js +0 -11
  399. package/dist/sankhyablocks/p-7663f597.entry.js +0 -1
  400. package/dist/sankhyablocks/p-7a85fd49.entry.js +0 -1
  401. package/dist/sankhyablocks/p-7ef9c55c.js +0 -1
  402. package/dist/sankhyablocks/p-80042dc6.entry.js +0 -1
  403. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  404. package/dist/sankhyablocks/p-8c59edd7.entry.js +0 -1
  405. package/dist/sankhyablocks/p-9606509c.entry.js +0 -1
  406. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  407. package/dist/sankhyablocks/p-9863d682.js +0 -1
  408. package/dist/sankhyablocks/p-ae93d46a.entry.js +0 -1
  409. package/dist/sankhyablocks/p-af8efd95.js +0 -6
  410. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  411. package/dist/sankhyablocks/p-c2495304.js +0 -1
  412. package/dist/sankhyablocks/p-c8622597.entry.js +0 -1
  413. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  414. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  415. package/dist/sankhyablocks/p-d6e26ea8.entry.js +0 -1
  416. package/dist/sankhyablocks/p-dc7c9047.js +0 -1
  417. package/dist/sankhyablocks/p-df5451c7.js +0 -26
  418. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  419. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  420. package/dist/sankhyablocks/p-f4450320.entry.js +0 -1
  421. package/dist/sankhyablocks/p-fe79f83a.js +0 -60
  422. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
@@ -1,17 +1,16 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-a7d3d3f1.js';
2
- import { StringUtils, ElementIDUtils, ApplicationContext, JSUtils, FloatingManager } from '@sankhyalabs/core';
3
- import { T as TaskbarElement } from './taskbar-elements-d59867f1.js';
4
- import './DataFetcher-c1baf61d.js';
5
- import './pesquisa-fetcher-03c8f919.js';
6
- import { P as PresentationMode } from './index-3aa4977a.js';
7
- import './ISave-d8c8bc59.js';
2
+ import { StringUtils, ElementIDUtils, ApplicationContext, KeyboardManager, JSUtils, FloatingManager } from '@sankhyalabs/core';
3
+ import { T as TaskbarElement } from './taskbar-elements-d2353c64.js';
4
+ import './DataFetcher-88e56266.js';
5
+ import './ISave-5efafc97.js';
6
+ import { P as PresentationMode, E as ExporterStrategy } from './index-b40568ff.js';
8
7
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
9
8
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
10
- import './dataunit-fetcher-264191b2.js';
9
+ import './dataunit-fetcher-1d02ecfc.js';
11
10
  import './filter-item-type.enum-d45e026f.js';
12
- import './form-config-fetcher-30fb808f.js';
13
- import { d as VIEW_MODE } from './constants-8457af36.js';
14
- import { A as AutorizationType } from './auth-fetcher-039abba3.js';
11
+ import './form-config-fetcher-fa208a6c.js';
12
+ import { V as VIEW_MODE } from './constants-7db1128a.js';
13
+ import { A as AutorizationType } from './auth-fetcher-3510520e.js';
15
14
  import './index-bdf75557.js';
16
15
  import './PrintUtils-3e4ff0f5.js';
17
16
  import '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
@@ -38,6 +37,8 @@ const SnkCrud = class {
38
37
  this._currentViewMode = VIEW_MODE.GRID;
39
38
  this._canEdit = undefined;
40
39
  this._resourceID = undefined;
40
+ this.enableLockManagerLoadingComp = false;
41
+ this.enableLockManagerTaskbarClick = false;
41
42
  this.configName = undefined;
42
43
  this.filterBarTitle = undefined;
43
44
  this.selectionToastConfig = undefined;
@@ -56,8 +57,12 @@ const SnkCrud = class {
56
57
  this.disablePersonalizedFilter = undefined;
57
58
  this.autoLoad = undefined;
58
59
  this.autoFocus = true;
60
+ this.enableGridInsert = false;
59
61
  this.domainMessagesBuilder = undefined;
62
+ this.ignoreReadOnlyFormFields = undefined;
60
63
  this.setCustomFormTitle = undefined;
64
+ this.strategyExporter = ExporterStrategy.SERVER_SIDE;
65
+ this.layoutFormConfig = false;
61
66
  this.customContainerId = `SNK-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
62
67
  }
63
68
  /**
@@ -182,6 +187,8 @@ const SnkCrud = class {
182
187
  ElementIDUtils.addIDInfo(this._element, null, dataInfo);
183
188
  }
184
189
  insertionModeHandler() {
190
+ if (this.enableGridInsert)
191
+ return;
185
192
  this.gridToForm();
186
193
  }
187
194
  cancelHandler() {
@@ -278,39 +285,34 @@ const SnkCrud = class {
278
285
  }
279
286
  }
280
287
  async initKeyboardManager() {
281
- var _a;
282
- const keyboardManager = await ((_a = this._application) === null || _a === void 0 ? void 0 : _a.getKeyboardManager());
283
- if (keyboardManager) {
284
- const dataUnit = this._dataUnit || await this._snkDataUnit.getDataUnit();
285
- async function saveDataUnitHandlingFocus() {
286
- const element = document.activeElement;
287
- const isDocumentBody = (element == document.body);
288
- if (!isDocumentBody)
289
- element.blur();
290
- await dataUnit.saveData();
291
- if (!isDocumentBody && element.setFocus != undefined) {
292
- element.setFocus();
293
- return;
294
- }
295
- if (!isDocumentBody)
296
- element.focus();
288
+ this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
289
+ const dataUnit = this._dataUnit || await this._snkDataUnit.getDataUnit();
290
+ async function saveDataUnitHandlingFocus() {
291
+ const element = document.activeElement;
292
+ const isDocumentBody = (element == document.body);
293
+ if (!isDocumentBody)
294
+ element.blur();
295
+ await dataUnit.saveData();
296
+ if (!isDocumentBody && element.setFocus != undefined) {
297
+ element.setFocus();
298
+ return;
299
+ }
300
+ if (!isDocumentBody)
301
+ element.focus();
302
+ }
303
+ async function handleAddRecord() {
304
+ if (!dataUnit.hasNewRecord()) {
305
+ dataUnit.addRecord();
297
306
  }
298
- keyboardManager
307
+ }
308
+ if (this._keyboardManager) {
309
+ this._keyboardManager
299
310
  .bind("F6", this.toggleView.bind(this), { description: "Alterna entre modo formulário e grade.", element: this._element })
300
311
  .bind("F7", saveDataUnitHandlingFocus.bind(this), { description: "Salva os dados.", element: this._element })
301
312
  .bind("ctrl + \\", saveDataUnitHandlingFocus.bind(this), { description: "Salva os dados.", element: this._element })
302
- .bind("F8", dataUnit.addRecord.bind(dataUnit), { description: "Adiciona um novo registro.", element: this._element })
313
+ .bind("F8", handleAddRecord.bind(this), { description: "Adiciona um novo registro.", element: this._element })
303
314
  .bind("F9", dataUnit.removeSelectedRecords.bind(dataUnit), { description: "Remove o registro selecionado.", element: this._element })
304
315
  .bind("ctrl + F9", dataUnit.removeSelectedRecords.bind(dataUnit), { description: "Remove o registro selecionado.", element: this._element })
305
- .bind("ctrl + .", () => {
306
- if (dataUnit.getSelectionInfo().records.length === 0) {
307
- return dataUnit.selectFirst();
308
- }
309
- return dataUnit.nextRecord();
310
- }, {
311
- description: "Avança para o próximo registro.", element: this._element
312
- })
313
- .bind("ctrl + ,", dataUnit.previousRecord.bind(dataUnit), { description: "Retorna ao registro anterior.", element: this._element })
314
316
  .bind("F5", async () => {
315
317
  const currentView = await this._viewStack.getSelectedIndex();
316
318
  if (VIEW_MODE.GRID === currentView) {
@@ -329,20 +331,7 @@ const SnkCrud = class {
329
331
  }
330
332
  async removeShortcuts() {
331
333
  var _a;
332
- const keyboardManager = await ((_a = this._application) === null || _a === void 0 ? void 0 : _a.getKeyboardManager());
333
- if (keyboardManager) {
334
- keyboardManager
335
- .unbind("F6")
336
- .unbind("F7")
337
- .unbind("ctrl + \\")
338
- .unbind("F8")
339
- .unbind("F9")
340
- .unbind("ctrl + F9")
341
- .unbind("ctrl + .")
342
- .unbind("ctrl + ,")
343
- .unbind("F5")
344
- .unbind("Escape");
345
- }
334
+ (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
346
335
  }
347
336
  async toggleView() {
348
337
  const currentView = await this._viewStack.getSelectedIndex();
@@ -395,8 +384,8 @@ const SnkCrud = class {
395
384
  if (this._resourceID == undefined) {
396
385
  return;
397
386
  }
398
- this._snkDataUnit.ignoreSaveMessage = this._currentViewMode === VIEW_MODE.GRID;
399
- return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", null, h("snk-grid", { ref: (ref) => this._snkGrid = ref, filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName, getCustomTitle: this.setCustomFormTitle }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkFormTaskBar" }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId })), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
387
+ this._snkDataUnit.ignoreSaveMessage = (this._currentViewMode === VIEW_MODE.GRID && !this.enableGridInsert);
388
+ return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", { class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full ez-padding--medium' }, h("snk-grid", { ref: (ref) => this._snkGrid = ref, class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full', filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, strategyExporter: this.strategyExporter }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName, enableGridInsert: this.enableGridInsert, getCustomTitle: this.setCustomFormTitle, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkFormTaskBar" }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId, layoutFormConfig: this.layoutFormConfig })), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
400
389
  }
401
390
  get _element() { return getElement(this); }
402
391
  static get watchers() { return {
@@ -1,21 +1,21 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement } from './index-a7d3d3f1.js';
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 './index-3aa4977a.js';
5
- import { R as REPORT_LAUNCHER_RESOURCE_ID } from './constants-8457af36.js';
6
- import { D as DataFetcher } from './DataFetcher-c1baf61d.js';
7
- import { S as SnkDataUnit } from './snk-data-unit-f5cbe64b.js';
8
- import './pesquisa-fetcher-03c8f919.js';
9
- import './ISave-d8c8bc59.js';
4
+ import { I as IExportType } from './IFetchDataExporterParams-d73bed3d.js';
5
+ import { D as DataExporterOption, a as DataExporterType, b as DataExporterFormat } from './index-b40568ff.js';
6
+ import { R as REPORT_LAUNCHER_RESOURCE_ID } from './constants-7db1128a.js';
7
+ import { D as DataFetcher } from './DataFetcher-88e56266.js';
8
+ import { S as SnkDataUnit } from './snk-data-unit-7d0ce406.js';
9
+ import './ISave-5efafc97.js';
10
10
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
11
11
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
12
- import './dataunit-fetcher-264191b2.js';
12
+ import './dataunit-fetcher-1d02ecfc.js';
13
13
  import './filter-item-type.enum-d45e026f.js';
14
- import './form-config-fetcher-30fb808f.js';
14
+ import './form-config-fetcher-fa208a6c.js';
15
15
  import './PrintUtils-3e4ff0f5.js';
16
- import './SnkMessageBuilder-571462fb.js';
17
- import './RecordIDUtils-87d02110.js';
16
+ import './SnkMessageBuilder-6fff4a4c.js';
18
17
  import '@sankhyalabs/core/dist/dataunit/metadata/DataType';
18
+ import './GetSelectedRecordsIDsInfo-9fa41508.js';
19
19
  import '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
20
20
  import '@sankhyalabs/core/dist/utils/SortingUtils';
21
21
  import './ResourceIDUtils-a114189a.js';
@@ -131,7 +131,7 @@ class ItemBuilder {
131
131
  getExportToXLS(groupName) {
132
132
  return {
133
133
  id: DataExporterOption.EXPORT_TO_XLS,
134
- label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xlsx)`,
134
+ label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xls)`,
135
135
  group: groupName
136
136
  };
137
137
  }
@@ -174,7 +174,7 @@ class ItemBuilder {
174
174
  getExportPageToXLS() {
175
175
  return {
176
176
  id: DataExporterOption.EXPORT_PAGE_TO_XLS,
177
- label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xlsx)`
177
+ label: `${this._getMessage("snkDataExporter.label.spreadsheet")} (.xls)`
178
178
  };
179
179
  }
180
180
  /**
@@ -250,7 +250,7 @@ function getFormatResponse(result) {
250
250
  return ObjectUtils.stringToObject(response);
251
251
  }
252
252
 
253
- const DOC_MAX_WIDTH = 800;
253
+ const DOC_MAX_WIDTH = 860;
254
254
  function getVisibleColumns(columns) {
255
255
  const visibleColumns = [];
256
256
  let totalWidth = 0;
@@ -290,10 +290,17 @@ class ServerSideExporterStrategy {
290
290
  const visibleColumns = getVisibleColumns(columns);
291
291
  return visibleColumns;
292
292
  }
293
+ async getColumns(resolveProps) {
294
+ var _a;
295
+ if ((_a = getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) === null || _a === void 0 ? void 0 : _a.includes("PDF")) {
296
+ return await this.getParsedColumns();
297
+ }
298
+ return await this._provider.getColumnsMetadata();
299
+ }
293
300
  async getParams(resolveProps) {
294
301
  var _a, _b, _c, _d, _e, _f;
295
302
  const filters = (_b = (_a = this._provider).getFilters) === null || _b === void 0 ? void 0 : _b.call(_a);
296
- 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();
303
+ const columns = await this.getColumns(resolveProps);
297
304
  const sort = (_d = (_c = this._provider).getOrders) === null || _d === void 0 ? void 0 : _d.call(_c);
298
305
  const resourceURI = (_f = (_e = this._provider).getResourceURI) === null || _f === void 0 ? void 0 : _f.call(_e);
299
306
  const selectedIDs = this._provider.getSelectedIDs();
@@ -350,15 +357,16 @@ class ClientSideExporterStrategy {
350
357
  return visibleColumns;
351
358
  }
352
359
  async executeExport(resolveProps) {
353
- const { methodName, titleGrid } = resolveProps;
354
- const records = await this._provider.getRecords();
355
- 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();
360
+ var _a;
361
+ const { methodName, gridTitle } = resolveProps;
362
+ const records = await this._provider.getRecords(resolveProps.type);
363
+ 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();
356
364
  const [serviceName, processor] = this.getExecutor(methodName);
357
365
  const payload = {
358
366
  serviceName,
359
367
  requestBody: {
360
368
  grid: {
361
- titleGrid,
369
+ gridTitle,
362
370
  columns: this.buildColumnsObject(columns),
363
371
  rows: this.buildRowsObject(columns, records),
364
372
  customOptions: { xlsxExtension: false }
@@ -389,10 +397,10 @@ class ClientSideExporterStrategy {
389
397
  "GridXLSBuilderSP.buildXLSFromJson",
390
398
  responseBody => ({
391
399
  fileSessionKey: responseBody.chaveXLS.valor,
392
- canPrint: false,
393
- canExport: false,
400
+ canPrint: true,
401
+ canExport: true,
402
+ canSendEmail: true,
394
403
  useAppPrint: false,
395
- canSendEmail: false
396
404
  })
397
405
  ];
398
406
  }
@@ -468,7 +476,7 @@ const SnkDataExporter = class {
468
476
  resolver: ({ type, format, email: { to, subject, message } }) => {
469
477
  var _a;
470
478
  const methodName = (_a = DataExporterFormat[format === null || format === void 0 ? void 0 : format.toUpperCase()]) !== null && _a !== void 0 ? _a : DataExporterFormat.PDF;
471
- 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 }, () => {
472
480
  this._snkEmailSender.close();
473
481
  ApplicationUtils.info(this.getMessage("snkDataExporter.message.emailSuccess"), { iconName: "check" });
474
482
  });
@@ -531,7 +539,9 @@ const SnkDataExporter = class {
531
539
  });
532
540
  }
533
541
  getExporterStrategy() {
534
- 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);
535
545
  }
536
546
  getOptionKey(option) {
537
547
  return Object.keys(DataExporterOption)
@@ -541,30 +551,28 @@ const SnkDataExporter = class {
541
551
  }
542
552
  getExportType(option) {
543
553
  if (option === DataExporterOption.EXPORT_ALL_RECORDS_TO_PDF || option === DataExporterOption.EXPORT_ALL_RECORDS_TO_XLS) {
544
- return 'all';
554
+ return IExportType.ALL;
545
555
  }
546
556
  if (option === DataExporterOption.EXPORT_PAGE_TO_PDF || option === DataExporterOption.EXPORT_PAGE_TO_XLS) {
547
- return 'page';
557
+ return IExportType.PAGE;
548
558
  }
549
- return 'selection';
559
+ return IExportType.SELECTION;
550
560
  }
551
561
  async dispatchExporter(option) {
552
562
  var _a, _b, _c;
553
563
  const optionKey = this.getOptionKey(option);
554
564
  const fileType = (_a = DataExporterType[optionKey]) !== null && _a !== void 0 ? _a : DataExporterType.EXPORT_TO_PDF;
555
- const isDownload = DataExporterType[optionKey] === DataExporterType.EXPORT_TO_XLS;
556
565
  const params = {
557
566
  methodName: DataExporterOption[`EXPORT_TO_${fileType}`],
558
567
  fileName: this._appLabel,
559
- titleGrid: this._appLabel,
568
+ gridTitle: this._appLabel,
560
569
  exportOption: option,
561
570
  limit: (_c = (_b = this.provider) === null || _b === void 0 ? void 0 : _b.getExportLimit) === null || _c === void 0 ? void 0 : _c.call(_b),
562
571
  type: this.getExportType(option),
563
572
  };
564
573
  await this.resolveExporter(params, (response) => {
565
574
  if (response.canExport || fileType === DataExporterType.EXPORT_TO_PDF) {
566
- fileViewer(Object.assign(Object.assign({}, response), { fileType,
567
- isDownload }));
575
+ fileViewer(Object.assign(Object.assign({}, response), { fileType }));
568
576
  }
569
577
  else {
570
578
  ApplicationUtils.error(this.getMessage("snkDataExporter.title.permission"), this.getMessage("snkDataExporter.message.exportPermission"));
@@ -1,10 +1,10 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement, H as Host } from './index-a7d3d3f1.js';
2
2
  import { Action, ObjectUtils, DataUnitAction, StringUtils, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
- import { O as OperationMap, S as SnkMessageBuilder } from './SnkMessageBuilder-571462fb.js';
5
- import { g as getRecordValue, a as DatasetStrategy } from './dataunit-fetcher-264191b2.js';
6
- import { g as getSelectedIDs } from './RecordIDUtils-87d02110.js';
4
+ import { O as OperationMap, S as SnkMessageBuilder } from './SnkMessageBuilder-6fff4a4c.js';
5
+ import { g as getRecordValue, a as DatasetStrategy } from './dataunit-fetcher-1d02ecfc.js';
7
6
  import { convertType } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
7
+ import { g as getSelectedRecordsIDsInfo } from './GetSelectedRecordsIDsInfo-9fa41508.js';
8
8
 
9
9
  const SnkDataUnit = class {
10
10
  constructor(hostRef) {
@@ -23,7 +23,7 @@ const SnkDataUnit = class {
23
23
  this._rowMetadataCache = new Map();
24
24
  this.REGEX_DATAUNIT_NAME = /dd:\/\/(.+?)\//;
25
25
  this._dataUnitObserver = async (action) => {
26
- const duState = this.buildDataState(action.type);
26
+ const duState = await this.buildDataState(action.type);
27
27
  this.dataState = duState;
28
28
  this.messagesBuilder.currentOperation = this.getMessageOperation();
29
29
  switch (action.type) {
@@ -115,7 +115,7 @@ const SnkDataUnit = class {
115
115
  * @returns Retorna a lista de IDs dos registros selecionados.
116
116
  */
117
117
  async getSelectedRecordsIDsInfo() {
118
- return Promise.resolve(getSelectedIDs(this.dataUnit));
118
+ return getSelectedRecordsIDsInfo(this.dataUnit);
119
119
  }
120
120
  /**
121
121
  * Retorna os campos que possuem a propriedade "rmp" (Row Metadata Provider).
@@ -135,14 +135,22 @@ const SnkDataUnit = class {
135
135
  async getRowMetadata(record) {
136
136
  return this.doGetRowMetadata(record);
137
137
  }
138
- doGetRowMetadata(record) {
138
+ async doGetRowMetadata(record) {
139
139
  const selectedRecord = this.dataUnit.getSelectedRecord();
140
140
  if (!record && !selectedRecord) {
141
141
  return;
142
142
  }
143
143
  const currentRecord = record || selectedRecord;
144
144
  const recordId = typeof currentRecord === 'string' ? currentRecord : currentRecord.__record__id__;
145
- const rowMetadata = this._metadataByRow.get(recordId);
145
+ let rowMetadata = this._metadataByRow.get(recordId);
146
+ /*
147
+ Nao fazemos cache de metadataByRow pra registros novos, pois a chave do mesmo
148
+ muda ao ser salvo, por isso essa tratativa é necessária para que o dataState fique com metadados
149
+ corretos nao confiando apenas no _metadataByRow
150
+ */
151
+ if (this.dataUnit.isNewRecord(recordId) && !rowMetadata) {
152
+ rowMetadata = await this.handleLoadRowMetadata(selectedRecord);
153
+ }
146
154
  if (!rowMetadata) {
147
155
  return;
148
156
  }
@@ -248,7 +256,9 @@ const SnkDataUnit = class {
248
256
  return new DataUnitAction(Action.RECORDS_COPIED, this.handleRecordsCopied(action.payload));
249
257
  }
250
258
  async interceptDataChange(action) {
251
- if (this.isAllowed("UPDATE")) {
259
+ var _a;
260
+ const recordId = (_a = this.dataUnit.getSelectedRecord()) === null || _a === void 0 ? void 0 : _a.__record__id__;
261
+ if (this.isAllowed("UPDATE") || this.dataUnit.isNewRecord(recordId)) {
252
262
  return action;
253
263
  }
254
264
  if (this._openedAlert) {
@@ -336,7 +346,7 @@ const SnkDataUnit = class {
336
346
  case Action.RECORDS_COPIED:
337
347
  return this.interceptRecordsCopied(action);
338
348
  case Action.DATA_CHANGED:
339
- await this.handleLoadRowMetadata(action);
349
+ await this.handleLoadRowMetadata(action.payload);
340
350
  return await this.interceptDataChange(action);
341
351
  case Action.CHANGING_DATA:
342
352
  return await this.interceptDataChange(action);
@@ -356,8 +366,9 @@ const SnkDataUnit = class {
356
366
  return action;
357
367
  }
358
368
  }
359
- async handleLoadRowMetadata(action) {
360
- const record = action.type === Action.DATA_CHANGED ? action.payload : action.payload.changes[0].record;
369
+ async handleLoadRowMetadata(record) {
370
+ if (!record)
371
+ return;
361
372
  const keysPayload = Object.keys(record);
362
373
  const rmpField = keysPayload.find((field) => this._fieldsWithRmp.includes(field));
363
374
  if (rmpField) {
@@ -436,7 +447,7 @@ const SnkDataUnit = class {
436
447
  isAllowed(flag) {
437
448
  return this._permissions ? this._permissions.isSup || this._permissions[flag] : false;
438
449
  }
439
- buildDataState(actionType) {
450
+ async buildDataState(actionType) {
440
451
  var _a;
441
452
  const selectionInfo = this.dataUnit.getSelectionInfo();
442
453
  const isStartingInsertionMode = (this.dataUnit.hasDirtyRecords() || this.dataUnit.hasWaitingChanges()) && (selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.isEmpty());
@@ -444,7 +455,7 @@ const SnkDataUnit = class {
444
455
  let rowMetadata = (_a = this.dataState) === null || _a === void 0 ? void 0 : _a.rowMetadata;
445
456
  const allowedOverwrite = [Action.SELECTION_CHANGED, Action.EDITION_CANCELED, Action.NEXT_SELECTED, Action.PREVIOUS_SELECTED];
446
457
  if (selectedRecord && (!rowMetadata || allowedOverwrite.includes(actionType))) {
447
- rowMetadata = this.doGetRowMetadata(selectedRecord);
458
+ rowMetadata = await this.doGetRowMetadata(selectedRecord);
448
459
  }
449
460
  else if (rowMetadata) {
450
461
  rowMetadata.getProp = this.buildGetPropRowMetadata(rowMetadata);
@@ -466,17 +477,20 @@ const SnkDataUnit = class {
466
477
  });
467
478
  }
468
479
  async handleDataSaved(action) {
469
- const newRowMetadata = await this.handleLoadRowMetadata(action);
480
+ var _a, _b, _c;
481
+ const newRowMetadata = await this.handleLoadRowMetadata((_c = (_b = (_a = action === null || action === void 0 ? void 0 : action.payload) === null || _a === void 0 ? void 0 : _a.changes) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.record);
470
482
  if (newRowMetadata) {
471
483
  newRowMetadata.getProp = this.buildGetPropRowMetadata(newRowMetadata);
472
484
  }
473
485
  const recordId = action.payload.records[0].__record__id__;
474
486
  this._metadataByRow.set(recordId, newRowMetadata);
475
- this.dataState = this.buildDataState();
476
- if (this.ignoreSaveMessage) {
487
+ this.dataState = await this.buildDataState();
488
+ let saveOperation = action.payload.changes[0]._operation.toLowerCase();
489
+ if (saveOperation == 'copy')
490
+ saveOperation = OperationMap.CLONE;
491
+ if (this.ignoreSaveMessage && ![OperationMap.CLONE, OperationMap.INSERT].includes(saveOperation)) {
477
492
  return;
478
493
  }
479
- const saveOperation = action.payload.changes[0]._operation.toLowerCase();
480
494
  const msg = this.getMessage("snkDataUnit.saveInfo", action.payload.records[0], saveOperation);
481
495
  if (msg != undefined) {
482
496
  this.showSuccessMessage(msg);
@@ -484,14 +498,7 @@ const SnkDataUnit = class {
484
498
  }
485
499
  handleRecordsRemoved(action) {
486
500
  var _a, _b;
487
- const cachedRecords = action.payload.cachedRecords;
488
- let removeFinishMsg;
489
- if ((cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.length) > 1) {
490
- removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size: cachedRecords.length });
491
- }
492
- else {
493
- removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
494
- }
501
+ let removeFinishMsg = this.buildRemoveFinishMessage(action);
495
502
  if (removeFinishMsg != undefined) {
496
503
  this.showSuccessMessage(removeFinishMsg);
497
504
  }
@@ -502,6 +509,14 @@ const SnkDataUnit = class {
502
509
  this.dataUnit.gotoPage(page);
503
510
  }
504
511
  }
512
+ buildRemoveFinishMessage(action) {
513
+ const records = action.payload.records;
514
+ if (!records || !records.length)
515
+ return undefined;
516
+ if ((records === null || records === void 0 ? void 0 : records.length) > 1)
517
+ return this.getMessage('snkDataUnit.removeAllInfo', { size: records.length });
518
+ return this.getMessage('snkDataUnit.removeInfo', records);
519
+ }
505
520
  /**
506
521
  * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
507
522
  * através de um pequeno modulo na estrutura da aplicação:
@@ -545,21 +560,30 @@ const SnkDataUnit = class {
545
560
  return await this._application.getDataUnit(this.entityName, cacheName, null, this.configName, this.resourceID);
546
561
  }
547
562
  }
563
+ updateMetadataWithRMP() {
564
+ this.fillFieldsWithRmp(this.dataUnit.metadata);
565
+ this.fillFieldsWithRmPrecision(this.dataUnit.metadata);
566
+ const dataUnitUpdatedMetadata = this.handleDULinksOnMetadataLoaded(this.dataUnit.metadata);
567
+ this.dataUnit.metadata = dataUnitUpdatedMetadata;
568
+ }
548
569
  async loadDataUnit() {
549
- var _a;
570
+ var _a, _b;
550
571
  if (this.dataUnit == null && this._application && this.entityName) {
551
572
  this.dataUnit = await this.getDataUnitParentOrChild();
552
573
  }
553
574
  if (this.dataUnit) {
554
575
  this.dataUnit.pageSize = this.pageSize;
555
576
  this.dataUnit.unsubscribe(this._dataUnitObserver);
556
- this.dataUnit.addInterceptor(this);
557
577
  this.dataUnit.subscribe(this._dataUnitObserver);
558
- await this.dataUnit.loadMetadata();
559
- if ((_a = this.dataUnit.records) === null || _a === void 0 ? void 0 : _a.length) {
560
- this.getMetadataByRow(this.dataUnit);
578
+ if ((_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.metadata) {
579
+ this.updateMetadataWithRMP();
580
+ }
581
+ this.dataUnit.addInterceptor(this);
582
+ if ((_b = this.dataUnit.records) === null || _b === void 0 ? void 0 : _b.length) {
583
+ const { records } = this.getMetadataByRow(this.dataUnit);
584
+ this.dataUnit.records = records;
561
585
  }
562
- this.dataState = this.buildDataState();
586
+ this.dataState = await this.buildDataState();
563
587
  let resolver;
564
588
  while (resolver = this._onDataUnitResolve.pop()) {
565
589
  resolver(this.dataUnit);
@@ -1,15 +1,15 @@
1
- export { S as snk_data_unit } from './snk-data-unit-f5cbe64b.js';
1
+ export { S as snk_data_unit } from './snk-data-unit-7d0ce406.js';
2
2
  import './index-a7d3d3f1.js';
3
3
  import '@sankhyalabs/core';
4
4
  import '@sankhyalabs/ezui/dist/collection/utils';
5
- import './SnkMessageBuilder-571462fb.js';
6
- import './dataunit-fetcher-264191b2.js';
7
- import './DataFetcher-c1baf61d.js';
5
+ import './SnkMessageBuilder-6fff4a4c.js';
6
+ import './dataunit-fetcher-1d02ecfc.js';
7
+ import './DataFetcher-88e56266.js';
8
8
  import './PrintUtils-3e4ff0f5.js';
9
9
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
10
10
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
11
11
  import '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
12
12
  import '@sankhyalabs/core/dist/utils/SortingUtils';
13
13
  import './ResourceIDUtils-a114189a.js';
14
- import './RecordIDUtils-87d02110.js';
15
14
  import '@sankhyalabs/core/dist/dataunit/metadata/DataType';
15
+ import './GetSelectedRecordsIDsInfo-9fa41508.js';
@@ -1,27 +1,26 @@
1
1
  import { r as registerInstance, c as createEvent, f as forceUpdate, h, H as Host } from './index-a7d3d3f1.js';
2
2
  import { Action } from '@sankhyalabs/core';
3
- import { S as SnkFormConfigManager } from './SnkFormConfigManager-31b24066.js';
3
+ import { S as SnkFormConfigManager } from './SnkFormConfigManager-be490a33.js';
4
4
  import { FormMetadata, buildFormMetadata } from '@sankhyalabs/ezui/dist/collection/utils/form';
5
- import './DataFetcher-c1baf61d.js';
6
- import './pesquisa-fetcher-03c8f919.js';
7
- import { P as PresentationMode } from './index-3aa4977a.js';
8
- import './ISave-d8c8bc59.js';
5
+ import './DataFetcher-88e56266.js';
6
+ import './ISave-5efafc97.js';
7
+ import { P as PresentationMode } from './index-b40568ff.js';
9
8
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
10
9
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
11
- import './dataunit-fetcher-264191b2.js';
10
+ import './dataunit-fetcher-1d02ecfc.js';
12
11
  import './filter-item-type.enum-d45e026f.js';
13
- import './form-config-fetcher-30fb808f.js';
14
- import { T as TaskbarElement } from './taskbar-elements-d59867f1.js';
15
- import { d as VIEW_MODE } from './constants-8457af36.js';
16
- import { S as SnkGuidesViewer } from './snk-guides-viewer-8f6960a2.js';
17
- import { S as SnkMessageBuilder } from './SnkMessageBuilder-571462fb.js';
18
- import './ConfigStorage-3806514e.js';
12
+ import './form-config-fetcher-fa208a6c.js';
13
+ import { V as VIEW_MODE } from './constants-7db1128a.js';
14
+ import { T as TaskbarElement } from './taskbar-elements-d2353c64.js';
15
+ import { S as SnkGuidesViewer } from './snk-guides-viewer-c44b3839.js';
16
+ import { S as SnkMessageBuilder } from './SnkMessageBuilder-6fff4a4c.js';
17
+ import './ConfigStorage-71e6766f.js';
19
18
  import './PrintUtils-3e4ff0f5.js';
20
19
  import '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
21
20
  import '@sankhyalabs/core/dist/utils/SortingUtils';
22
21
  import './ResourceIDUtils-a114189a.js';
23
22
  import './index-bdf75557.js';
24
- import './field-search-efbe307f.js';
23
+ import './field-search-f8b1d91e.js';
25
24
  import '@sankhyalabs/core/dist/dataunit/DataUnit';
26
25
 
27
26
  class GuideBuilder {
@@ -67,7 +66,7 @@ class GuideBuilder {
67
66
  }
68
67
  }
69
68
 
70
- const snkDetailViewCss = ".sc-snk-detail-view-h{display:flex;row-gap:24px;flex-direction:column;width:100%;height:100%}.level-path.sc-snk-detail-view{color:var(--color--title-primary, #2B3A54);font-weight:var(--text-weight--medium, 400);padding-right:3px}.form-taskbar.sc-snk-detail-view{padding-bottom:var(--space--medium)}.grid-container.sc-snk-detail-view{background-color:#FFF;min-height:100px}.detail-header.sc-snk-detail-view{padding-bottom:0}";
69
+ const snkDetailViewCss = ".sc-snk-detail-view-h{display:flex;row-gap:24px;flex-direction:column;width:100%;height:100%}.level-path.sc-snk-detail-view{color:var(--color--title-primary, #2B3A54);font-weight:var(--text-weight--medium, 400);padding-right:3px}.form-taskbar.sc-snk-detail-view{padding-bottom:var(--space--medium)}.grid-container.sc-snk-detail-view{background-color:#FFF;min-height:100px;height:100%}.detail-header.sc-snk-detail-view{padding-bottom:0}snk-data-unit.sc-snk-detail-view{flex:1}snk-grid.sc-snk-detail-view{height:calc(100% - 43px)}";
71
70
 
72
71
  const SnkDetailView = class {
73
72
  constructor(hostRef) {
@@ -93,6 +92,7 @@ const SnkDetailView = class {
93
92
  this.taskbarCustomContainerId = undefined;
94
93
  this.customEditors = undefined;
95
94
  this.customRenders = undefined;
95
+ this.presentationMode = PresentationMode.SECONDARY;
96
96
  }
97
97
  observeDataUnit(newDataUnit, oldDataUnit) {
98
98
  newDataUnit === null || newDataUnit === void 0 ? void 0 : newDataUnit.subscribe(this.dataUnitActionHandler.bind(this));
@@ -263,7 +263,7 @@ const SnkDetailView = class {
263
263
  this.emitSwitchEvent(VIEW_MODE.GRID);
264
264
  evt.stopPropagation();
265
265
  }
266
- if (evt.detail === TaskbarElement.FORM_MODE) {
266
+ if (evt.detail === TaskbarElement.FORM_MODE || evt.detail === TaskbarElement.UPDATE) {
267
267
  this.emitSwitchEvent(VIEW_MODE.FORM);
268
268
  evt.stopPropagation();
269
269
  }
@@ -287,7 +287,7 @@ const SnkDetailView = class {
287
287
  }
288
288
  componentWillLoad() {
289
289
  this._configName = `dynaform.${this.entityName}`;
290
- this.formConfigManager = new SnkFormConfigManager(this._configName, this.resourceID, () => this.loadMetadata());
290
+ this.formConfigManager = new SnkFormConfigManager(this._configName, this.resourceID, () => this.loadMetadata(), this.dataUnit);
291
291
  this.formConfigManager.loadConfig();
292
292
  if (this.messagesBuilder == undefined) {
293
293
  this.messagesBuilder = new SnkMessageBuilder(this.entityName);
@@ -312,7 +312,7 @@ const SnkDetailView = class {
312
312
  render() {
313
313
  this.updateLabel();
314
314
  //const cardConfig: IFormCardConfig = this._cardsState?.get(this.selectedForm);
315
- return (h(Host, null, h("snk-data-unit", { ref: (el) => this._snkDataUnit = el, dataUnitName: `${this.dataUnitName}`, onDataUnitReady: evt => this.dataUnitReadyHandler(evt), entityName: this.entityName, onDataStateChange: this.handleDataStateChange.bind(this), ignoreSaveMessage: this._currentView === VIEW_MODE.GRID, messagesBuilder: this.messagesBuilder, configName: this._configName }, h("ez-view-stack", { ref: (ref) => this.updateViewStack(ref) }, h("stack-item", null, h("div", { class: "ez-box ez-box--shadow grid-container" }, h("div", { class: "ez-flex ez-title--primary ez-size-width--full ez-padding--large detail-header" }, h("div", { class: "ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center" }, this._levelPath ? h("span", { class: "level-path" }, this._levelPath + " /") : undefined, this.label)), h("snk-grid", { class: "ez-size-width--full ez-size-height--full", ref: (ref) => this._snkGrid = ref, configName: this._configName, messagesBuilder: this.messagesBuilder, onGridDoubleClick: () => this.emitSwitchEvent(VIEW_MODE.FORM), onActionClick: (evt) => this.executeActionHandler(evt), presentationMode: PresentationMode.SECONDARY, canEdit: this.canEdit, isDetail: true, taskbarCustomContainerId: this.taskbarCustomContainerId, gridHeaderCustomSlotId: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS", topTaskbarCustomSlotId: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }))), h("stack-item", null, h("snk-form-view", { ref: (ref) => this._snkFormView = ref, canExpand: false, canFix: false, name: this.selectedForm, formMetadata: this._formMetadata, dataUnit: this.dataUnit, fields: this.getFormFields(), label: this.label, levelPath: this._levelPath, onFormItemsReady: ({ detail: formItems }) => this.formItemsReady.emit(formItems) }, h("snk-taskbar", { key: "guideViewerTaskbar", class: "form-taskbar", "data-element-id": "guideViewer", configName: this._configName, messagesBuilder: this.messagesBuilder, disabledButtons: this._disabledButtons, buttons: "INSERT,PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,CONFIGURATOR", primaryButton: "INSERT", presentationMode: PresentationMode.SECONDARY, onActionClick: evt => this.executeActionHandler(evt), dataUnit: this.dataUnit, resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }, h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" })))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this.entityName, onBack: this.handleAttachBack.bind(this) }))))));
315
+ return (h(Host, null, h("snk-data-unit", { ref: (el) => this._snkDataUnit = el, dataUnitName: `${this.dataUnitName}`, onDataUnitReady: evt => this.dataUnitReadyHandler(evt), entityName: this.entityName, onDataStateChange: this.handleDataStateChange.bind(this), ignoreSaveMessage: this._currentView === VIEW_MODE.GRID, messagesBuilder: this.messagesBuilder, configName: this._configName }, h("ez-view-stack", { ref: (ref) => this.updateViewStack(ref) }, h("stack-item", null, h("div", { class: "ez-box ez-box--shadow grid-container" }, h("div", { class: "ez-title--primary ez-size-width--full ez-padding--large detail-header" }, h("div", { class: "ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center" }, this._levelPath ? h("span", { class: "level-path" }, this._levelPath + " /") : undefined, this.label)), h("snk-grid", { class: "ez-size-width--full", ref: (ref) => this._snkGrid = ref, configName: this._configName, messagesBuilder: this.messagesBuilder, onGridDoubleClick: () => this.emitSwitchEvent(VIEW_MODE.FORM), onActionClick: (evt) => this.executeActionHandler(evt), presentationMode: this.presentationMode, canEdit: this.canEdit, isDetail: true, taskbarCustomContainerId: this.taskbarCustomContainerId, gridHeaderCustomSlotId: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS", topTaskbarCustomSlotId: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS", outlineMode: false }))), h("stack-item", null, h("snk-form-view", { ref: (ref) => this._snkFormView = ref, canExpand: false, canFix: false, name: this.selectedForm, formMetadata: this._formMetadata, dataUnit: this.dataUnit, fields: this.getFormFields(), label: this.label, levelPath: this._levelPath, onFormItemsReady: ({ detail: formItems }) => this.formItemsReady.emit(formItems) }, h("snk-taskbar", { key: "guideViewerTaskbar", class: "form-taskbar", "data-element-id": "guideViewer", configName: this._configName, messagesBuilder: this.messagesBuilder, disabledButtons: this._disabledButtons, buttons: "INSERT,PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,CONFIGURATOR", primaryButton: "INSERT", presentationMode: this.presentationMode, onActionClick: evt => this.executeActionHandler(evt), dataUnit: this.dataUnit, resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }, h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" })))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this.entityName, onBack: this.handleAttachBack.bind(this) }))))));
316
316
  }
317
317
  static get watchers() { return {
318
318
  "dataUnit": ["observeDataUnit"],