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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. package/dist/cjs/ClientSideExporterProvider-a2753c93.js +378 -0
  2. package/dist/cjs/{ConfigStorage-e49214c6.js → ConfigStorage-df09fb78.js} +2 -2
  3. package/dist/cjs/{DataFetcher-77729a93.js → DataFetcher-1afdb18e.js} +231 -84
  4. package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
  5. package/dist/cjs/IFetchDataExporterParams-e78ec415.js +8 -0
  6. package/dist/cjs/ISave-c76e2c51.js +397 -0
  7. package/dist/cjs/{SnkFormConfigManager-beebf47a.js → SnkFormConfigManager-45a8d7b7.js} +75 -17
  8. package/dist/cjs/{SnkMessageBuilder-897ffd08.js → SnkMessageBuilder-9deeae08.js} +40 -28
  9. package/dist/cjs/{auth-fetcher-29bb791c.js → auth-fetcher-1687ac0a.js} +1 -1
  10. package/dist/cjs/{constants-35ddd366.js → constants-77c1b8bd.js} +10 -0
  11. package/dist/cjs/{dataunit-fetcher-d4873076.js → dataunit-fetcher-a723f0dc.js} +225 -175
  12. package/dist/cjs/{form-config-fetcher-feb08214.js → form-config-fetcher-40d3f752.js} +56 -2
  13. package/dist/cjs/{index-1dfc7a6e.js → index-e3e39724.js} +5 -0
  14. package/dist/cjs/index-f9e81701.js +16 -32
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +155 -0
  17. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  18. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_8.cjs.entry.js} +264 -46
  19. package/dist/cjs/snk-application.cjs.entry.js +471 -79
  20. package/dist/cjs/snk-attach.cjs.entry.js +91 -50
  21. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +401 -13
  22. package/dist/cjs/snk-configurator.cjs.entry.js +10 -3
  23. package/dist/cjs/snk-crud.cjs.entry.js +57 -84
  24. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -30
  25. package/dist/cjs/{snk-data-unit-ece44c4a.js → snk-data-unit-57916de4.js} +275 -37
  26. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  27. package/dist/cjs/snk-detail-view.cjs.entry.js +69 -17
  28. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  29. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  30. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1438 -0
  31. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  32. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  34. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  35. package/dist/cjs/snk-filter-search.cjs.entry.js +18 -5
  36. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  37. package/dist/cjs/snk-form-view.cjs.entry.js +19 -7
  38. package/dist/cjs/snk-grid.cjs.entry.js +132 -51
  39. package/dist/cjs/{snk-guides-viewer-aafc3073.js → snk-guides-viewer-d33379cd.js} +151 -74
  40. package/dist/cjs/snk-guides-viewer.cjs.entry.js +12 -12
  41. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  42. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  43. package/dist/cjs/snk-pesquisa.cjs.entry.js +116 -31
  44. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  45. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  46. package/dist/cjs/snk-simple-crud.cjs.entry.js +237 -200
  47. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  48. package/dist/cjs/snk-taskbar.cjs.entry.js +79 -42
  49. package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-6f4e06af.js} +12 -1
  50. package/dist/cjs/{field-search-f56aa7d6.js → taskbar-processor-2fba34a8.js} +5 -36
  51. package/dist/collection/collection-manifest.json +17 -31
  52. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  53. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  54. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  55. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +5 -2
  56. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  57. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  58. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  59. package/dist/collection/components/snk-application/search-strategy/exec-prepared-search-plus.js +107 -0
  60. package/dist/collection/components/snk-application/snk-application.css +36 -0
  61. package/dist/collection/components/snk-application/snk-application.js +450 -72
  62. package/dist/collection/components/snk-attach/snk-attach.js +51 -16
  63. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  64. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +19 -18
  65. package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
  66. package/dist/collection/components/snk-configurator/snk-configurator.js +26 -1
  67. package/dist/collection/components/snk-crud/snk-crud.js +181 -76
  68. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +10 -1
  69. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +84 -6
  70. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +54 -7
  71. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  72. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +198 -82
  73. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  74. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +8 -8
  75. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  76. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +41 -10
  77. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +18 -6
  78. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  79. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +10 -9
  80. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  81. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  82. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  83. package/dist/collection/components/snk-data-unit/MultipleUpdateHelper.js +128 -0
  84. package/dist/collection/components/snk-data-unit/snk-data-unit.js +156 -37
  85. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
  86. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  87. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  88. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
  89. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +18 -5
  90. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  91. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  92. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  93. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  94. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +10 -4
  95. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  96. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  97. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -6
  98. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
  99. package/dist/collection/components/snk-form/snk-form.js +2 -2
  100. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
  101. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  102. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  103. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.js +5 -3
  104. package/dist/collection/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.js +2 -2
  105. package/dist/collection/components/snk-grid/snk-grid.css +8 -0
  106. package/dist/collection/components/snk-grid/snk-grid.js +269 -51
  107. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  108. package/dist/collection/components/snk-grid-config/snk-grid-config.js +2 -0
  109. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +3 -0
  110. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +73 -0
  111. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +78 -0
  112. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +57 -0
  113. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  114. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  115. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  116. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  117. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  118. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  119. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +181 -32
  120. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  121. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  122. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  123. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +342 -123
  124. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  125. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  126. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +13 -0
  127. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +1 -1
  128. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +11 -0
  129. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.css +0 -0
  130. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.js +220 -0
  131. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  132. package/dist/collection/components/snk-taskbar/snk-taskbar.js +141 -41
  133. package/dist/collection/lib/@types/index.js +5 -0
  134. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +11 -5
  135. package/dist/collection/lib/configs/LayoutFormConfig.js +25 -0
  136. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -103
  137. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -32
  138. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +44 -29
  139. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  140. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  141. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  142. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +5 -2
  143. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  144. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +23 -14
  145. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  146. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +59 -5
  147. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  148. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +133 -9
  149. package/dist/collection/lib/index.js +1 -0
  150. package/dist/collection/lib/message/SnkMessageBuilder.js +1 -0
  151. package/dist/collection/lib/message/resources/snk-crud.msg.js +1 -1
  152. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +28 -23
  153. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  154. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  155. package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +2 -1
  156. package/dist/collection/lib/message/resources/snk-taskbar.msg.js +1 -0
  157. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  158. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  159. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  160. package/dist/collection/lib/utils/constants.js +10 -0
  161. package/dist/collection/sw.js +46 -0
  162. package/dist/components/ContinuousInsertUtils.js +416 -0
  163. package/dist/components/DataFetcher.js +231 -84
  164. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  165. package/dist/components/ISave.js +391 -1
  166. package/dist/components/SnkFormConfigManager.js +73 -15
  167. package/dist/components/SnkMessageBuilder.js +40 -28
  168. package/dist/components/constants.js +11 -1
  169. package/dist/components/dataunit-fetcher.js +243 -190
  170. package/dist/components/form-config-fetcher.js +55 -1
  171. package/dist/components/index.d.ts +6 -0
  172. package/dist/components/index.js +6 -0
  173. package/dist/components/pesquisa-grid.d.ts +11 -0
  174. package/dist/components/pesquisa-grid.js +6 -0
  175. package/dist/components/pesquisa-grid2.js +102 -0
  176. package/dist/components/pesquisa-tree.d.ts +11 -0
  177. package/dist/components/pesquisa-tree.js +6 -0
  178. package/dist/components/pesquisa-tree2.js +91 -0
  179. package/dist/components/snk-actions-button2.js +44 -40
  180. package/dist/components/snk-application2.js +494 -77
  181. package/dist/components/snk-attach2.js +114 -73
  182. package/dist/components/snk-config-options2.js +6 -4
  183. package/dist/components/snk-configurator2.js +23 -3
  184. package/dist/components/snk-crud.js +143 -139
  185. package/dist/components/snk-data-exporter2.js +37 -23
  186. package/dist/components/snk-data-unit2.js +275 -74
  187. package/dist/components/snk-detail-view2.js +329 -171
  188. package/dist/components/snk-exporter-email-sender2.js +1 -1
  189. package/dist/components/snk-filter-bar2.js +68 -34
  190. package/dist/components/snk-filter-binary-select.js +1 -1
  191. package/dist/components/snk-filter-checkbox-list.js +1 -1
  192. package/dist/components/snk-filter-item2.js +10 -4
  193. package/dist/components/snk-filter-modal.js +4 -2
  194. package/dist/components/snk-filter-number.js +1 -1
  195. package/dist/components/snk-filter-search.js +18 -5
  196. package/dist/components/snk-filter-text.js +2 -1
  197. package/dist/components/snk-form-config2.js +35 -10
  198. package/dist/components/snk-form-view2.js +22 -8
  199. package/dist/components/snk-form.js +2 -2
  200. package/dist/components/snk-grid-config2.js +3 -1
  201. package/dist/components/snk-grid2.js +169 -75
  202. package/dist/components/snk-layout-form-config.d.ts +11 -0
  203. package/dist/components/snk-layout-form-config.js +6 -0
  204. package/dist/components/snk-layout-form-config2.js +73 -0
  205. package/dist/components/snk-personalized-filter-editor.js +4 -4
  206. package/dist/components/snk-pesquisa2.js +132 -33
  207. package/dist/components/snk-print-selector.js +1 -1
  208. package/dist/components/snk-simple-bar2.js +1 -1
  209. package/dist/components/snk-simple-crud2.js +246 -203
  210. package/dist/components/snk-simple-form-config.d.ts +11 -0
  211. package/dist/components/snk-simple-form-config.js +6 -0
  212. package/dist/components/snk-simple-form-config2.js +121 -0
  213. package/dist/components/snk-tab-config2.js +1 -1
  214. package/dist/components/snk-taskbar2.js +105 -50
  215. package/dist/components/snk-view-representation.d.ts +11 -0
  216. package/dist/components/snk-view-representation.js +6 -0
  217. package/dist/components/snk-view-representation2.js +41 -0
  218. package/dist/components/taskbar-actions-button2.js +2 -2
  219. package/dist/components/taskbar-split-button.d.ts +11 -0
  220. package/dist/components/taskbar-split-button.js +6 -0
  221. package/dist/components/taskbar-split-button2.js +87 -0
  222. package/dist/components/teste-pesquisa.js +13 -1
  223. package/dist/esm/ClientSideExporterProvider-b3871edb.js +367 -0
  224. package/dist/esm/{ConfigStorage-e476378d.js → ConfigStorage-71e6766f.js} +2 -2
  225. package/dist/esm/{DataFetcher-773a3e4b.js → DataFetcher-88e56266.js} +231 -84
  226. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  227. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  228. package/dist/esm/ISave-5efafc97.js +394 -0
  229. package/dist/esm/{SnkFormConfigManager-298cd647.js → SnkFormConfigManager-be490a33.js} +75 -17
  230. package/dist/esm/{SnkMessageBuilder-571462fb.js → SnkMessageBuilder-2dbd8fa2.js} +40 -28
  231. package/dist/esm/{auth-fetcher-a411f73c.js → auth-fetcher-3510520e.js} +1 -1
  232. package/dist/esm/{constants-8457af36.js → constants-7db1128a.js} +11 -1
  233. package/dist/esm/{dataunit-fetcher-3d2ec959.js → dataunit-fetcher-0e025732.js} +227 -174
  234. package/dist/esm/{form-config-fetcher-e0382e5a.js → form-config-fetcher-fa208a6c.js} +56 -2
  235. package/dist/esm/index-a7d3d3f1.js +16 -32
  236. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  237. package/dist/esm/loader.js +1 -1
  238. package/dist/esm/pesquisa-grid_2.entry.js +150 -0
  239. package/dist/esm/sankhyablocks.js +1 -1
  240. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_8.entry.js} +263 -49
  241. package/dist/esm/snk-application.entry.js +472 -80
  242. package/dist/esm/snk-attach.entry.js +92 -51
  243. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +401 -15
  244. package/dist/esm/snk-configurator.entry.js +10 -3
  245. package/dist/esm/snk-crud.entry.js +58 -85
  246. package/dist/esm/snk-data-exporter.entry.js +38 -30
  247. package/dist/esm/{snk-data-unit-2a1d5d09.js → snk-data-unit-65c9dd1a.js} +275 -37
  248. package/dist/esm/snk-data-unit.entry.js +5 -5
  249. package/dist/esm/snk-detail-view.entry.js +71 -19
  250. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  251. package/dist/esm/snk-field-config.entry.js +1 -1
  252. package/dist/esm/snk-filter-bar_4.entry.js +1431 -0
  253. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  254. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  255. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  256. package/dist/esm/snk-filter-number.entry.js +1 -1
  257. package/dist/esm/snk-filter-search.entry.js +18 -5
  258. package/dist/esm/snk-filter-text.entry.js +2 -1
  259. package/dist/esm/snk-form-view.entry.js +19 -7
  260. package/dist/esm/snk-grid.entry.js +125 -44
  261. package/dist/esm/{snk-guides-viewer-62124f3d.js → snk-guides-viewer-72953334.js} +153 -76
  262. package/dist/esm/snk-guides-viewer.entry.js +12 -12
  263. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  264. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  265. package/dist/esm/snk-pesquisa.entry.js +116 -31
  266. package/dist/esm/snk-print-selector.entry.js +1 -1
  267. package/dist/esm/snk-simple-bar.entry.js +1 -1
  268. package/dist/esm/snk-simple-crud.entry.js +224 -187
  269. package/dist/esm/snk-tab-config.entry.js +1 -1
  270. package/dist/esm/snk-taskbar.entry.js +80 -43
  271. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-f2cb4922.js} +12 -1
  272. package/dist/esm/{field-search-efbe307f.js → taskbar-processor-3436124c.js} +6 -35
  273. package/dist/sankhyablocks/{p-3287a6cc.js → p-03b68a74.js} +1 -1
  274. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  275. package/dist/sankhyablocks/p-0fadb620.js +1 -0
  276. package/dist/sankhyablocks/{p-9dfda04a.entry.js → p-165cde3b.entry.js} +1 -1
  277. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  278. package/dist/sankhyablocks/p-1a0caadb.js +1 -0
  279. package/dist/sankhyablocks/p-1bdffb17.entry.js +11 -0
  280. package/dist/sankhyablocks/p-1f80174b.entry.js +1 -0
  281. package/dist/sankhyablocks/p-24a0dbd2.entry.js +1 -0
  282. package/dist/sankhyablocks/p-2f7e2251.entry.js +1 -0
  283. package/dist/sankhyablocks/p-3372178e.entry.js +1 -0
  284. package/dist/sankhyablocks/{p-95df461f.entry.js → p-3749dffb.entry.js} +1 -1
  285. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  286. package/dist/sankhyablocks/p-4689c2e6.js +1 -0
  287. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  288. package/dist/sankhyablocks/{p-bd008859.entry.js → p-490b75b5.entry.js} +1 -1
  289. package/dist/sankhyablocks/p-52d10014.entry.js +1 -0
  290. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  291. package/dist/sankhyablocks/p-5ffa0493.entry.js +1 -0
  292. package/dist/sankhyablocks/p-60137b7a.entry.js +1 -0
  293. package/dist/sankhyablocks/p-601b252b.js +26 -0
  294. package/dist/sankhyablocks/p-6a03b190.entry.js +1 -0
  295. package/dist/sankhyablocks/p-6dd38d7b.js +6 -0
  296. package/dist/sankhyablocks/{p-0cd3c0a9.js → p-73285a8a.js} +1 -1
  297. package/dist/sankhyablocks/p-7993b2e3.js +60 -0
  298. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  299. package/dist/sankhyablocks/p-7beeabc1.entry.js +1 -0
  300. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  301. package/dist/sankhyablocks/p-885802c3.js +1 -0
  302. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  303. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  304. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  305. package/dist/sankhyablocks/p-90684a75.entry.js +1 -0
  306. package/dist/sankhyablocks/{p-b0ef4383.js → p-9261d8a0.js} +1 -1
  307. package/dist/sankhyablocks/p-a14a09c3.entry.js +1 -0
  308. package/dist/sankhyablocks/p-a4ebeec4.entry.js +1 -0
  309. package/dist/sankhyablocks/p-b0ab5066.entry.js +1 -0
  310. package/dist/sankhyablocks/p-b6200d32.entry.js +1 -0
  311. package/dist/sankhyablocks/p-bc101064.entry.js +1 -0
  312. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-c0eb761b.entry.js} +1 -1
  313. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  314. package/dist/sankhyablocks/p-c9675d64.js +1 -0
  315. package/dist/sankhyablocks/p-ce94e6c4.entry.js +1 -0
  316. package/dist/sankhyablocks/p-d07b18a4.js +1 -0
  317. package/dist/sankhyablocks/p-ddf93f36.entry.js +1 -0
  318. package/dist/sankhyablocks/p-ebdb9d89.js +1 -0
  319. package/dist/sankhyablocks/p-fbba7e3d.js +1 -0
  320. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  321. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  322. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  323. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  324. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  325. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  326. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  327. package/dist/types/components/snk-application/search-strategy/exec-prepared-search-plus.d.ts +5 -0
  328. package/dist/types/components/snk-application/snk-application.d.ts +55 -16
  329. package/dist/types/components/snk-attach/snk-attach.d.ts +2 -0
  330. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  331. package/dist/types/components/snk-crud/snk-crud.d.ts +30 -3
  332. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +17 -0
  333. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +11 -1
  334. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +26 -7
  335. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  336. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  337. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +9 -1
  338. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  339. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  340. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  341. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  342. package/dist/types/components/snk-data-unit/MultipleUpdateHelper.d.ts +9 -0
  343. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +19 -0
  344. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +5 -3
  345. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  346. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  347. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  348. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  349. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  350. package/dist/types/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.d.ts +2 -1
  351. package/dist/types/components/snk-grid/snk-grid.d.ts +45 -5
  352. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +1 -0
  353. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
  354. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -0
  355. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  356. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  357. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  358. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +36 -1
  359. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +51 -15
  360. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  361. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +2 -1
  362. package/dist/types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.d.ts +44 -0
  363. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  364. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +17 -0
  365. package/dist/types/components.d.ts +608 -24
  366. package/dist/types/lib/@types/index.d.ts +4 -0
  367. package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
  368. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  369. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  370. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  371. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  372. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  373. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  374. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  375. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -1
  376. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  377. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  378. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  379. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  380. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +14 -2
  381. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  382. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +21 -2
  383. package/dist/types/lib/index.d.ts +1 -0
  384. package/dist/types/lib/message/SnkMessageBuilder.d.ts +2 -1
  385. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  386. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  387. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  388. package/dist/types/lib/utils/constants.d.ts +8 -0
  389. package/package.json +4 -3
  390. package/react/components.d.ts +6 -0
  391. package/react/components.js +6 -0
  392. package/react/components.js.map +1 -1
  393. package/dist/cjs/IExporterProvider-10b7fed5.js +0 -230
  394. package/dist/cjs/ISave-e91b70a7.js +0 -9
  395. package/dist/cjs/pesquisa-fetcher-a1d0353f.js +0 -166
  396. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  397. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  398. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  399. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  400. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  401. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  402. package/dist/collection/components/snk-taskbar/subcomponents/field-search.js +0 -31
  403. package/dist/components/IExporterProvider.js +0 -298
  404. package/dist/components/pesquisa-fetcher.js +0 -164
  405. package/dist/esm/IExporterProvider-d597f27d.js +0 -221
  406. package/dist/esm/ISave-d8c8bc59.js +0 -9
  407. package/dist/esm/pesquisa-fetcher-a87445a0.js +0 -164
  408. package/dist/esm/snk-config-options.entry.js +0 -235
  409. package/dist/esm/snk-filter-bar.entry.js +0 -710
  410. package/dist/esm/snk-filter-item.entry.js +0 -308
  411. package/dist/esm/snk-filter-list.entry.js +0 -148
  412. package/dist/esm/snk-filter-modal.entry.js +0 -245
  413. package/dist/esm/snk-form.entry.js +0 -139
  414. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  415. package/dist/sankhyablocks/p-091ce761.js +0 -60
  416. package/dist/sankhyablocks/p-14b8b656.entry.js +0 -1
  417. package/dist/sankhyablocks/p-181975f1.js +0 -26
  418. package/dist/sankhyablocks/p-1db45d26.entry.js +0 -1
  419. package/dist/sankhyablocks/p-1e971cb0.entry.js +0 -1
  420. package/dist/sankhyablocks/p-21749402.js +0 -1
  421. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  422. package/dist/sankhyablocks/p-25f1fc39.js +0 -6
  423. package/dist/sankhyablocks/p-2e9c764c.entry.js +0 -1
  424. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  425. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  426. package/dist/sankhyablocks/p-421bec84.entry.js +0 -1
  427. package/dist/sankhyablocks/p-42f7b05d.entry.js +0 -1
  428. package/dist/sankhyablocks/p-51999ab5.entry.js +0 -1
  429. package/dist/sankhyablocks/p-594bc21d.js +0 -1
  430. package/dist/sankhyablocks/p-5f016aed.js +0 -1
  431. package/dist/sankhyablocks/p-62f34e6f.entry.js +0 -1
  432. package/dist/sankhyablocks/p-631954eb.entry.js +0 -1
  433. package/dist/sankhyablocks/p-65f8c11c.entry.js +0 -1
  434. package/dist/sankhyablocks/p-684a2590.entry.js +0 -1
  435. package/dist/sankhyablocks/p-70001ac1.js +0 -1
  436. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  437. package/dist/sankhyablocks/p-7663f597.entry.js +0 -1
  438. package/dist/sankhyablocks/p-76a65660.js +0 -1
  439. package/dist/sankhyablocks/p-7e7a7473.js +0 -1
  440. package/dist/sankhyablocks/p-7ef9c55c.js +0 -1
  441. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  442. package/dist/sankhyablocks/p-939e15d3.entry.js +0 -1
  443. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  444. package/dist/sankhyablocks/p-9863d682.js +0 -1
  445. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  446. package/dist/sankhyablocks/p-c2495304.js +0 -1
  447. package/dist/sankhyablocks/p-c8622597.entry.js +0 -1
  448. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  449. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  450. package/dist/sankhyablocks/p-d65d98ed.entry.js +0 -1
  451. package/dist/sankhyablocks/p-d6610d11.entry.js +0 -11
  452. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  453. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  454. package/dist/sankhyablocks/p-ffa5e4ff.js +0 -1
  455. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
  456. package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +0 -4
@@ -3,10 +3,139 @@
3
3
  const index = require('./index-f9e81701.js');
4
4
  const core = require('@sankhyalabs/core');
5
5
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
6
- const SnkMessageBuilder = require('./SnkMessageBuilder-897ffd08.js');
7
- const dataunitFetcher = require('./dataunit-fetcher-d4873076.js');
8
- const RecordIDUtils = require('./RecordIDUtils-3735135c.js');
6
+ const SnkMessageBuilder = require('./SnkMessageBuilder-9deeae08.js');
7
+ const dataunitFetcher = require('./dataunit-fetcher-a723f0dc.js');
9
8
  const DataType = require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
9
+ const GetSelectedRecordsIDsInfo = require('./GetSelectedRecordsIDsInfo-bd50caf1.js');
10
+
11
+ const NO_TAB_NAME = "__NO_TAB_NAME__";
12
+ const MAIN_TAB_NAME = "__main";
13
+ async function showConfirmMultipleUpdatePopup({ title, labelBtnConfirm, labelBtnCancel, message, changingFields, }) {
14
+ return new Promise((resolve) => {
15
+ const popup = builPopup(title, resolve);
16
+ const contentContainer = buildContentContainer();
17
+ contentContainer.appendChild(buildMessage(message));
18
+ contentContainer.appendChild(buildChangesContainer(changingFields));
19
+ const actionsContainer = buildActionsContainer();
20
+ actionsContainer.appendChild(buildCancelBtn(popup, labelBtnCancel, resolve));
21
+ actionsContainer.appendChild(buildConfirmBtn(popup, labelBtnConfirm, resolve));
22
+ contentContainer.appendChild(actionsContainer);
23
+ popup.appendChild(contentContainer);
24
+ document.body.appendChild(popup);
25
+ });
26
+ }
27
+ function groupChanges(changingFields) {
28
+ const changesMap = new Map();
29
+ changingFields.forEach(change => {
30
+ var _a;
31
+ const key = (_a = change.tabName) !== null && _a !== void 0 ? _a : NO_TAB_NAME;
32
+ if (!changesMap.has(key))
33
+ changesMap.set(key, []);
34
+ changesMap.get(key).push(change);
35
+ });
36
+ return changesMap;
37
+ }
38
+ function getTabName(tabName) {
39
+ switch (tabName) {
40
+ case NO_TAB_NAME:
41
+ return "";
42
+ case MAIN_TAB_NAME:
43
+ return "Principal";
44
+ default:
45
+ return tabName;
46
+ }
47
+ }
48
+ function buildChangesDiv(tabName, changes) {
49
+ const changeLabel = document.createElement('span');
50
+ changeLabel.innerText = getTabName(tabName);
51
+ changeLabel.style.display = 'block';
52
+ changeLabel.style.fontWeight = 'var(--text-weight--large, 500)';
53
+ changeLabel.style.fontSize = 'var(--text--medium, 14px)';
54
+ changeLabel.style.marginBottom = 'var(--space--small, 6px)';
55
+ const changeDiv = document.createElement('div');
56
+ changeDiv.style.padding = 'var(--space--medium, 12px) 0';
57
+ changeDiv.style.borderTop = '1px solid var(--color--disable-secondary, #f2f5f8)';
58
+ changeDiv.appendChild(changeLabel);
59
+ changes.forEach(change => {
60
+ const changeLine = document.createElement('span');
61
+ changeLine.innerHTML = `${change.label}: <span style="color: var(--text--primary, #626e82)">${change.value}</span>`;
62
+ changeLine.style.display = 'block';
63
+ changeLine.style.marginBottom = 'var(--space--extra-small, 3px)';
64
+ changeDiv.appendChild(changeLine);
65
+ });
66
+ return changeDiv;
67
+ }
68
+ function buildChangesContainer(changingFields) {
69
+ const changesContainer = document.createElement('div');
70
+ changesContainer.style.flexDirection = 'column';
71
+ changesContainer.style.display = 'flex';
72
+ changesContainer.style.overflow = 'auto';
73
+ changesContainer.style.maxHeight = '300px';
74
+ const changesMap = groupChanges(changingFields);
75
+ changesMap.forEach((changes, key) => {
76
+ changesContainer.appendChild(buildChangesDiv(key, changes));
77
+ });
78
+ return changesContainer;
79
+ }
80
+ function buildMessage(messageContent) {
81
+ const message = document.createElement('p');
82
+ message.textContent = messageContent;
83
+ message.style.fontSize = 'var(--text--medium, 14px)';
84
+ return message;
85
+ }
86
+ function buildContentContainer() {
87
+ const contentContainer = document.createElement('div');
88
+ contentContainer.style.display = 'flex';
89
+ contentContainer.style.flexDirection = 'column';
90
+ contentContainer.style.fontFamily = 'var(--font-pattern, Roboto)';
91
+ contentContainer.style.fontSize = 'var(--text--medium, 14px)';
92
+ return contentContainer;
93
+ }
94
+ function buildActionsContainer() {
95
+ const actionsContainer = document.createElement('div');
96
+ actionsContainer.style.display = 'flex';
97
+ actionsContainer.style.flexDirection = 'row';
98
+ actionsContainer.style.justifyContent = 'flex-end';
99
+ actionsContainer.style.gap = '5px';
100
+ return actionsContainer;
101
+ }
102
+ function builPopup(title, resolve) {
103
+ const popup = document.createElement('ez-popup');
104
+ popup.opened = true;
105
+ popup.size = 'small';
106
+ popup.ezTitle = title;
107
+ popup.heightMode = 'auto';
108
+ popup.addEventListener('ezClosePopup', () => {
109
+ document.body.removeChild(popup);
110
+ resolve(false);
111
+ }, { once: true });
112
+ popup.addEventListener('ezPopupAction', () => {
113
+ document.body.removeChild(popup);
114
+ resolve(false);
115
+ }, { once: true });
116
+ return popup;
117
+ }
118
+ function buildConfirmBtn(popup, confirmBtnLabel, resolve) {
119
+ const confirmBtn = document.createElement('ez-button');
120
+ confirmBtn.label = confirmBtnLabel;
121
+ confirmBtn.size = 'medium';
122
+ confirmBtn.classList.add('ez-button--primary');
123
+ confirmBtn.onclick = () => {
124
+ document.body.removeChild(popup);
125
+ resolve(true);
126
+ };
127
+ return confirmBtn;
128
+ }
129
+ function buildCancelBtn(popup, cancelBtnLabel, resolve) {
130
+ const cancelBtn = document.createElement('ez-button');
131
+ cancelBtn.label = cancelBtnLabel;
132
+ cancelBtn.size = 'medium';
133
+ cancelBtn.onclick = () => {
134
+ document.body.removeChild(popup);
135
+ resolve(false);
136
+ };
137
+ return cancelBtn;
138
+ }
10
139
 
11
140
  const SnkDataUnit = class {
12
141
  constructor(hostRef) {
@@ -23,9 +152,10 @@ const SnkDataUnit = class {
23
152
  this._fieldsWithRmPrecision = [];
24
153
  this._metadataByRow = new Map();
25
154
  this._rowMetadataCache = new Map();
155
+ this._formFieldsConfig = [];
26
156
  this.REGEX_DATAUNIT_NAME = /dd:\/\/(.+?)\//;
27
157
  this._dataUnitObserver = async (action) => {
28
- const duState = this.buildDataState(action.type);
158
+ const duState = await this.buildDataState(action.type);
29
159
  this.dataState = duState;
30
160
  this.messagesBuilder.currentOperation = this.getMessageOperation();
31
161
  switch (action.type) {
@@ -99,6 +229,10 @@ const SnkDataUnit = class {
99
229
  this.messagesBuilderUpdated.emit(newValue);
100
230
  }
101
231
  }
232
+ onMasterFormConfigChange({ detail }) {
233
+ var _a;
234
+ this._formFieldsConfig = (_a = detail === null || detail === void 0 ? void 0 : detail.fields) !== null && _a !== void 0 ? _a : [];
235
+ }
102
236
  /**
103
237
  * Obtém o dataUnit.
104
238
  */
@@ -117,7 +251,7 @@ const SnkDataUnit = class {
117
251
  * @returns Retorna a lista de IDs dos registros selecionados.
118
252
  */
119
253
  async getSelectedRecordsIDsInfo() {
120
- return Promise.resolve(RecordIDUtils.getSelectedIDs(this.dataUnit));
254
+ return GetSelectedRecordsIDsInfo.getSelectedRecordsIDsInfo(this.dataUnit);
121
255
  }
122
256
  /**
123
257
  * Retorna os campos que possuem a propriedade "rmp" (Row Metadata Provider).
@@ -137,14 +271,22 @@ const SnkDataUnit = class {
137
271
  async getRowMetadata(record) {
138
272
  return this.doGetRowMetadata(record);
139
273
  }
140
- doGetRowMetadata(record) {
274
+ async doGetRowMetadata(record) {
141
275
  const selectedRecord = this.dataUnit.getSelectedRecord();
142
276
  if (!record && !selectedRecord) {
143
277
  return;
144
278
  }
145
279
  const currentRecord = record || selectedRecord;
146
280
  const recordId = typeof currentRecord === 'string' ? currentRecord : currentRecord.__record__id__;
147
- const rowMetadata = this._metadataByRow.get(recordId);
281
+ let rowMetadata = this._metadataByRow.get(recordId);
282
+ /*
283
+ Nao fazemos cache de metadataByRow pra registros novos, pois a chave do mesmo
284
+ muda ao ser salvo, por isso essa tratativa é necessária para que o dataState fique com metadados
285
+ corretos nao confiando apenas no _metadataByRow
286
+ */
287
+ if (this.dataUnit.isNewRecord(recordId) && !rowMetadata) {
288
+ rowMetadata = await this.handleLoadRowMetadata(selectedRecord);
289
+ }
148
290
  if (!rowMetadata) {
149
291
  return;
150
292
  }
@@ -250,7 +392,9 @@ const SnkDataUnit = class {
250
392
  return new core.DataUnitAction(core.Action.RECORDS_COPIED, this.handleRecordsCopied(action.payload));
251
393
  }
252
394
  async interceptDataChange(action) {
253
- if (this.isAllowed("UPDATE")) {
395
+ var _a;
396
+ const recordId = (_a = this.dataUnit.getSelectedRecord()) === null || _a === void 0 ? void 0 : _a.__record__id__;
397
+ if (this.isAllowed("UPDATE") || this.dataUnit.isNewRecord(recordId)) {
254
398
  return action;
255
399
  }
256
400
  if (this._openedAlert) {
@@ -263,9 +407,13 @@ const SnkDataUnit = class {
263
407
  this._openedAlert = false;
264
408
  }
265
409
  async interceptSavingData(action) {
266
- if (!this.beforeSave) {
267
- return action;
410
+ if (this.dataUnit.isMultipleEdition) {
411
+ const confirm = await this.confirmMultipleSavingData();
412
+ if (!confirm)
413
+ return undefined;
268
414
  }
415
+ if (!this.beforeSave)
416
+ return action;
269
417
  const continueAction = this.beforeSave(this.dataUnit);
270
418
  if (continueAction instanceof Promise) {
271
419
  const result = await continueAction;
@@ -273,6 +421,46 @@ const SnkDataUnit = class {
273
421
  }
274
422
  return continueAction ? action : undefined;
275
423
  }
424
+ async confirmMultipleSavingData() {
425
+ const selectedRecords = this.dataUnit.getSelectionInfo().records;
426
+ const title = this.getMessage('snkDataUnit.multipleUpdateConfirmationTitle');
427
+ const message = this.getMessage('snkDataUnit.multipleUpdateConfirmationMessage', { size: selectedRecords.length });
428
+ const labelBtnCancel = this.getMessage('snkDataUnit.confirm.cancel');
429
+ const labelBtnConfirm = this.getMessage('snkDataUnit.confirm.updateMultipleConfirm');
430
+ return await showConfirmMultipleUpdatePopup({
431
+ title,
432
+ message,
433
+ labelBtnConfirm,
434
+ labelBtnCancel,
435
+ changingFields: this.getChangingFields(),
436
+ });
437
+ }
438
+ getChangingFields() {
439
+ const changes = this.dataUnit.buildChangesToSave();
440
+ if (!(changes === null || changes === void 0 ? void 0 : changes.length))
441
+ return [];
442
+ const change = changes[0];
443
+ const changingFields = Object.keys(change.updatingFields).map(key => this.buildChangingField(key, change[key]));
444
+ return changingFields;
445
+ }
446
+ buildChangingField(key, value) {
447
+ const fieldLabel = this.dataUnit.getField(key).label;
448
+ const formattedValue = this.dataUnit.getFormattedValue(key, value);
449
+ return {
450
+ label: fieldLabel,
451
+ value: formattedValue,
452
+ tabName: this.getFieldTabName(key),
453
+ };
454
+ }
455
+ getFieldTabName(fieldName) {
456
+ var _a;
457
+ const tab = (_a = this._formFieldsConfig.find(f => f.name === fieldName)) === null || _a === void 0 ? void 0 : _a.tab;
458
+ if (!tab)
459
+ return undefined;
460
+ if (typeof tab === 'string')
461
+ return tab;
462
+ return tab.label;
463
+ }
276
464
  interceptDataSaved(action) {
277
465
  if (this.afterSave) {
278
466
  this.afterSave(this.dataUnit);
@@ -292,7 +480,17 @@ const SnkDataUnit = class {
292
480
  }
293
481
  const cancelConfirmationTitle = this.getMessage("snkDataUnit.cancelConfirmationTitle");
294
482
  const confirm = await utils.ApplicationUtils.confirm(cancelConfirmationTitle, cancelConfirmation);
295
- confirm && this.showSuccessMessage(this.getMessage("snkDataUnit.cancelInfo"));
483
+ if (confirm) {
484
+ let editionCanceledMessage;
485
+ if (this.dataUnit.isMultipleEdition) {
486
+ const selectedRecords = this.dataUnit.getSelectionInfo().records;
487
+ editionCanceledMessage = this.buildMultipleUpdateMessage(selectedRecords, true);
488
+ }
489
+ else {
490
+ editionCanceledMessage = this.getMessage("snkDataUnit.cancelInfo");
491
+ }
492
+ this.showSuccessMessage(editionCanceledMessage);
493
+ }
296
494
  return confirm ? action : undefined;
297
495
  }
298
496
  async interceptRemovingRecords(action) {
@@ -338,7 +536,7 @@ const SnkDataUnit = class {
338
536
  case core.Action.RECORDS_COPIED:
339
537
  return this.interceptRecordsCopied(action);
340
538
  case core.Action.DATA_CHANGED:
341
- await this.handleLoadRowMetadata(action);
539
+ await this.handleLoadRowMetadata(action.payload);
342
540
  return await this.interceptDataChange(action);
343
541
  case core.Action.CHANGING_DATA:
344
542
  return await this.interceptDataChange(action);
@@ -358,8 +556,9 @@ const SnkDataUnit = class {
358
556
  return action;
359
557
  }
360
558
  }
361
- async handleLoadRowMetadata(action) {
362
- const record = action.type === core.Action.DATA_CHANGED ? action.payload : action.payload.changes[0].record;
559
+ async handleLoadRowMetadata(record) {
560
+ if (!record)
561
+ return;
363
562
  const keysPayload = Object.keys(record);
364
563
  const rmpField = keysPayload.find((field) => this._fieldsWithRmp.includes(field));
365
564
  if (rmpField) {
@@ -438,7 +637,7 @@ const SnkDataUnit = class {
438
637
  isAllowed(flag) {
439
638
  return this._permissions ? this._permissions.isSup || this._permissions[flag] : false;
440
639
  }
441
- buildDataState(actionType) {
640
+ async buildDataState(actionType) {
442
641
  var _a;
443
642
  const selectionInfo = this.dataUnit.getSelectionInfo();
444
643
  const isStartingInsertionMode = (this.dataUnit.hasDirtyRecords() || this.dataUnit.hasWaitingChanges()) && (selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.isEmpty());
@@ -446,7 +645,7 @@ const SnkDataUnit = class {
446
645
  let rowMetadata = (_a = this.dataState) === null || _a === void 0 ? void 0 : _a.rowMetadata;
447
646
  const allowedOverwrite = [core.Action.SELECTION_CHANGED, core.Action.EDITION_CANCELED, core.Action.NEXT_SELECTED, core.Action.PREVIOUS_SELECTED];
448
647
  if (selectedRecord && (!rowMetadata || allowedOverwrite.includes(actionType))) {
449
- rowMetadata = this.doGetRowMetadata(selectedRecord);
648
+ rowMetadata = await this.doGetRowMetadata(selectedRecord);
450
649
  }
451
650
  else if (rowMetadata) {
452
651
  rowMetadata.getProp = this.buildGetPropRowMetadata(rowMetadata);
@@ -468,32 +667,54 @@ const SnkDataUnit = class {
468
667
  });
469
668
  }
470
669
  async handleDataSaved(action) {
471
- const newRowMetadata = await this.handleLoadRowMetadata(action);
670
+ var _a, _b, _c;
671
+ const changes = (_a = action === null || action === void 0 ? void 0 : action.payload) === null || _a === void 0 ? void 0 : _a.changes;
672
+ const affectedRecords = (_b = action === null || action === void 0 ? void 0 : action.payload) === null || _b === void 0 ? void 0 : _b.records;
673
+ const newRowMetadata = await this.handleLoadRowMetadata((_c = changes === null || changes === void 0 ? void 0 : changes[0]) === null || _c === void 0 ? void 0 : _c.record);
472
674
  if (newRowMetadata) {
473
675
  newRowMetadata.getProp = this.buildGetPropRowMetadata(newRowMetadata);
474
676
  }
475
- const recordId = action.payload.records[0].__record__id__;
677
+ const recordId = affectedRecords[0].__record__id__;
476
678
  this._metadataByRow.set(recordId, newRowMetadata);
477
- this.dataState = this.buildDataState();
478
- if (this.ignoreSaveMessage) {
479
- return;
679
+ this.dataState = await this.buildDataState();
680
+ let saveOperation = changes[0]._operation.toLowerCase();
681
+ if (saveOperation == 'copy') {
682
+ saveOperation = SnkMessageBuilder.OperationMap.CLONE;
480
683
  }
481
- const saveOperation = action.payload.changes[0]._operation.toLowerCase();
482
- const msg = this.getMessage("snkDataUnit.saveInfo", action.payload.records[0], saveOperation);
684
+ if (this.canIgnoreOperationMessage(saveOperation))
685
+ return;
686
+ let msg = this.buildOperationMessage(saveOperation, affectedRecords);
483
687
  if (msg != undefined) {
484
688
  this.showSuccessMessage(msg);
485
689
  }
486
690
  }
691
+ canIgnoreOperationMessage(saveOperation) {
692
+ return this.ignoreSaveMessage && !this.isCloneOrInsertOperation(saveOperation);
693
+ }
694
+ isCloneOrInsertOperation(saveOperation) {
695
+ return [SnkMessageBuilder.OperationMap.CLONE, SnkMessageBuilder.OperationMap.INSERT].includes(saveOperation);
696
+ }
697
+ buildOperationMessage(saveOperation, records) {
698
+ if (this.isMultiplesUpdate(saveOperation, records)) {
699
+ return this.buildMultipleUpdateMessage(records);
700
+ }
701
+ return this.getMessage('snkDataUnit.saveInfo', records[0], saveOperation);
702
+ }
703
+ buildMultipleUpdateMessage(records, isCancel) {
704
+ /**
705
+ * FIXME: No futuro, precisamos pensar em um mecanismo para deixar as mensagens de feedback mais dinâmicas.
706
+ * Podemo ocorrer cenários onde temos mais de um registro selecionado e também cenários onde a chave primária
707
+ * de um registro se trata de uma chave composta.
708
+ */
709
+ const key = `snkDataUnit.${isCancel ? 'cancelInfo' : 'saveInfo'}`;
710
+ return this.getMessage(key, { records: records }, SnkMessageBuilder.OperationMap.UPDATE_MULTIPLES);
711
+ }
712
+ isMultiplesUpdate(saveOperation, records) {
713
+ return saveOperation === SnkMessageBuilder.OperationMap.UPDATE && records.length > 1;
714
+ }
487
715
  handleRecordsRemoved(action) {
488
716
  var _a, _b;
489
- const cachedRecords = action.payload.cachedRecords;
490
- let removeFinishMsg;
491
- if ((cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.length) > 1) {
492
- removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size: cachedRecords.length });
493
- }
494
- else {
495
- removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
496
- }
717
+ let removeFinishMsg = this.buildRemoveFinishMessage(action);
497
718
  if (removeFinishMsg != undefined) {
498
719
  this.showSuccessMessage(removeFinishMsg);
499
720
  }
@@ -504,6 +725,14 @@ const SnkDataUnit = class {
504
725
  this.dataUnit.gotoPage(page);
505
726
  }
506
727
  }
728
+ buildRemoveFinishMessage(action) {
729
+ const records = action.payload.records;
730
+ if (!records || !records.length)
731
+ return undefined;
732
+ if ((records === null || records === void 0 ? void 0 : records.length) > 1)
733
+ return this.getMessage('snkDataUnit.removeAllInfo', { size: records.length });
734
+ return this.getMessage('snkDataUnit.removeInfo', records);
735
+ }
507
736
  /**
508
737
  * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
509
738
  * através de um pequeno modulo na estrutura da aplicação:
@@ -547,21 +776,30 @@ const SnkDataUnit = class {
547
776
  return await this._application.getDataUnit(this.entityName, cacheName, null, this.configName, this.resourceID);
548
777
  }
549
778
  }
779
+ updateMetadataWithRMP() {
780
+ this.fillFieldsWithRmp(this.dataUnit.metadata);
781
+ this.fillFieldsWithRmPrecision(this.dataUnit.metadata);
782
+ const dataUnitUpdatedMetadata = this.handleDULinksOnMetadataLoaded(this.dataUnit.metadata);
783
+ this.dataUnit.metadata = dataUnitUpdatedMetadata;
784
+ }
550
785
  async loadDataUnit() {
551
- var _a;
786
+ var _a, _b;
552
787
  if (this.dataUnit == null && this._application && this.entityName) {
553
788
  this.dataUnit = await this.getDataUnitParentOrChild();
554
789
  }
555
790
  if (this.dataUnit) {
556
791
  this.dataUnit.pageSize = this.pageSize;
557
792
  this.dataUnit.unsubscribe(this._dataUnitObserver);
558
- this.dataUnit.addInterceptor(this);
559
793
  this.dataUnit.subscribe(this._dataUnitObserver);
560
- await this.dataUnit.loadMetadata();
561
- if ((_a = this.dataUnit.records) === null || _a === void 0 ? void 0 : _a.length) {
562
- this.getMetadataByRow(this.dataUnit);
794
+ if ((_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.metadata) {
795
+ this.updateMetadataWithRMP();
796
+ }
797
+ this.dataUnit.addInterceptor(this);
798
+ if ((_b = this.dataUnit.records) === null || _b === void 0 ? void 0 : _b.length) {
799
+ const { records } = this.getMetadataByRow(this.dataUnit);
800
+ this.dataUnit.records = records;
563
801
  }
564
- this.dataState = this.buildDataState();
802
+ this.dataState = await this.buildDataState();
565
803
  let resolver;
566
804
  while (resolver = this._onDataUnitResolve.pop()) {
567
805
  resolver(this.dataUnit);
@@ -2,21 +2,21 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const snkDataUnit = require('./snk-data-unit-ece44c4a.js');
5
+ const snkDataUnit = require('./snk-data-unit-57916de4.js');
6
6
  require('./index-f9e81701.js');
7
7
  require('@sankhyalabs/core');
8
8
  require('@sankhyalabs/ezui/dist/collection/utils');
9
- require('./SnkMessageBuilder-897ffd08.js');
10
- require('./dataunit-fetcher-d4873076.js');
11
- require('./DataFetcher-77729a93.js');
9
+ require('./SnkMessageBuilder-9deeae08.js');
10
+ require('./dataunit-fetcher-a723f0dc.js');
11
+ require('./DataFetcher-1afdb18e.js');
12
12
  require('./PrintUtils-bcaeb82f.js');
13
13
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
14
14
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
15
15
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
16
16
  require('@sankhyalabs/core/dist/utils/SortingUtils');
17
17
  require('./ResourceIDUtils-5ff86aa7.js');
18
- require('./RecordIDUtils-3735135c.js');
19
18
  require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
19
+ require('./GetSelectedRecordsIDsInfo-bd50caf1.js');
20
20
 
21
21
 
22
22
 
@@ -4,28 +4,28 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const SnkFormConfigManager = require('./SnkFormConfigManager-beebf47a.js');
7
+ const SnkFormConfigManager = require('./SnkFormConfigManager-45a8d7b7.js');
8
8
  const form = require('@sankhyalabs/ezui/dist/collection/utils/form');
9
- require('./DataFetcher-77729a93.js');
10
- require('./pesquisa-fetcher-a1d0353f.js');
11
- const index$1 = require('./index-1dfc7a6e.js');
12
- require('./ISave-e91b70a7.js');
9
+ require('./DataFetcher-1afdb18e.js');
10
+ require('./ISave-c76e2c51.js');
11
+ const index$1 = require('./index-e3e39724.js');
13
12
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
14
13
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
15
- require('./dataunit-fetcher-d4873076.js');
14
+ require('./dataunit-fetcher-a723f0dc.js');
16
15
  require('./filter-item-type.enum-a7ffdaa6.js');
17
- require('./form-config-fetcher-feb08214.js');
18
- const taskbarElements = require('./taskbar-elements-9ad1f9c0.js');
19
- const constants = require('./constants-35ddd366.js');
20
- const snkGuidesViewer = require('./snk-guides-viewer-aafc3073.js');
21
- const SnkMessageBuilder = require('./SnkMessageBuilder-897ffd08.js');
22
- require('./ConfigStorage-e49214c6.js');
16
+ require('./form-config-fetcher-40d3f752.js');
17
+ const constants = require('./constants-77c1b8bd.js');
18
+ const taskbarElements = require('./taskbar-elements-6f4e06af.js');
19
+ const snkGuidesViewer = require('./snk-guides-viewer-d33379cd.js');
20
+ const SnkMessageBuilder = require('./SnkMessageBuilder-9deeae08.js');
21
+ const utils = require('@sankhyalabs/ezui/dist/collection/utils');
22
+ require('./ConfigStorage-df09fb78.js');
23
23
  require('./PrintUtils-bcaeb82f.js');
24
24
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
25
25
  require('@sankhyalabs/core/dist/utils/SortingUtils');
26
26
  require('./ResourceIDUtils-5ff86aa7.js');
27
27
  require('./index-102ba62d.js');
28
- require('./field-search-f56aa7d6.js');
28
+ require('./taskbar-processor-2fba34a8.js');
29
29
  require('@sankhyalabs/core/dist/dataunit/DataUnit');
30
30
 
31
31
  class GuideBuilder {
@@ -71,7 +71,7 @@ class GuideBuilder {
71
71
  }
72
72
  }
73
73
 
74
- 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}";
74
+ 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)}";
75
75
 
76
76
  const SnkDetailView = class {
77
77
  constructor(hostRef) {
@@ -82,6 +82,8 @@ const SnkDetailView = class {
82
82
  this._disabledButtons = undefined;
83
83
  this._currentView = undefined;
84
84
  this.attachmentRegisterKey = undefined;
85
+ this._fieldToGetFocus = undefined;
86
+ this._hasToCreateFieldSearch = true;
85
87
  this.formConfigManager = undefined;
86
88
  this.dataUnitName = undefined;
87
89
  this.resourceID = undefined;
@@ -97,6 +99,7 @@ const SnkDetailView = class {
97
99
  this.taskbarCustomContainerId = undefined;
98
100
  this.customEditors = undefined;
99
101
  this.customRenders = undefined;
102
+ this.presentationMode = index$1.PresentationMode.SECONDARY;
100
103
  }
101
104
  observeDataUnit(newDataUnit, oldDataUnit) {
102
105
  newDataUnit === null || newDataUnit === void 0 ? void 0 : newDataUnit.subscribe(this.dataUnitActionHandler.bind(this));
@@ -267,7 +270,7 @@ const SnkDetailView = class {
267
270
  this.emitSwitchEvent(constants.VIEW_MODE.GRID);
268
271
  evt.stopPropagation();
269
272
  }
270
- if (evt.detail === taskbarElements.TaskbarElement.FORM_MODE) {
273
+ if (evt.detail === taskbarElements.TaskbarElement.FORM_MODE || evt.detail === taskbarElements.TaskbarElement.UPDATE) {
271
274
  this.emitSwitchEvent(constants.VIEW_MODE.FORM);
272
275
  evt.stopPropagation();
273
276
  }
@@ -291,7 +294,7 @@ const SnkDetailView = class {
291
294
  }
292
295
  componentWillLoad() {
293
296
  this._configName = `dynaform.${this.entityName}`;
294
- this.formConfigManager = new SnkFormConfigManager.SnkFormConfigManager(this._configName, this.resourceID, () => this.loadMetadata());
297
+ this.formConfigManager = new SnkFormConfigManager.SnkFormConfigManager(this._configName, this.resourceID, () => this.loadMetadata(), this.dataUnit);
295
298
  this.formConfigManager.loadConfig();
296
299
  if (this.messagesBuilder == undefined) {
297
300
  this.messagesBuilder = new SnkMessageBuilder.SnkMessageBuilder(this.entityName);
@@ -300,6 +303,11 @@ const SnkDetailView = class {
300
303
  async componentDidLoad() {
301
304
  await this.observerPropsCustomEditor(this.customEditors);
302
305
  await this.observeCustomRenders(this.customRenders);
306
+ this.initKeyboardManager();
307
+ }
308
+ disconnectedCallback() {
309
+ var _a;
310
+ (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
303
311
  }
304
312
  async dataUnitActionHandler(action) {
305
313
  if (action.type === core.Action.FIELD_INVALIDATED) {
@@ -313,11 +321,55 @@ const SnkDetailView = class {
313
321
  normalizeBranchGuideId(id) {
314
322
  return id === null || id === void 0 ? void 0 : id.replace(/child\[(.*?)\]/g, '$1').replace(/::/g, '>');
315
323
  }
324
+ getSettingsListForm() {
325
+ const hardList = [{
326
+ value: core.StringUtils.generateUUID(),
327
+ label: this.messagesBuilder.getMessage("snkCrud.findColumn", undefined),
328
+ disableCloseOnSelect: true,
329
+ eagerInitialize: true,
330
+ itemBuilder: (_, item) => this.getFieldsSearch(item)
331
+ }];
332
+ return hardList;
333
+ }
334
+ getFieldsSearch(item) {
335
+ if (this._fieldSearch == undefined || this._hasToCreateFieldSearch) {
336
+ this._hasToCreateFieldSearch = false;
337
+ this._fieldSearch = utils.buildFieldSearch(item, ({ argument }) => this.fieldsOptionLoader(argument), (option) => this.onSelectField(option));
338
+ }
339
+ return this._fieldSearch;
340
+ }
341
+ fieldsOptionLoader(argument) {
342
+ const searchTerm = argument === null || argument === void 0 ? void 0 : argument.toLowerCase();
343
+ const allFields = this.getFormFields().map(field => { var _a; return (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(field.name); });
344
+ const filteredFields = allFields.filter(field => {
345
+ var _a, _b;
346
+ return ((_a = field.name) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(searchTerm)) ||
347
+ ((_b = field.label) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes(searchTerm));
348
+ });
349
+ const options = filteredFields.map(field => ({ value: field.name, label: field.label }));
350
+ return Promise.resolve(options);
351
+ }
352
+ onSelectField(option) {
353
+ if (option == undefined) {
354
+ return;
355
+ }
356
+ this._fieldToGetFocus = option.value;
357
+ }
358
+ clearFieldToFocusHandler() {
359
+ this._fieldToGetFocus = undefined;
360
+ }
361
+ async initKeyboardManager() {
362
+ this._keyboardManager = new core.KeyboardManager({ propagate: false, element: this._element });
363
+ this._keyboardManager.bind(utils.SHORTCUT_SEARCH_FIELD, async () => {
364
+ await this._snkFormView.showSearchField();
365
+ }, { description: utils.LABEL_SEARCH_FIELD, element: this._element });
366
+ }
316
367
  render() {
317
368
  this.updateLabel();
318
369
  //const cardConfig: IFormCardConfig = this._cardsState?.get(this.selectedForm);
319
- return (index.h(index.Host, null, index.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 === constants.VIEW_MODE.GRID, messagesBuilder: this.messagesBuilder, configName: this._configName }, index.h("ez-view-stack", { ref: (ref) => this.updateViewStack(ref) }, index.h("stack-item", null, index.h("div", { class: "ez-box ez-box--shadow grid-container" }, index.h("div", { class: "ez-flex ez-title--primary ez-size-width--full ez-padding--large detail-header" }, index.h("div", { class: "ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center" }, this._levelPath ? index.h("span", { class: "level-path" }, this._levelPath + " /") : undefined, this.label)), index.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(constants.VIEW_MODE.FORM), onActionClick: (evt) => this.executeActionHandler(evt), presentationMode: index$1.PresentationMode.SECONDARY, canEdit: this.canEdit, isDetail: true, taskbarCustomContainerId: this.taskbarCustomContainerId, gridHeaderCustomSlotId: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS", topTaskbarCustomSlotId: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }))), index.h("stack-item", null, index.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) }, index.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: index$1.PresentationMode.SECONDARY, onActionClick: evt => this.executeActionHandler(evt), dataUnit: this.dataUnit, resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }, index.h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" })))), index.h("stack-item", null, index.h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this.entityName, onBack: this.handleAttachBack.bind(this) }))))));
370
+ return (index.h(index.Host, null, index.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 === constants.VIEW_MODE.GRID, messagesBuilder: this.messagesBuilder, configName: this._configName }, index.h("ez-view-stack", { ref: (ref) => this.updateViewStack(ref) }, index.h("stack-item", null, index.h("div", { class: "ez-box ez-box--shadow grid-container" }, index.h("div", { class: "ez-title--primary ez-size-width--full ez-padding--large detail-header" }, index.h("div", { class: "ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center" }, this._levelPath ? index.h("span", { class: "level-path" }, this._levelPath + " /") : undefined, this.label)), index.h("snk-grid", { class: "ez-size-width--full", ref: (ref) => this._snkGrid = ref, configName: this._configName, messagesBuilder: this.messagesBuilder, onGridDoubleClick: () => this.emitSwitchEvent(constants.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 }))), index.h("stack-item", null, index.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(), fieldToFocus: this._fieldToGetFocus, label: this.label, levelPath: this._levelPath, onFormItemsReady: ({ detail: formItems }) => this.formItemsReady.emit(formItems), onSnkRequestClearFieldToFocus: this.clearFieldToFocusHandler.bind(this), fieldSearch: this._fieldSearch }, index.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", actionsSettingsList: this.getSettingsListForm() }, index.h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" })))), index.h("stack-item", null, index.h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this.entityName, onBack: this.handleAttachBack.bind(this) }))))));
320
371
  }
372
+ get _element() { return index.getElement(this); }
321
373
  static get watchers() { return {
322
374
  "dataUnit": ["observeDataUnit"],
323
375
  "dataState": ["observerDataState"],
@@ -20,7 +20,7 @@ const OptionsStep = ({ getMessage, changeInfo, data }) => {
20
20
  const selectionCount = (data === null || data === void 0 ? void 0 : data.selectedRows) || 0;
21
21
  const formatOptions = [
22
22
  { label: getMessage("snkExporter.emailSenderOptStep_formatPDF"), value: "pdf" },
23
- { label: getMessage("snkExporter.emailSenderOptStep_formatXLSX"), value: "xlsx" }
23
+ { label: getMessage("snkExporter.emailSenderOptStep_formatXLS"), value: "xls" }
24
24
  ];
25
25
  const typeOptions = [
26
26
  { label: getMessage("snkExporter.emailSenderOptStep_allData"), value: "all" },