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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. package/dist/cjs/ClientSideExporterProvider-a2753c93.js +378 -0
  2. package/dist/cjs/{ConfigStorage-e49214c6.js → ConfigStorage-df09fb78.js} +2 -2
  3. package/dist/cjs/{DataFetcher-77729a93.js → DataFetcher-1afdb18e.js} +231 -84
  4. package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
  5. package/dist/cjs/IFetchDataExporterParams-e78ec415.js +8 -0
  6. package/dist/cjs/ISave-c76e2c51.js +397 -0
  7. package/dist/cjs/{SnkFormConfigManager-beebf47a.js → SnkFormConfigManager-45a8d7b7.js} +75 -17
  8. package/dist/cjs/{SnkMessageBuilder-897ffd08.js → SnkMessageBuilder-9deeae08.js} +40 -28
  9. package/dist/cjs/{auth-fetcher-29bb791c.js → auth-fetcher-1687ac0a.js} +1 -1
  10. package/dist/cjs/{constants-35ddd366.js → constants-77c1b8bd.js} +10 -0
  11. package/dist/cjs/{dataunit-fetcher-d4873076.js → dataunit-fetcher-a723f0dc.js} +225 -175
  12. package/dist/cjs/{form-config-fetcher-feb08214.js → form-config-fetcher-40d3f752.js} +56 -2
  13. package/dist/cjs/{index-1dfc7a6e.js → index-e3e39724.js} +5 -0
  14. package/dist/cjs/index-f9e81701.js +16 -32
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +155 -0
  17. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  18. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_8.cjs.entry.js} +264 -46
  19. package/dist/cjs/snk-application.cjs.entry.js +471 -79
  20. package/dist/cjs/snk-attach.cjs.entry.js +91 -50
  21. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +401 -13
  22. package/dist/cjs/snk-configurator.cjs.entry.js +10 -3
  23. package/dist/cjs/snk-crud.cjs.entry.js +57 -84
  24. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -30
  25. package/dist/cjs/{snk-data-unit-ece44c4a.js → snk-data-unit-57916de4.js} +275 -37
  26. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  27. package/dist/cjs/snk-detail-view.cjs.entry.js +69 -17
  28. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  29. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  30. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1438 -0
  31. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  32. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  34. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  35. package/dist/cjs/snk-filter-search.cjs.entry.js +18 -5
  36. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  37. package/dist/cjs/snk-form-view.cjs.entry.js +19 -7
  38. package/dist/cjs/snk-grid.cjs.entry.js +132 -51
  39. package/dist/cjs/{snk-guides-viewer-aafc3073.js → snk-guides-viewer-d33379cd.js} +151 -74
  40. package/dist/cjs/snk-guides-viewer.cjs.entry.js +12 -12
  41. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  42. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  43. package/dist/cjs/snk-pesquisa.cjs.entry.js +116 -31
  44. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  45. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  46. package/dist/cjs/snk-simple-crud.cjs.entry.js +237 -200
  47. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  48. package/dist/cjs/snk-taskbar.cjs.entry.js +79 -42
  49. package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-6f4e06af.js} +12 -1
  50. package/dist/cjs/{field-search-f56aa7d6.js → taskbar-processor-2fba34a8.js} +5 -36
  51. package/dist/collection/collection-manifest.json +17 -31
  52. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  53. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  54. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  55. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +5 -2
  56. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  57. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  58. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  59. package/dist/collection/components/snk-application/search-strategy/exec-prepared-search-plus.js +107 -0
  60. package/dist/collection/components/snk-application/snk-application.css +36 -0
  61. package/dist/collection/components/snk-application/snk-application.js +450 -72
  62. package/dist/collection/components/snk-attach/snk-attach.js +51 -16
  63. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  64. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +19 -18
  65. package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
  66. package/dist/collection/components/snk-configurator/snk-configurator.js +26 -1
  67. package/dist/collection/components/snk-crud/snk-crud.js +181 -76
  68. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +10 -1
  69. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +84 -6
  70. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +54 -7
  71. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  72. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +198 -82
  73. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  74. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +8 -8
  75. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  76. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +41 -10
  77. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +18 -6
  78. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  79. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +10 -9
  80. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  81. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  82. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  83. package/dist/collection/components/snk-data-unit/MultipleUpdateHelper.js +128 -0
  84. package/dist/collection/components/snk-data-unit/snk-data-unit.js +156 -37
  85. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
  86. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  87. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  88. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
  89. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +18 -5
  90. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  91. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  92. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  93. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  94. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +10 -4
  95. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  96. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  97. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -6
  98. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
  99. package/dist/collection/components/snk-form/snk-form.js +2 -2
  100. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
  101. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  102. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  103. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.js +5 -3
  104. package/dist/collection/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.js +2 -2
  105. package/dist/collection/components/snk-grid/snk-grid.css +8 -0
  106. package/dist/collection/components/snk-grid/snk-grid.js +269 -51
  107. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  108. package/dist/collection/components/snk-grid-config/snk-grid-config.js +2 -0
  109. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +3 -0
  110. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +73 -0
  111. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +78 -0
  112. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +57 -0
  113. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  114. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  115. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  116. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  117. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  118. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  119. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +181 -32
  120. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  121. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  122. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  123. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +342 -123
  124. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  125. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  126. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +13 -0
  127. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +1 -1
  128. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +11 -0
  129. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.css +0 -0
  130. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.js +220 -0
  131. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  132. package/dist/collection/components/snk-taskbar/snk-taskbar.js +141 -41
  133. package/dist/collection/lib/@types/index.js +5 -0
  134. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +11 -5
  135. package/dist/collection/lib/configs/LayoutFormConfig.js +25 -0
  136. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -103
  137. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -32
  138. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +44 -29
  139. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  140. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  141. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  142. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +5 -2
  143. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  144. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +23 -14
  145. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  146. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +59 -5
  147. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  148. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +133 -9
  149. package/dist/collection/lib/index.js +1 -0
  150. package/dist/collection/lib/message/SnkMessageBuilder.js +1 -0
  151. package/dist/collection/lib/message/resources/snk-crud.msg.js +1 -1
  152. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +28 -23
  153. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  154. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  155. package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +2 -1
  156. package/dist/collection/lib/message/resources/snk-taskbar.msg.js +1 -0
  157. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  158. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  159. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  160. package/dist/collection/lib/utils/constants.js +10 -0
  161. package/dist/collection/sw.js +46 -0
  162. package/dist/components/ContinuousInsertUtils.js +416 -0
  163. package/dist/components/DataFetcher.js +231 -84
  164. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  165. package/dist/components/ISave.js +391 -1
  166. package/dist/components/SnkFormConfigManager.js +73 -15
  167. package/dist/components/SnkMessageBuilder.js +40 -28
  168. package/dist/components/constants.js +11 -1
  169. package/dist/components/dataunit-fetcher.js +243 -190
  170. package/dist/components/form-config-fetcher.js +55 -1
  171. package/dist/components/index.d.ts +6 -0
  172. package/dist/components/index.js +6 -0
  173. package/dist/components/pesquisa-grid.d.ts +11 -0
  174. package/dist/components/pesquisa-grid.js +6 -0
  175. package/dist/components/pesquisa-grid2.js +102 -0
  176. package/dist/components/pesquisa-tree.d.ts +11 -0
  177. package/dist/components/pesquisa-tree.js +6 -0
  178. package/dist/components/pesquisa-tree2.js +91 -0
  179. package/dist/components/snk-actions-button2.js +44 -40
  180. package/dist/components/snk-application2.js +494 -77
  181. package/dist/components/snk-attach2.js +114 -73
  182. package/dist/components/snk-config-options2.js +6 -4
  183. package/dist/components/snk-configurator2.js +23 -3
  184. package/dist/components/snk-crud.js +143 -139
  185. package/dist/components/snk-data-exporter2.js +37 -23
  186. package/dist/components/snk-data-unit2.js +275 -74
  187. package/dist/components/snk-detail-view2.js +329 -171
  188. package/dist/components/snk-exporter-email-sender2.js +1 -1
  189. package/dist/components/snk-filter-bar2.js +68 -34
  190. package/dist/components/snk-filter-binary-select.js +1 -1
  191. package/dist/components/snk-filter-checkbox-list.js +1 -1
  192. package/dist/components/snk-filter-item2.js +10 -4
  193. package/dist/components/snk-filter-modal.js +4 -2
  194. package/dist/components/snk-filter-number.js +1 -1
  195. package/dist/components/snk-filter-search.js +18 -5
  196. package/dist/components/snk-filter-text.js +2 -1
  197. package/dist/components/snk-form-config2.js +35 -10
  198. package/dist/components/snk-form-view2.js +22 -8
  199. package/dist/components/snk-form.js +2 -2
  200. package/dist/components/snk-grid-config2.js +3 -1
  201. package/dist/components/snk-grid2.js +169 -75
  202. package/dist/components/snk-layout-form-config.d.ts +11 -0
  203. package/dist/components/snk-layout-form-config.js +6 -0
  204. package/dist/components/snk-layout-form-config2.js +73 -0
  205. package/dist/components/snk-personalized-filter-editor.js +4 -4
  206. package/dist/components/snk-pesquisa2.js +132 -33
  207. package/dist/components/snk-print-selector.js +1 -1
  208. package/dist/components/snk-simple-bar2.js +1 -1
  209. package/dist/components/snk-simple-crud2.js +246 -203
  210. package/dist/components/snk-simple-form-config.d.ts +11 -0
  211. package/dist/components/snk-simple-form-config.js +6 -0
  212. package/dist/components/snk-simple-form-config2.js +121 -0
  213. package/dist/components/snk-tab-config2.js +1 -1
  214. package/dist/components/snk-taskbar2.js +105 -50
  215. package/dist/components/snk-view-representation.d.ts +11 -0
  216. package/dist/components/snk-view-representation.js +6 -0
  217. package/dist/components/snk-view-representation2.js +41 -0
  218. package/dist/components/taskbar-actions-button2.js +2 -2
  219. package/dist/components/taskbar-split-button.d.ts +11 -0
  220. package/dist/components/taskbar-split-button.js +6 -0
  221. package/dist/components/taskbar-split-button2.js +87 -0
  222. package/dist/components/teste-pesquisa.js +13 -1
  223. package/dist/esm/ClientSideExporterProvider-b3871edb.js +367 -0
  224. package/dist/esm/{ConfigStorage-e476378d.js → ConfigStorage-71e6766f.js} +2 -2
  225. package/dist/esm/{DataFetcher-773a3e4b.js → DataFetcher-88e56266.js} +231 -84
  226. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  227. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  228. package/dist/esm/ISave-5efafc97.js +394 -0
  229. package/dist/esm/{SnkFormConfigManager-298cd647.js → SnkFormConfigManager-be490a33.js} +75 -17
  230. package/dist/esm/{SnkMessageBuilder-571462fb.js → SnkMessageBuilder-2dbd8fa2.js} +40 -28
  231. package/dist/esm/{auth-fetcher-a411f73c.js → auth-fetcher-3510520e.js} +1 -1
  232. package/dist/esm/{constants-8457af36.js → constants-7db1128a.js} +11 -1
  233. package/dist/esm/{dataunit-fetcher-3d2ec959.js → dataunit-fetcher-0e025732.js} +227 -174
  234. package/dist/esm/{form-config-fetcher-e0382e5a.js → form-config-fetcher-fa208a6c.js} +56 -2
  235. package/dist/esm/index-a7d3d3f1.js +16 -32
  236. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  237. package/dist/esm/loader.js +1 -1
  238. package/dist/esm/pesquisa-grid_2.entry.js +150 -0
  239. package/dist/esm/sankhyablocks.js +1 -1
  240. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_8.entry.js} +263 -49
  241. package/dist/esm/snk-application.entry.js +472 -80
  242. package/dist/esm/snk-attach.entry.js +92 -51
  243. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +401 -15
  244. package/dist/esm/snk-configurator.entry.js +10 -3
  245. package/dist/esm/snk-crud.entry.js +58 -85
  246. package/dist/esm/snk-data-exporter.entry.js +38 -30
  247. package/dist/esm/{snk-data-unit-2a1d5d09.js → snk-data-unit-65c9dd1a.js} +275 -37
  248. package/dist/esm/snk-data-unit.entry.js +5 -5
  249. package/dist/esm/snk-detail-view.entry.js +71 -19
  250. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  251. package/dist/esm/snk-field-config.entry.js +1 -1
  252. package/dist/esm/snk-filter-bar_4.entry.js +1431 -0
  253. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  254. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  255. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  256. package/dist/esm/snk-filter-number.entry.js +1 -1
  257. package/dist/esm/snk-filter-search.entry.js +18 -5
  258. package/dist/esm/snk-filter-text.entry.js +2 -1
  259. package/dist/esm/snk-form-view.entry.js +19 -7
  260. package/dist/esm/snk-grid.entry.js +125 -44
  261. package/dist/esm/{snk-guides-viewer-62124f3d.js → snk-guides-viewer-72953334.js} +153 -76
  262. package/dist/esm/snk-guides-viewer.entry.js +12 -12
  263. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  264. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  265. package/dist/esm/snk-pesquisa.entry.js +116 -31
  266. package/dist/esm/snk-print-selector.entry.js +1 -1
  267. package/dist/esm/snk-simple-bar.entry.js +1 -1
  268. package/dist/esm/snk-simple-crud.entry.js +224 -187
  269. package/dist/esm/snk-tab-config.entry.js +1 -1
  270. package/dist/esm/snk-taskbar.entry.js +80 -43
  271. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-f2cb4922.js} +12 -1
  272. package/dist/esm/{field-search-efbe307f.js → taskbar-processor-3436124c.js} +6 -35
  273. package/dist/sankhyablocks/{p-3287a6cc.js → p-03b68a74.js} +1 -1
  274. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  275. package/dist/sankhyablocks/p-0fadb620.js +1 -0
  276. package/dist/sankhyablocks/{p-9dfda04a.entry.js → p-165cde3b.entry.js} +1 -1
  277. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  278. package/dist/sankhyablocks/p-1a0caadb.js +1 -0
  279. package/dist/sankhyablocks/p-1bdffb17.entry.js +11 -0
  280. package/dist/sankhyablocks/p-1f80174b.entry.js +1 -0
  281. package/dist/sankhyablocks/p-24a0dbd2.entry.js +1 -0
  282. package/dist/sankhyablocks/p-2f7e2251.entry.js +1 -0
  283. package/dist/sankhyablocks/p-3372178e.entry.js +1 -0
  284. package/dist/sankhyablocks/{p-95df461f.entry.js → p-3749dffb.entry.js} +1 -1
  285. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  286. package/dist/sankhyablocks/p-4689c2e6.js +1 -0
  287. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  288. package/dist/sankhyablocks/{p-bd008859.entry.js → p-490b75b5.entry.js} +1 -1
  289. package/dist/sankhyablocks/p-52d10014.entry.js +1 -0
  290. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  291. package/dist/sankhyablocks/p-5ffa0493.entry.js +1 -0
  292. package/dist/sankhyablocks/p-60137b7a.entry.js +1 -0
  293. package/dist/sankhyablocks/p-601b252b.js +26 -0
  294. package/dist/sankhyablocks/p-6a03b190.entry.js +1 -0
  295. package/dist/sankhyablocks/p-6dd38d7b.js +6 -0
  296. package/dist/sankhyablocks/{p-0cd3c0a9.js → p-73285a8a.js} +1 -1
  297. package/dist/sankhyablocks/p-7993b2e3.js +60 -0
  298. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  299. package/dist/sankhyablocks/p-7beeabc1.entry.js +1 -0
  300. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  301. package/dist/sankhyablocks/p-885802c3.js +1 -0
  302. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  303. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  304. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  305. package/dist/sankhyablocks/p-90684a75.entry.js +1 -0
  306. package/dist/sankhyablocks/{p-b0ef4383.js → p-9261d8a0.js} +1 -1
  307. package/dist/sankhyablocks/p-a14a09c3.entry.js +1 -0
  308. package/dist/sankhyablocks/p-a4ebeec4.entry.js +1 -0
  309. package/dist/sankhyablocks/p-b0ab5066.entry.js +1 -0
  310. package/dist/sankhyablocks/p-b6200d32.entry.js +1 -0
  311. package/dist/sankhyablocks/p-bc101064.entry.js +1 -0
  312. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-c0eb761b.entry.js} +1 -1
  313. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  314. package/dist/sankhyablocks/p-c9675d64.js +1 -0
  315. package/dist/sankhyablocks/p-ce94e6c4.entry.js +1 -0
  316. package/dist/sankhyablocks/p-d07b18a4.js +1 -0
  317. package/dist/sankhyablocks/p-ddf93f36.entry.js +1 -0
  318. package/dist/sankhyablocks/p-ebdb9d89.js +1 -0
  319. package/dist/sankhyablocks/p-fbba7e3d.js +1 -0
  320. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  321. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  322. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  323. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  324. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  325. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  326. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  327. package/dist/types/components/snk-application/search-strategy/exec-prepared-search-plus.d.ts +5 -0
  328. package/dist/types/components/snk-application/snk-application.d.ts +55 -16
  329. package/dist/types/components/snk-attach/snk-attach.d.ts +2 -0
  330. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  331. package/dist/types/components/snk-crud/snk-crud.d.ts +30 -3
  332. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +17 -0
  333. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +11 -1
  334. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +26 -7
  335. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  336. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  337. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +9 -1
  338. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  339. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  340. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  341. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  342. package/dist/types/components/snk-data-unit/MultipleUpdateHelper.d.ts +9 -0
  343. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +19 -0
  344. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +5 -3
  345. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  346. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  347. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  348. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  349. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  350. package/dist/types/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.d.ts +2 -1
  351. package/dist/types/components/snk-grid/snk-grid.d.ts +45 -5
  352. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +1 -0
  353. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
  354. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -0
  355. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  356. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  357. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  358. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +36 -1
  359. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +51 -15
  360. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  361. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +2 -1
  362. package/dist/types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.d.ts +44 -0
  363. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  364. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +17 -0
  365. package/dist/types/components.d.ts +608 -24
  366. package/dist/types/lib/@types/index.d.ts +4 -0
  367. package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
  368. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  369. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  370. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  371. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  372. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  373. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  374. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  375. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -1
  376. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  377. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  378. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  379. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  380. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +14 -2
  381. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  382. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +21 -2
  383. package/dist/types/lib/index.d.ts +1 -0
  384. package/dist/types/lib/message/SnkMessageBuilder.d.ts +2 -1
  385. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  386. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  387. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  388. package/dist/types/lib/utils/constants.d.ts +8 -0
  389. package/package.json +4 -3
  390. package/react/components.d.ts +6 -0
  391. package/react/components.js +6 -0
  392. package/react/components.js.map +1 -1
  393. package/dist/cjs/IExporterProvider-10b7fed5.js +0 -230
  394. package/dist/cjs/ISave-e91b70a7.js +0 -9
  395. package/dist/cjs/pesquisa-fetcher-a1d0353f.js +0 -166
  396. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  397. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  398. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  399. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  400. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  401. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  402. package/dist/collection/components/snk-taskbar/subcomponents/field-search.js +0 -31
  403. package/dist/components/IExporterProvider.js +0 -298
  404. package/dist/components/pesquisa-fetcher.js +0 -164
  405. package/dist/esm/IExporterProvider-d597f27d.js +0 -221
  406. package/dist/esm/ISave-d8c8bc59.js +0 -9
  407. package/dist/esm/pesquisa-fetcher-a87445a0.js +0 -164
  408. package/dist/esm/snk-config-options.entry.js +0 -235
  409. package/dist/esm/snk-filter-bar.entry.js +0 -710
  410. package/dist/esm/snk-filter-item.entry.js +0 -308
  411. package/dist/esm/snk-filter-list.entry.js +0 -148
  412. package/dist/esm/snk-filter-modal.entry.js +0 -245
  413. package/dist/esm/snk-form.entry.js +0 -139
  414. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  415. package/dist/sankhyablocks/p-091ce761.js +0 -60
  416. package/dist/sankhyablocks/p-14b8b656.entry.js +0 -1
  417. package/dist/sankhyablocks/p-181975f1.js +0 -26
  418. package/dist/sankhyablocks/p-1db45d26.entry.js +0 -1
  419. package/dist/sankhyablocks/p-1e971cb0.entry.js +0 -1
  420. package/dist/sankhyablocks/p-21749402.js +0 -1
  421. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  422. package/dist/sankhyablocks/p-25f1fc39.js +0 -6
  423. package/dist/sankhyablocks/p-2e9c764c.entry.js +0 -1
  424. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  425. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  426. package/dist/sankhyablocks/p-421bec84.entry.js +0 -1
  427. package/dist/sankhyablocks/p-42f7b05d.entry.js +0 -1
  428. package/dist/sankhyablocks/p-51999ab5.entry.js +0 -1
  429. package/dist/sankhyablocks/p-594bc21d.js +0 -1
  430. package/dist/sankhyablocks/p-5f016aed.js +0 -1
  431. package/dist/sankhyablocks/p-62f34e6f.entry.js +0 -1
  432. package/dist/sankhyablocks/p-631954eb.entry.js +0 -1
  433. package/dist/sankhyablocks/p-65f8c11c.entry.js +0 -1
  434. package/dist/sankhyablocks/p-684a2590.entry.js +0 -1
  435. package/dist/sankhyablocks/p-70001ac1.js +0 -1
  436. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  437. package/dist/sankhyablocks/p-7663f597.entry.js +0 -1
  438. package/dist/sankhyablocks/p-76a65660.js +0 -1
  439. package/dist/sankhyablocks/p-7e7a7473.js +0 -1
  440. package/dist/sankhyablocks/p-7ef9c55c.js +0 -1
  441. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  442. package/dist/sankhyablocks/p-939e15d3.entry.js +0 -1
  443. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  444. package/dist/sankhyablocks/p-9863d682.js +0 -1
  445. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  446. package/dist/sankhyablocks/p-c2495304.js +0 -1
  447. package/dist/sankhyablocks/p-c8622597.entry.js +0 -1
  448. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  449. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  450. package/dist/sankhyablocks/p-d65d98ed.entry.js +0 -1
  451. package/dist/sankhyablocks/p-d6610d11.entry.js +0 -11
  452. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  453. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  454. package/dist/sankhyablocks/p-ffa5e4ff.js +0 -1
  455. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
  456. package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +0 -4
@@ -1,56 +1,61 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Fragment, forceUpdate, Host } from '@stencil/core/internal/client';
2
- import { Action, ElementIDUtils } from '@sankhyalabs/core';
2
+ import { ObjectUtils, StringUtils, Action, KeyboardManager, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { S as SnkFormConfigManager } from './SnkFormConfigManager.js';
4
4
  import { buildFormMetadata, FormMetadata } from '@sankhyalabs/ezui/dist/collection/utils/form';
5
5
  import './DataFetcher.js';
6
- import './pesquisa-fetcher.js';
7
6
  import { P as PresentationMode } from './ISave.js';
8
7
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
9
8
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
10
9
  import './dataunit-fetcher.js';
11
10
  import './filter-item-type.enum.js';
12
11
  import './form-config-fetcher.js';
13
- import { T as TaskbarElement, d as defineCustomElement$3 } from './snk-taskbar2.js';
14
12
  import { V as VIEW_MODE } from './constants.js';
15
- import { o as openFieldSearch, T as TaskbarProcessor, b as buildFieldSearch } from './IExporterProvider.js';
13
+ import { T as TaskbarElement, d as defineCustomElement$5 } from './snk-taskbar2.js';
14
+ import { T as TaskbarProcessor } from './ContinuousInsertUtils.js';
16
15
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
17
- import { d as defineCustomElement$u } from './snk-actions-button2.js';
18
- import { d as defineCustomElement$t } from './snk-attach2.js';
19
- import { d as defineCustomElement$s } from './snk-config-options2.js';
20
- import { d as defineCustomElement$r } from './snk-configurator2.js';
21
- import { d as defineCustomElement$q } from './snk-data-exporter2.js';
22
- import { d as defineCustomElement$p } from './snk-data-unit2.js';
16
+ import { buildFieldSearch, SHORTCUT_SEARCH_FIELD, LABEL_SEARCH_FIELD } from '@sankhyalabs/ezui/dist/collection/utils';
17
+ import { d as defineCustomElement$y } from './snk-actions-button2.js';
18
+ import { d as defineCustomElement$x } from './snk-attach2.js';
19
+ import { d as defineCustomElement$w } from './snk-config-options2.js';
20
+ import { d as defineCustomElement$v } from './snk-configurator2.js';
21
+ import { d as defineCustomElement$u } from './snk-data-exporter2.js';
22
+ import { d as defineCustomElement$t } from './snk-data-unit2.js';
23
23
  import { S as SnkMessageBuilder } from './SnkMessageBuilder.js';
24
- import { d as defineCustomElement$o } from './snk-exporter-email-sender2.js';
25
- import { d as defineCustomElement$n } from './snk-expression-group2.js';
26
- import { d as defineCustomElement$m } from './snk-expression-item2.js';
27
- import { d as defineCustomElement$l } from './snk-field-config2.js';
28
- import { d as defineCustomElement$k } from './snk-filter-advanced-mode2.js';
29
- import { d as defineCustomElement$j } from './snk-filter-assistent-mode2.js';
30
- import { d as defineCustomElement$i } from './snk-filter-bar2.js';
31
- import { d as defineCustomElement$h } from './snk-filter-detail2.js';
32
- import { d as defineCustomElement$g } from './snk-filter-field-search2.js';
33
- import { d as defineCustomElement$f } from './snk-filter-item2.js';
34
- import { d as defineCustomElement$e } from './snk-filter-param-config2.js';
35
- import { d as defineCustomElement$d } from './snk-form-config2.js';
36
- import { d as defineCustomElement$c } from './snk-form-summary2.js';
37
- import { d as defineCustomElement$b } from './snk-form-view2.js';
38
- import { d as defineCustomElement$a } from './snk-grid2.js';
39
- import { d as defineCustomElement$9 } from './snk-grid-config2.js';
40
- import { d as defineCustomElement$8 } from './snk-personalized-filter2.js';
41
- import { d as defineCustomElement$7 } from './snk-select-box2.js';
42
- import { d as defineCustomElement$6 } from './snk-simple-bar2.js';
43
- import { d as defineCustomElement$5 } from './snk-simple-crud2.js';
44
- import { d as defineCustomElement$4 } from './snk-tab-config2.js';
45
- import { d as defineCustomElement$2 } from './taskbar-actions-button2.js';
24
+ import { d as defineCustomElement$s } from './snk-exporter-email-sender2.js';
25
+ import { d as defineCustomElement$r } from './snk-expression-group2.js';
26
+ import { d as defineCustomElement$q } from './snk-expression-item2.js';
27
+ import { d as defineCustomElement$o } from './snk-filter-advanced-mode2.js';
28
+ import { d as defineCustomElement$n } from './snk-filter-assistent-mode2.js';
29
+ import { d as defineCustomElement$m } from './snk-filter-bar2.js';
30
+ import { d as defineCustomElement$l } from './snk-filter-detail2.js';
31
+ import { d as defineCustomElement$k } from './snk-filter-field-search2.js';
32
+ import { d as defineCustomElement$j } from './snk-filter-item2.js';
33
+ import { d as defineCustomElement$i } from './snk-filter-param-config2.js';
34
+ import { d as defineCustomElement$g } from './snk-form-summary2.js';
35
+ import { d as defineCustomElement$f } from './snk-form-view2.js';
36
+ import { d as defineCustomElement$e } from './snk-grid2.js';
37
+ import { d as defineCustomElement$d } from './snk-grid-config2.js';
38
+ import { d as defineCustomElement$c } from './snk-layout-form-config2.js';
39
+ import { d as defineCustomElement$b } from './snk-personalized-filter2.js';
40
+ import { d as defineCustomElement$a } from './snk-select-box2.js';
41
+ import { d as defineCustomElement$9 } from './snk-simple-bar2.js';
42
+ import { d as defineCustomElement$8 } from './snk-simple-crud2.js';
43
+ import { d as defineCustomElement$7 } from './snk-simple-form-config2.js';
44
+ import { d as defineCustomElement$4 } from './snk-view-representation2.js';
45
+ import { d as defineCustomElement$3 } from './taskbar-actions-button2.js';
46
+ import { d as defineCustomElement$2 } from './taskbar-split-button2.js';
47
+ import { d as defineCustomElement$p } from './snk-field-config2.js';
48
+ import { d as defineCustomElement$h } from './snk-form-config2.js';
49
+ import { d as defineCustomElement$6 } from './snk-tab-config2.js';
46
50
 
47
- const snkGuidesViewerCss = ".sc-snk-guides-viewer-h{--snk-guides-viewer--space-large:var(--space--large, 24px);--snk-guides-viewer--space-medium:var(--space--medium, 12px);--snk-guides-viewer__header--min-height:94px;--snk-guides-viewer__header--z-index:var(--more-visible, 2);--snk-guides-viewer__header--background-color:var(--background--body, #fafcff);--snk-guides-viewer__guide-navigator--width:340px;display:block}snk-form-view.sc-snk-guides-viewer{width:100%}.snk-guides-viewer.sc-snk-guides-viewer{position:relative;padding-left:0px;padding-top:0px;padding-right:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__detail-container.sc-snk-guides-viewer{display:flex;row-gap:24px;flex-direction:column}.snk-guides-viewer__header.sc-snk-guides-viewer{position:sticky;align-items:center;top:0;z-index:var(--snk-guides-viewer__header--z-index);background-color:var(--snk-guides-viewer__header--background-color);min-height:var(--snk-guides-viewer__header--min-height);width:calc(100% + (var(--snk-guides-viewer--space-large) * 2));padding-left:var(--snk-guides-viewer--space-large);padding-right:var(--snk-guides-viewer--space-large);padding-top:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-medium);margin-left:calc(var(--snk-guides-viewer--space-large) * -1);margin-right:calc(var(--snk-guides-viewer--space-large) * -1);margin-bottom:var(--snk-guides-viewer--space-medium)}.snk-guides-viewer__header-breadcrumb.sc-snk-guides-viewer{width:25%;display:flex}.snk-guides-viewer__header-taskbar.sc-snk-guides-viewer{width:75%}.snk-guides-viewer__container.sc-snk-guides-viewer{display:grid;grid-template-columns:minmax(0, auto) minmax(0, 100%);height:100%;column-gap:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__guide-navigator.sc-snk-guides-viewer{position:sticky;top:calc(var(--snk-guides-viewer__header--min-height) + var(--snk-guides-viewer--space-medium));height:calc(100vh - var(--snk-guides-viewer__header--min-height) - var(--snk-guides-viewer--space-large) - var(--snk-guides-viewer--space-medium))}.snk-guides-viewer__guide-navigator[open].sc-snk-guides-viewer{width:var(--snk-guides-viewer__guide-navigator--width);max-width:var(--snk-guides-viewer__guide-navigator--width);min-width:var(--snk-guides-viewer__guide-navigator--width)}.snk-guides-viewer__detail-content.sc-snk-guides-viewer{min-height:100%;align-items:flex-start;align-content:flex-start}";
51
+ const snkGuidesViewerCss = ".sc-snk-guides-viewer-h{--snk-guides-viewer--space-large:var(--space--large, 24px);--snk-guides-viewer--space-small:var(--space--2xs, 8px);--snk-guides-viewer__header--min-height:68px;--snk-guides-viewer__header--z-index:var(--more-visible, 2);--snk-guides-viewer__header--background-color:var(--background--body, #fafcff);--snk-guides-viewer__guide-navigator--width:340px;display:block}snk-form-view.sc-snk-guides-viewer{width:100%}.snk-guides-viewer.sc-snk-guides-viewer{position:relative;padding-left:0px;padding-top:0px;padding-right:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__detail-container.sc-snk-guides-viewer{display:flex;row-gap:24px;flex-direction:column}.snk-guides-viewer__header.sc-snk-guides-viewer{position:sticky;align-items:center;top:0;z-index:var(--snk-guides-viewer__header--z-index);background-color:var(--snk-guides-viewer__header--background-color);min-height:var(--snk-guides-viewer__header--min-height);width:calc(100% + (var(--snk-guides-viewer--space-large) * 2));padding-left:var(--snk-guides-viewer--space-large);padding-right:var(--snk-guides-viewer--space-large);padding-top:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-small);margin-left:calc(var(--snk-guides-viewer--space-large) * -1);margin-right:calc(var(--snk-guides-viewer--space-large) * -1);margin-bottom:var(--snk-guides-viewer--space-small)}.snk-guides-viewer__header-breadcrumb.sc-snk-guides-viewer{width:25%;display:flex}.snk-guides-viewer__header-taskbar.sc-snk-guides-viewer{width:75%}.snk-guides-viewer__container.sc-snk-guides-viewer{display:grid;grid-template-columns:minmax(0, auto) minmax(0, 100%);height:100%;column-gap:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__guide-navigator.sc-snk-guides-viewer{position:sticky;top:calc(var(--snk-guides-viewer__header--min-height) + var(--snk-guides-viewer--space-small));height:calc(100vh - var(--snk-guides-viewer__header--min-height) - var(--snk-guides-viewer--space-large) - var(--snk-guides-viewer--space-small))}.snk-guides-viewer__guide-navigator[open].sc-snk-guides-viewer{width:var(--snk-guides-viewer__guide-navigator--width);max-width:var(--snk-guides-viewer__guide-navigator--width);min-width:var(--snk-guides-viewer__guide-navigator--width)}.snk-guides-viewer__detail-content.sc-snk-guides-viewer{min-height:100%;align-items:flex-start;align-content:flex-start}";
48
52
 
49
53
  const FORM_NAME_PREFIX = "__FORM:";
50
54
  const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
51
55
  constructor() {
52
56
  super();
53
57
  this.__registerHost();
58
+ this.snkMasterFormConfigChange = createEvent(this, "snkMasterFormConfigChange", 7);
54
59
  this.exit = createEvent(this, "exit", 7);
55
60
  this.actionClick = createEvent(this, "actionClick", 7);
56
61
  this.formItemsReady = createEvent(this, "formItemsReady", 7);
@@ -70,6 +75,8 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
70
75
  this.resourceID = undefined;
71
76
  this.detailTaskbarCustomContainerId = undefined;
72
77
  this.formLegacyConfigName = undefined;
78
+ this.enableGridInsert = false;
79
+ this.ignoreReadOnlyFormFields = undefined;
73
80
  this.getCustomTitle = undefined;
74
81
  this._hasToCreateFieldSearch = true;
75
82
  this._breadcrumbItems = [];
@@ -80,19 +87,22 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
80
87
  this._customEditors = undefined;
81
88
  this._customRenders = undefined;
82
89
  this._fieldsProps = {};
90
+ this._mainForm = undefined;
83
91
  }
84
92
  observeDataUnit() {
85
93
  this.loadGuides(true);
86
94
  }
87
95
  observeDataState(newValue, oldValue) {
88
- const newRecord = newValue === null || newValue === void 0 ? void 0 : newValue.selectedRecord;
89
- const oldRecord = oldValue === null || oldValue === void 0 ? void 0 : oldValue.selectedRecord;
90
- if ((newRecord === null || newRecord === void 0 ? void 0 : newRecord.__record__id__) !== (oldRecord === null || oldRecord === void 0 ? void 0 : oldRecord.__record__id__)) {
96
+ var _a, _b, _c, _d, _e, _f;
97
+ const newRecordsIds = (_b = (_a = newValue === null || newValue === void 0 ? void 0 : newValue.selectionInfo) === null || _a === void 0 ? void 0 : _a.recordIds) !== null && _b !== void 0 ? _b : (_c = newValue === null || newValue === void 0 ? void 0 : newValue.selectedRecord) === null || _c === void 0 ? void 0 : _c['__record__id__'];
98
+ const oldRecordsIds = (_e = (_d = oldValue === null || oldValue === void 0 ? void 0 : oldValue.selectionInfo) === null || _d === void 0 ? void 0 : _d.recordIds) !== null && _e !== void 0 ? _e : (_f = oldValue === null || oldValue === void 0 ? void 0 : oldValue.selectedRecord) === null || _f === void 0 ? void 0 : _f['__record__id__'];
99
+ if (!ObjectUtils.equals(newRecordsIds, oldRecordsIds)) {
91
100
  this.loadGuides((oldValue === null || oldValue === void 0 ? void 0 : oldValue.insertionMode) != (newValue === null || newValue === void 0 ? void 0 : newValue.insertionMode));
92
101
  }
93
102
  }
94
103
  observeMasterFormConfig() {
95
104
  this.loadGuides(this.noGuideSelected());
105
+ this.snkMasterFormConfigChange.emit(this.masterFormConfig);
96
106
  }
97
107
  /**
98
108
  * Abre o configurador do formulário
@@ -104,12 +114,6 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
104
114
  this._formEditorConfigManager = masterConfig ? this._configManager : this._currentDetail.formConfigManager;
105
115
  this._formEditorDataUnit = masterConfig ? this.dataUnit : this._currentDetail.dataUnit;
106
116
  }
107
- /**
108
- * Abre o localizador de campos
109
- */
110
- async findField() {
111
- await openFieldSearch(this._moreOptions, this._fieldSearch);
112
- }
113
117
  /**
114
118
  * Registra um editor customizado para campos da grade e formulário
115
119
  */
@@ -139,7 +143,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
139
143
  this._container.focus();
140
144
  }
141
145
  exitViewer() {
142
- if (this.dataUnit.isDirty()) {
146
+ if (!this.enableGridInsert && this.dataUnit.isDirty()) {
143
147
  this.dataUnit.cancelEdition({ after: () => this.exit.emit() });
144
148
  }
145
149
  else {
@@ -166,6 +170,11 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
166
170
  * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-crud.msg.ts"
167
171
  */
168
172
  getMessage(key) {
173
+ var _a, _b;
174
+ if (this.dataUnit.isMultipleEdition) {
175
+ const selectedRecords = (_b = (_a = this.dataUnit.getSelectionInfo()) === null || _a === void 0 ? void 0 : _a.records) !== null && _b !== void 0 ? _b : [];
176
+ return `Editando ${selectedRecords.length} registros`;
177
+ }
169
178
  return this.messagesBuilder.getMessage(key, this.dataUnit.getSelectedRecord());
170
179
  }
171
180
  loadGuides(changeSelection) {
@@ -178,12 +187,12 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
178
187
  this._masterFormMetadata = buildFormMetadata(this.masterFormConfig, this.dataUnit, true);
179
188
  const allSheets = this._masterFormMetadata.getAllSheets();
180
189
  const currentRecord = this.dataUnit.getSelectedRecord();
181
- const disableDetails = !currentRecord || this.dataUnit.isNewRecord(currentRecord.__record__id__);
190
+ const disableDetails = this.hasToDisableDetails(currentRecord);
182
191
  const guides = [];
183
192
  Array.from(allSheets.values()).forEach((sheet) => {
184
193
  const item = { id: sheet.name, label: sheet.label };
185
194
  if (this.isDetail(sheet.name) && disableDetails) {
186
- item.tooltip = "Para alterar detalhes é necessário estar com um registro selecionado.";
195
+ item.tooltip = "Para alterar detalhes é necessário estar com um (e apenas um) registro selecionado.";
187
196
  item.disabled = true;
188
197
  }
189
198
  guides.push(item);
@@ -196,6 +205,11 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
196
205
  this.selectedGuide = this._guides.length > 0 ? this._guides[0] : undefined;
197
206
  }
198
207
  }
208
+ hasToDisableDetails(currentRecord) {
209
+ return !currentRecord
210
+ || this.dataUnit.isNewRecord(currentRecord.__record__id__)
211
+ || this.dataUnit.isMultipleEdition;
212
+ }
199
213
  isDetail(formId) {
200
214
  return FormMetadata.getDetailName(formId) != undefined;
201
215
  }
@@ -218,44 +232,59 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
218
232
  }
219
233
  getTaskBarId() {
220
234
  var _a;
221
- return ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "snkGuideViewer.finish_edition" : "snkGuideViewer.regular";
222
- }
223
- loadTaskbarProcessor() {
224
- var _a;
225
- const taskbarId = this.getTaskBarId();
226
- const disabledButtons = [];
227
- if (!this.dataState || !this.dataState.hasPrevious) {
228
- disabledButtons.push("PREVIOUS");
235
+ if ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) {
236
+ return TASKBAR_ID.FINISH_EDITION;
229
237
  }
230
- if (!this.dataState || !this.dataState.hasNext) {
231
- disabledButtons.push("NEXT");
238
+ if (this.dataUnit.isMultipleEdition) {
239
+ return TASKBAR_ID.MUTIPLE_EDITION;
232
240
  }
233
- if ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.selectionInfo) {
234
- if (this.dataState.selectionInfo.length > 1) {
235
- disabledButtons.push("CLONE");
236
- }
237
- if (this.dataState.selectionInfo.isAllRecords()) {
238
- disabledButtons.push("REMOVE");
239
- }
241
+ return TASKBAR_ID.REGULAR;
242
+ }
243
+ loadTaskbarProcessor() {
244
+ const taskbarIDs = {};
245
+ taskbarIDs[TASKBAR_ID.REGULAR] = this.buildBtnsRegularMode();
246
+ taskbarIDs[TASKBAR_ID.FINISH_EDITION] = [TaskbarElement.CANCEL, TaskbarElement.SAVE, this.handleAddGridMode()];
247
+ taskbarIDs[TASKBAR_ID.MUTIPLE_EDITION] = [TaskbarElement.CANCEL];
248
+ this._taskbarProcessor = new TaskbarProcessor(taskbarIDs);
249
+ this._taskbarProcessor.process(this.getTaskBarId(), this.taskbarManager, this.dataState, this.buildDisabledButtons(), this.buildInvisibleButtons());
250
+ }
251
+ buildBtnsRegularMode() {
252
+ var _a, _b;
253
+ const btnsRegularMode = [
254
+ TaskbarElement.ATTACH, TaskbarElement.CLONE, TaskbarElement.REMOVE, TaskbarElement.MORE_OPTIONS,
255
+ TaskbarElement.ACTIONS_BUTTON, TaskbarElement.DIVIDER, TaskbarElement.GRID_MODE, TaskbarElement.CONFIGURATOR,
256
+ ];
257
+ if (((_b = (_a = this.dataState) === null || _a === void 0 ? void 0 : _a.selectionInfo) === null || _b === void 0 ? void 0 : _b.length) <= 1) {
258
+ btnsRegularMode.unshift(TaskbarElement.PREVIOUS, TaskbarElement.NEXT, TaskbarElement.DIVIDER);
240
259
  }
241
- const btnsRegularMode = ["PREVIOUS", "NEXT", "DIVIDER", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "ACTIONS_BUTTON", "DIVIDER", "GRID_MODE", "CONFIGURATOR"];
242
260
  if (this.presentationMode == PresentationMode.SECONDARY) {
243
- btnsRegularMode.unshift("INSERT");
261
+ btnsRegularMode.unshift(TaskbarElement.INSERT);
244
262
  }
245
263
  else {
246
- btnsRegularMode.push("INSERT");
264
+ btnsRegularMode.push(TaskbarElement.INSERT);
247
265
  }
248
- const invisibleButtons = this.getInvisibleButtons();
249
- this._taskbarProcessor = new TaskbarProcessor({
250
- "snkGuideViewer.regular": btnsRegularMode,
251
- "snkGuideViewer.finish_edition": ["CANCEL", "SAVE"],
252
- });
253
- this._taskbarProcessor.process(taskbarId, this.taskbarManager, this.dataState, disabledButtons, invisibleButtons);
266
+ return btnsRegularMode;
254
267
  }
255
- getInvisibleButtons() {
268
+ buildDisabledButtons() {
269
+ var _a, _b, _c, _d, _e, _f;
270
+ const disabledButtons = [];
271
+ if (!((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.hasPrevious))
272
+ disabledButtons.push(TaskbarElement.PREVIOUS);
273
+ if (!((_b = this.dataState) === null || _b === void 0 ? void 0 : _b.hasNext))
274
+ disabledButtons.push(TaskbarElement.NEXT);
275
+ if (((_d = (_c = this.dataState) === null || _c === void 0 ? void 0 : _c.selectionInfo) === null || _d === void 0 ? void 0 : _d.length) > 1)
276
+ disabledButtons.push(TaskbarElement.CLONE);
277
+ if ((_f = (_e = this.dataState) === null || _e === void 0 ? void 0 : _e.selectionInfo) === null || _f === void 0 ? void 0 : _f.isAllRecords())
278
+ disabledButtons.push(TaskbarElement.REMOVE);
279
+ return disabledButtons;
280
+ }
281
+ handleAddGridMode() {
282
+ return this.enableGridInsert ? TaskbarElement.GRID_MODE : "";
283
+ }
284
+ buildInvisibleButtons() {
256
285
  const invisibleButtons = [];
257
286
  if (this.dataState && this.dataState.selectionInfo.mode === SelectionMode.ALL_RECORDS)
258
- invisibleButtons.push("ACTIONS_BUTTON");
287
+ invisibleButtons.push(TaskbarElement.ACTIONS_BUTTON);
259
288
  return invisibleButtons;
260
289
  }
261
290
  static updateContentCard(formName, cardConfig, propertyChanged, configManager) {
@@ -322,14 +351,14 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
322
351
  else {
323
352
  detailBranch = this.selectedGuide;
324
353
  }
325
- content = this.wrapDetail(levels, h("snk-detail-view", { ref: (ref) => this._currentDetail = ref, dataUnitName: this.getDataUnitName(levels, childEntityName), onSnkDetailGuidesChange: (evt) => this.updateGuide(evt.detail), entityName: childEntityName, selectedForm: formName, branchGuide: detailBranch, guideItemPath: this._breadcrumbItems, key: `detail${detailId}`, canEdit: this.canEdit, onSnkSwitchGuide: evt => this._guideNavigator.selectGuide(evt.detail), resourceID: this.resourceID, taskbarCustomContainerId: this.detailTaskbarCustomContainerId, customEditors: this._customEditors, customRenders: this._customRenders }));
354
+ content = this.wrapDetail(levels, h("snk-detail-view", { ref: (ref) => this._currentDetail = ref, dataUnitName: this.getDataUnitName(levels, childEntityName), onSnkDetailGuidesChange: (evt) => this.updateGuide(evt.detail), entityName: childEntityName, selectedForm: formName, branchGuide: detailBranch, guideItemPath: this._breadcrumbItems, key: `detail${detailId}`, canEdit: this.canEdit, onSnkSwitchGuide: evt => this._guideNavigator.selectGuide(evt.detail), resourceID: this.resourceID, taskbarCustomContainerId: this.detailTaskbarCustomContainerId, customEditors: this._customEditors, customRenders: this._customRenders, presentationMode: this.presentationMode }));
326
355
  }
327
356
  else {
328
357
  const cardId = this.selectedGuide.id;
329
358
  const sheet = this._masterFormMetadata.getSheet(cardId);
330
359
  if (sheet) {
331
360
  const cardConfig = (_c = (_b = this.masterFormConfig) === null || _b === void 0 ? void 0 : _b.cardsState) === null || _c === void 0 ? void 0 : _c.get(cardId);
332
- content = h("snk-form-view", { ref: ref => this._mainForm = ref, fixed: cardConfig === null || cardConfig === void 0 ? void 0 : cardConfig.fixed, summaryFields: (_e = (_d = this.masterFormConfig) === null || _d === void 0 ? void 0 : _d.summary) === null || _e === void 0 ? void 0 : _e.get(cardId), name: cardId, label: sheet.label, fields: sheet.fields, dataUnit: this.dataUnit, formMetadata: this._masterFormMetadata, recordsValidator: this.recordsValidator, fieldToFocus: this._fieldToGetFocus, key: guideId, onSnkRequestClearFieldToFocus: _ => this.clearFieldToFocusHandler(), customEditors: this._customEditors, fieldsProps: this._fieldsProps }, this.presentationMode == PresentationMode.SECONDARY && this.buildTaskBar());
361
+ content = h("snk-form-view", { ref: ref => this._mainForm = ref, fixed: cardConfig === null || cardConfig === void 0 ? void 0 : cardConfig.fixed, summaryFields: (_e = (_d = this.masterFormConfig) === null || _d === void 0 ? void 0 : _d.summary) === null || _e === void 0 ? void 0 : _e.get(cardId), name: cardId, label: sheet.label, fields: sheet.fields, dataUnit: this.dataUnit, formMetadata: this._masterFormMetadata, recordsValidator: this.recordsValidator, fieldToFocus: this._fieldToGetFocus, key: guideId, onSnkRequestClearFieldToFocus: _ => this.clearFieldToFocusHandler(), customEditors: this._customEditors, fieldsProps: this._fieldsProps, fieldSearch: this._fieldSearch }, this.presentationMode == PresentationMode.SECONDARY && this.buildTaskBar());
333
362
  }
334
363
  }
335
364
  return content;
@@ -404,11 +433,14 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
404
433
  this._configManager.addFormLegacyConfig(this.formLegacyConfigName);
405
434
  }
406
435
  }
436
+ setMasterFormConfig(config) {
437
+ this.masterFormConfig = config;
438
+ }
407
439
  componentWillLoad() {
408
440
  if (this.resourceID == undefined) {
409
441
  throw new Error("Erro interno: resourceID não informado");
410
442
  }
411
- this._configManager = new SnkFormConfigManager(this.configName, this.resourceID, config => this.masterFormConfig = config);
443
+ this._configManager = new SnkFormConfigManager(this.configName, this.resourceID, this.setMasterFormConfig.bind(this), this.dataUnit);
412
444
  this.addFormLegacyConfigName();
413
445
  this._configManager.loadConfig();
414
446
  }
@@ -426,20 +458,18 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
426
458
  }
427
459
  this._guideHasChanged = false;
428
460
  }
429
- getFieldsSearch(actionButton, item) {
461
+ getFieldsSearch(item) {
430
462
  if (this._fieldSearch == undefined || this._hasToCreateFieldSearch) {
431
463
  this._hasToCreateFieldSearch = false;
432
- this._moreOptions = actionButton;
433
- actionButton.addEventListener("taskbarActionsButtonDisconnected", () => this._hasToCreateFieldSearch = true);
434
- this._fieldSearch = buildFieldSearch(item, ({ argument }) => this.fieldsOptionLoader(argument), (option) => this.onSelectField(option, actionButton));
464
+ this._fieldSearch = buildFieldSearch(item, ({ argument }) => this.fieldsOptionLoader(argument), (option) => this.onSelectField(option));
435
465
  }
436
466
  return this._fieldSearch;
437
467
  }
438
468
  fieldsOptionLoader(argument) {
439
- return Promise.resolve(this._configManager.getFieldsList(this.dataUnit, argument)
469
+ return Promise.resolve(this._configManager.getFieldsList(argument)
440
470
  .map(field => ({ value: field.name, label: field.label })));
441
471
  }
442
- onSelectField(option, actionButton) {
472
+ onSelectField(option) {
443
473
  if (option == undefined) {
444
474
  return;
445
475
  }
@@ -448,31 +478,48 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
448
478
  if (fieldGuideName !== this.selectedGuide.id) {
449
479
  this.changeGuideHandler(fieldGuideName);
450
480
  }
451
- actionButton.hideActions();
452
481
  }
453
482
  getActionsList() {
483
+ var _a;
484
+ const hardList = [];
485
+ if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
486
+ return hardList.concat((_a = this.taskbarManager.getMoreOptions(this.getTaskBarId(), this.configName, this.dataState, this.actionsList)) !== null && _a !== void 0 ? _a : []);
487
+ }
488
+ return hardList.concat(this.actionsList);
489
+ }
490
+ getSettingsListForm() {
454
491
  const hardList = [{
455
- value: "",
492
+ value: StringUtils.generateUUID(),
456
493
  label: this.getMessage("snkCrud.findColumn"),
457
494
  disableCloseOnSelect: true,
458
495
  eagerInitialize: true,
459
- itemBuilder: (actionButton, item) => this.getFieldsSearch(actionButton, item)
496
+ itemBuilder: (_, item) => this.getFieldsSearch(item)
460
497
  }];
461
- if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
462
- return hardList.concat(this.taskbarManager.getMoreOptions(this.getTaskBarId(), this.configName, this.dataState, this.actionsList));
463
- }
464
- return hardList.concat(this.actionsList);
498
+ return hardList;
465
499
  }
466
500
  buildTaskBar() {
467
501
  var _a;
468
- return h("div", { class: `snk-guides-viewer__header-taskbar ${this.presentationMode != PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.getActionsList(), messagesBuilder: this.messagesBuilder, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-taskbar-owner": "master", dataUnit: this.dataUnit, resourceID: this.resourceID, customSlotId: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS", alignRigth: true }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" })));
502
+ return h("div", { class: `snk-guides-viewer__header-taskbar ${this.presentationMode != PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.getActionsList(), actionsSettingsList: this.getSettingsListForm(), messagesBuilder: this.messagesBuilder, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? TaskbarElement.SAVE : TaskbarElement.INSERT, "data-taskbar-owner": "master", dataUnit: this.dataUnit, resourceID: this.resourceID, customSlotId: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS", alignRigth: true }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" })));
469
503
  }
470
504
  async dataUnitActionHandler(action) {
471
505
  var _a;
472
- if (action.type === Action.FIELD_INVALIDATED) {
473
- const guideName = this.getGuideName((_a = action.payload) === null || _a === void 0 ? void 0 : _a.fieldName);
474
- await this.addErrorBadgeToGuide(guideName);
475
- await this.openGuideNavigator(guideName);
506
+ switch (action.type) {
507
+ case Action.EDITION_CANCELED:
508
+ case Action.DATA_SAVED:
509
+ if (this.dataUnit.isMultipleEdition) {
510
+ this.exitViewer();
511
+ this.dataUnit.isMultipleEdition = false;
512
+ }
513
+ break;
514
+ case Action.FIELD_INVALIDATED:
515
+ const guideName = this.getGuideName((_a = action.payload) === null || _a === void 0 ? void 0 : _a.fieldName);
516
+ await this.addErrorBadgeToGuide(guideName);
517
+ await this.openGuideNavigator(guideName);
518
+ break;
519
+ case Action.METADATA_LOADED:
520
+ case Action.MULTIPLE_EDITION_CHANGED:
521
+ this.loadGuides(this.noGuideSelected());
522
+ break;
476
523
  }
477
524
  }
478
525
  async addErrorBadgeToGuide(guideName) {
@@ -512,20 +559,47 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
512
559
  var _a, _b;
513
560
  return (_b = (_a = this.getCustomTitle) === null || _a === void 0 ? void 0 : _a.call(this)) !== null && _b !== void 0 ? _b : this.getMessage("snkCrud.title");
514
561
  }
562
+ getTitleTooltip() {
563
+ if (!this.dataUnit.isMultipleEdition)
564
+ return;
565
+ return this.buildRecordIdsArray();
566
+ }
567
+ buildRecordIdsArray() {
568
+ var _a, _b;
569
+ const selectedRecords = (_b = (_a = this.dataUnit.getSelectionInfo()) === null || _a === void 0 ? void 0 : _a.records) !== null && _b !== void 0 ? _b : [];
570
+ if (selectedRecords.length === 0) {
571
+ return "[]";
572
+ }
573
+ const labels = selectedRecords.map(record => this.messagesBuilder.getMessage("snkCrud.title", record));
574
+ return `[${labels.join(", ")}]`;
575
+ }
515
576
  componentDidLoad() {
516
577
  this.dataUnit.subscribe(this.dataUnitActionHandler.bind(this));
578
+ this.initKeyboardManager();
579
+ }
580
+ disconnectedCallback() {
581
+ var _a;
582
+ (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
583
+ }
584
+ async initKeyboardManager() {
585
+ this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
586
+ this._keyboardManager.bind(SHORTCUT_SEARCH_FIELD, async () => {
587
+ if (!this._mainForm)
588
+ return;
589
+ await this._mainForm.showSearchField();
590
+ }, { description: LABEL_SEARCH_FIELD, element: this._element });
517
591
  }
518
592
  render() {
519
593
  var _a, _b;
520
594
  if (this._formEditorConfigManager != undefined) {
521
- return (h("snk-form-config", { ref: ref => this._container = ref, tabindex: -1, dataUnit: this._formEditorDataUnit, messagesBuilder: this.messagesBuilder, configManager: this._formEditorConfigManager, onConfigClose: () => this._formEditorConfigManager = null }));
595
+ return (h("snk-form-config", { tabindex: -1, dataUnit: this._formEditorDataUnit, messagesBuilder: this.messagesBuilder, configManager: this._formEditorConfigManager, onConfigClose: () => this._formEditorConfigManager = null, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields }));
522
596
  }
523
597
  if (!this.dataUnit || !this._configManager.isLoaded) {
524
598
  return;
525
599
  }
526
600
  this.loadTaskbarProcessor();
527
601
  const showGuides = this._guides && (this._guides.length > 1);
528
- return (h("section", { class: "snk-guides-viewer", ref: ref => this._container = ref, tabindex: -1 }, h("div", { class: "ez-row snk-guides-viewer__header" }, h("div", { class: "snk-guides-viewer__header-breadcrumb ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, h("ez-button", { onClick: () => this.exitViewer(), title: this.getMessage("snkCrud.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, h("h1", { class: "ez-title ez-title--primary ez-title--xlarge" }, this.getTitle()), ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
602
+ return (h("section", { class: "snk-guides-viewer", ref: ref => this._container = ref, tabindex: -1 }, h("div", { class: "ez-row snk-guides-viewer__header" }, h("div", { class: "snk-guides-viewer__header-breadcrumb ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, h("ez-button", { onClick: () => this.exitViewer(), title: this.getMessage("snkCrud.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, h("h1", { class: "ez-title ez-title--primary ez-title--xlarge", title: this.getTitleTooltip() }, this.getTitle()), ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
529
603
  h("div", { class: "ez-margin-top--extra-small" }, h("ez-breadcrumb", Object.assign({ items: this._breadcrumbItems, onSelectedItem: (evt) => this.onBreadcrumbClickHandler(evt === null || evt === void 0 ? void 0 : evt.detail) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${ElementIDUtils.getInternalIDInfo("breadcrumb")}` }))))), this.presentationMode != PresentationMode.SECONDARY && this.buildTaskBar()), h("div", { class: "snk-guides-viewer__container" }, showGuides ?
530
604
  h("ez-guide-navigator", { ref: (ref) => this._guideNavigator = ref, class: "snk-guides-viewer__guide-navigator", items: this._guides, selectedId: this.selectedGuide ? this.selectedGuide.id : undefined, onEzSelectionChange: evt => this.updateSelectedGuideHandler(evt.detail) })
531
605
  :
@@ -541,6 +615,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
541
615
  fieldsProps: this._fieldsProps
542
616
  }), this.getContent())), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this.getConfigViewMode(), onConfigSelected: (evt) => this.changeConfigViewMode(evt.detail), messagesBuilder: this.messagesBuilder, onOpenConfig: (evt) => this.openConfig(evt.detail), resourceID: this.resourceID })));
543
617
  }
618
+ get _element() { return this; }
544
619
  static get watchers() { return {
545
620
  "dataUnit": ["observeDataUnit"],
546
621
  "dataState": ["observeDataState"],
@@ -563,6 +638,8 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
563
638
  "resourceID": [1, "resource-i-d"],
564
639
  "detailTaskbarCustomContainerId": [1, "detail-taskbar-custom-container-id"],
565
640
  "formLegacyConfigName": [1, "form-legacy-config-name"],
641
+ "enableGridInsert": [4, "enable-grid-insert"],
642
+ "ignoreReadOnlyFormFields": [4, "ignore-read-only-form-fields"],
566
643
  "getCustomTitle": [16],
567
644
  "_hasToCreateFieldSearch": [32],
568
645
  "_breadcrumbItems": [32],
@@ -573,18 +650,24 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
573
650
  "_customEditors": [32],
574
651
  "_customRenders": [32],
575
652
  "_fieldsProps": [32],
653
+ "_mainForm": [32],
576
654
  "showFormConfig": [64],
577
- "findField": [64],
578
655
  "addCustomEditor": [64],
579
656
  "addGridCustomRender": [64],
580
657
  "setFieldProp": [64],
581
658
  "setFocus": [64]
582
659
  }, [[2, "actionClick", "onActionClick"], [0, "snkContentCardChanged", "onContentCardChanged"]]]);
660
+ var TASKBAR_ID;
661
+ (function (TASKBAR_ID) {
662
+ TASKBAR_ID["FINISH_EDITION"] = "snkGuideViewer.finish_edition";
663
+ TASKBAR_ID["MUTIPLE_EDITION"] = "snkGuideViewer.multiple_edition";
664
+ TASKBAR_ID["REGULAR"] = "snkGuideViewer.regular";
665
+ })(TASKBAR_ID || (TASKBAR_ID = {}));
583
666
  function defineCustomElement$1() {
584
667
  if (typeof customElements === "undefined") {
585
668
  return;
586
669
  }
587
- const components = ["snk-guides-viewer", "snk-actions-button", "snk-attach", "snk-config-options", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-detail-view", "snk-exporter-email-sender", "snk-expression-group", "snk-expression-item", "snk-field-config", "snk-filter-advanced-mode", "snk-filter-assistent-mode", "snk-filter-bar", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-param-config", "snk-form-config", "snk-form-summary", "snk-form-view", "snk-grid", "snk-grid-config", "snk-personalized-filter", "snk-select-box", "snk-simple-bar", "snk-simple-crud", "snk-tab-config", "snk-taskbar", "taskbar-actions-button"];
670
+ const components = ["snk-guides-viewer", "snk-actions-button", "snk-attach", "snk-config-options", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-detail-view", "snk-exporter-email-sender", "snk-expression-group", "snk-expression-item", "snk-field-config", "snk-filter-advanced-mode", "snk-filter-assistent-mode", "snk-filter-bar", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-param-config", "snk-form-config", "snk-form-summary", "snk-form-view", "snk-grid", "snk-grid-config", "snk-layout-form-config", "snk-personalized-filter", "snk-select-box", "snk-simple-bar", "snk-simple-crud", "snk-simple-form-config", "snk-tab-config", "snk-taskbar", "snk-view-representation", "taskbar-actions-button", "taskbar-split-button"];
588
671
  components.forEach(tagName => { switch (tagName) {
589
672
  case "snk-guides-viewer":
590
673
  if (!customElements.get(tagName)) {
@@ -593,32 +676,32 @@ function defineCustomElement$1() {
593
676
  break;
594
677
  case "snk-actions-button":
595
678
  if (!customElements.get(tagName)) {
596
- defineCustomElement$u();
679
+ defineCustomElement$y();
597
680
  }
598
681
  break;
599
682
  case "snk-attach":
600
683
  if (!customElements.get(tagName)) {
601
- defineCustomElement$t();
684
+ defineCustomElement$x();
602
685
  }
603
686
  break;
604
687
  case "snk-config-options":
605
688
  if (!customElements.get(tagName)) {
606
- defineCustomElement$s();
689
+ defineCustomElement$w();
607
690
  }
608
691
  break;
609
692
  case "snk-configurator":
610
693
  if (!customElements.get(tagName)) {
611
- defineCustomElement$r();
694
+ defineCustomElement$v();
612
695
  }
613
696
  break;
614
697
  case "snk-data-exporter":
615
698
  if (!customElements.get(tagName)) {
616
- defineCustomElement$q();
699
+ defineCustomElement$u();
617
700
  }
618
701
  break;
619
702
  case "snk-data-unit":
620
703
  if (!customElements.get(tagName)) {
621
- defineCustomElement$p();
704
+ defineCustomElement$t();
622
705
  }
623
706
  break;
624
707
  case "snk-detail-view":
@@ -628,115 +711,135 @@ function defineCustomElement$1() {
628
711
  break;
629
712
  case "snk-exporter-email-sender":
630
713
  if (!customElements.get(tagName)) {
631
- defineCustomElement$o();
714
+ defineCustomElement$s();
632
715
  }
633
716
  break;
634
717
  case "snk-expression-group":
635
718
  if (!customElements.get(tagName)) {
636
- defineCustomElement$n();
719
+ defineCustomElement$r();
637
720
  }
638
721
  break;
639
722
  case "snk-expression-item":
640
723
  if (!customElements.get(tagName)) {
641
- defineCustomElement$m();
724
+ defineCustomElement$q();
642
725
  }
643
726
  break;
644
727
  case "snk-field-config":
645
728
  if (!customElements.get(tagName)) {
646
- defineCustomElement$l();
729
+ defineCustomElement$p();
647
730
  }
648
731
  break;
649
732
  case "snk-filter-advanced-mode":
650
733
  if (!customElements.get(tagName)) {
651
- defineCustomElement$k();
734
+ defineCustomElement$o();
652
735
  }
653
736
  break;
654
737
  case "snk-filter-assistent-mode":
655
738
  if (!customElements.get(tagName)) {
656
- defineCustomElement$j();
739
+ defineCustomElement$n();
657
740
  }
658
741
  break;
659
742
  case "snk-filter-bar":
660
743
  if (!customElements.get(tagName)) {
661
- defineCustomElement$i();
744
+ defineCustomElement$m();
662
745
  }
663
746
  break;
664
747
  case "snk-filter-detail":
665
748
  if (!customElements.get(tagName)) {
666
- defineCustomElement$h();
749
+ defineCustomElement$l();
667
750
  }
668
751
  break;
669
752
  case "snk-filter-field-search":
670
753
  if (!customElements.get(tagName)) {
671
- defineCustomElement$g();
754
+ defineCustomElement$k();
672
755
  }
673
756
  break;
674
757
  case "snk-filter-item":
675
758
  if (!customElements.get(tagName)) {
676
- defineCustomElement$f();
759
+ defineCustomElement$j();
677
760
  }
678
761
  break;
679
762
  case "snk-filter-param-config":
680
763
  if (!customElements.get(tagName)) {
681
- defineCustomElement$e();
764
+ defineCustomElement$i();
682
765
  }
683
766
  break;
684
767
  case "snk-form-config":
685
768
  if (!customElements.get(tagName)) {
686
- defineCustomElement$d();
769
+ defineCustomElement$h();
687
770
  }
688
771
  break;
689
772
  case "snk-form-summary":
690
773
  if (!customElements.get(tagName)) {
691
- defineCustomElement$c();
774
+ defineCustomElement$g();
692
775
  }
693
776
  break;
694
777
  case "snk-form-view":
695
778
  if (!customElements.get(tagName)) {
696
- defineCustomElement$b();
779
+ defineCustomElement$f();
697
780
  }
698
781
  break;
699
782
  case "snk-grid":
700
783
  if (!customElements.get(tagName)) {
701
- defineCustomElement$a();
784
+ defineCustomElement$e();
702
785
  }
703
786
  break;
704
787
  case "snk-grid-config":
705
788
  if (!customElements.get(tagName)) {
706
- defineCustomElement$9();
789
+ defineCustomElement$d();
790
+ }
791
+ break;
792
+ case "snk-layout-form-config":
793
+ if (!customElements.get(tagName)) {
794
+ defineCustomElement$c();
707
795
  }
708
796
  break;
709
797
  case "snk-personalized-filter":
710
798
  if (!customElements.get(tagName)) {
711
- defineCustomElement$8();
799
+ defineCustomElement$b();
712
800
  }
713
801
  break;
714
802
  case "snk-select-box":
715
803
  if (!customElements.get(tagName)) {
716
- defineCustomElement$7();
804
+ defineCustomElement$a();
717
805
  }
718
806
  break;
719
807
  case "snk-simple-bar":
720
808
  if (!customElements.get(tagName)) {
721
- defineCustomElement$6();
809
+ defineCustomElement$9();
722
810
  }
723
811
  break;
724
812
  case "snk-simple-crud":
725
813
  if (!customElements.get(tagName)) {
726
- defineCustomElement$5();
814
+ defineCustomElement$8();
815
+ }
816
+ break;
817
+ case "snk-simple-form-config":
818
+ if (!customElements.get(tagName)) {
819
+ defineCustomElement$7();
727
820
  }
728
821
  break;
729
822
  case "snk-tab-config":
730
823
  if (!customElements.get(tagName)) {
731
- defineCustomElement$4();
824
+ defineCustomElement$6();
732
825
  }
733
826
  break;
734
827
  case "snk-taskbar":
735
828
  if (!customElements.get(tagName)) {
736
- defineCustomElement$3();
829
+ defineCustomElement$5();
830
+ }
831
+ break;
832
+ case "snk-view-representation":
833
+ if (!customElements.get(tagName)) {
834
+ defineCustomElement$4();
737
835
  }
738
836
  break;
739
837
  case "taskbar-actions-button":
838
+ if (!customElements.get(tagName)) {
839
+ defineCustomElement$3();
840
+ }
841
+ break;
842
+ case "taskbar-split-button":
740
843
  if (!customElements.get(tagName)) {
741
844
  defineCustomElement$2();
742
845
  }
@@ -787,7 +890,7 @@ class GuideBuilder {
787
890
  }
788
891
  }
789
892
 
790
- 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}";
893
+ 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)}";
791
894
 
792
895
  const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
793
896
  constructor() {
@@ -799,6 +902,8 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
799
902
  this._disabledButtons = undefined;
800
903
  this._currentView = undefined;
801
904
  this.attachmentRegisterKey = undefined;
905
+ this._fieldToGetFocus = undefined;
906
+ this._hasToCreateFieldSearch = true;
802
907
  this.formConfigManager = undefined;
803
908
  this.dataUnitName = undefined;
804
909
  this.resourceID = undefined;
@@ -814,6 +919,7 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
814
919
  this.taskbarCustomContainerId = undefined;
815
920
  this.customEditors = undefined;
816
921
  this.customRenders = undefined;
922
+ this.presentationMode = PresentationMode.SECONDARY;
817
923
  }
818
924
  observeDataUnit(newDataUnit, oldDataUnit) {
819
925
  newDataUnit === null || newDataUnit === void 0 ? void 0 : newDataUnit.subscribe(this.dataUnitActionHandler.bind(this));
@@ -984,7 +1090,7 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
984
1090
  this.emitSwitchEvent(VIEW_MODE.GRID);
985
1091
  evt.stopPropagation();
986
1092
  }
987
- if (evt.detail === TaskbarElement.FORM_MODE) {
1093
+ if (evt.detail === TaskbarElement.FORM_MODE || evt.detail === TaskbarElement.UPDATE) {
988
1094
  this.emitSwitchEvent(VIEW_MODE.FORM);
989
1095
  evt.stopPropagation();
990
1096
  }
@@ -1008,7 +1114,7 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
1008
1114
  }
1009
1115
  componentWillLoad() {
1010
1116
  this._configName = `dynaform.${this.entityName}`;
1011
- this.formConfigManager = new SnkFormConfigManager(this._configName, this.resourceID, () => this.loadMetadata());
1117
+ this.formConfigManager = new SnkFormConfigManager(this._configName, this.resourceID, () => this.loadMetadata(), this.dataUnit);
1012
1118
  this.formConfigManager.loadConfig();
1013
1119
  if (this.messagesBuilder == undefined) {
1014
1120
  this.messagesBuilder = new SnkMessageBuilder(this.entityName);
@@ -1017,6 +1123,11 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
1017
1123
  async componentDidLoad() {
1018
1124
  await this.observerPropsCustomEditor(this.customEditors);
1019
1125
  await this.observeCustomRenders(this.customRenders);
1126
+ this.initKeyboardManager();
1127
+ }
1128
+ disconnectedCallback() {
1129
+ var _a;
1130
+ (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
1020
1131
  }
1021
1132
  async dataUnitActionHandler(action) {
1022
1133
  if (action.type === Action.FIELD_INVALIDATED) {
@@ -1030,11 +1141,55 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
1030
1141
  normalizeBranchGuideId(id) {
1031
1142
  return id === null || id === void 0 ? void 0 : id.replace(/child\[(.*?)\]/g, '$1').replace(/::/g, '>');
1032
1143
  }
1144
+ getSettingsListForm() {
1145
+ const hardList = [{
1146
+ value: StringUtils.generateUUID(),
1147
+ label: this.messagesBuilder.getMessage("snkCrud.findColumn", undefined),
1148
+ disableCloseOnSelect: true,
1149
+ eagerInitialize: true,
1150
+ itemBuilder: (_, item) => this.getFieldsSearch(item)
1151
+ }];
1152
+ return hardList;
1153
+ }
1154
+ getFieldsSearch(item) {
1155
+ if (this._fieldSearch == undefined || this._hasToCreateFieldSearch) {
1156
+ this._hasToCreateFieldSearch = false;
1157
+ this._fieldSearch = buildFieldSearch(item, ({ argument }) => this.fieldsOptionLoader(argument), (option) => this.onSelectField(option));
1158
+ }
1159
+ return this._fieldSearch;
1160
+ }
1161
+ fieldsOptionLoader(argument) {
1162
+ const searchTerm = argument === null || argument === void 0 ? void 0 : argument.toLowerCase();
1163
+ const allFields = this.getFormFields().map(field => { var _a; return (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(field.name); });
1164
+ const filteredFields = allFields.filter(field => {
1165
+ var _a, _b;
1166
+ return ((_a = field.name) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(searchTerm)) ||
1167
+ ((_b = field.label) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes(searchTerm));
1168
+ });
1169
+ const options = filteredFields.map(field => ({ value: field.name, label: field.label }));
1170
+ return Promise.resolve(options);
1171
+ }
1172
+ onSelectField(option) {
1173
+ if (option == undefined) {
1174
+ return;
1175
+ }
1176
+ this._fieldToGetFocus = option.value;
1177
+ }
1178
+ clearFieldToFocusHandler() {
1179
+ this._fieldToGetFocus = undefined;
1180
+ }
1181
+ async initKeyboardManager() {
1182
+ this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
1183
+ this._keyboardManager.bind(SHORTCUT_SEARCH_FIELD, async () => {
1184
+ await this._snkFormView.showSearchField();
1185
+ }, { description: LABEL_SEARCH_FIELD, element: this._element });
1186
+ }
1033
1187
  render() {
1034
1188
  this.updateLabel();
1035
1189
  //const cardConfig: IFormCardConfig = this._cardsState?.get(this.selectedForm);
1036
- 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) }))))));
1190
+ 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(), fieldToFocus: this._fieldToGetFocus, label: this.label, levelPath: this._levelPath, onFormItemsReady: ({ detail: formItems }) => this.formItemsReady.emit(formItems), onSnkRequestClearFieldToFocus: this.clearFieldToFocusHandler.bind(this), fieldSearch: this._fieldSearch }, 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() }, 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) }))))));
1037
1191
  }
1192
+ get _element() { return this; }
1038
1193
  static get watchers() { return {
1039
1194
  "dataUnit": ["observeDataUnit"],
1040
1195
  "dataState": ["observerDataState"],
@@ -1058,9 +1213,12 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
1058
1213
  "taskbarCustomContainerId": [1, "taskbar-custom-container-id"],
1059
1214
  "customEditors": [16],
1060
1215
  "customRenders": [16],
1216
+ "presentationMode": [1, "presentation-mode"],
1061
1217
  "_disabledButtons": [32],
1062
1218
  "_currentView": [32],
1063
1219
  "attachmentRegisterKey": [32],
1220
+ "_fieldToGetFocus": [32],
1221
+ "_hasToCreateFieldSearch": [32],
1064
1222
  "changeViewMode": [64],
1065
1223
  "configGrid": [64],
1066
1224
  "showUp": [64],
@@ -1072,7 +1230,7 @@ function defineCustomElement() {
1072
1230
  if (typeof customElements === "undefined") {
1073
1231
  return;
1074
1232
  }
1075
- const components = ["snk-detail-view", "snk-actions-button", "snk-attach", "snk-config-options", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-exporter-email-sender", "snk-expression-group", "snk-expression-item", "snk-field-config", "snk-filter-advanced-mode", "snk-filter-assistent-mode", "snk-filter-bar", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-param-config", "snk-form-config", "snk-form-summary", "snk-form-view", "snk-grid", "snk-grid-config", "snk-personalized-filter", "snk-select-box", "snk-simple-bar", "snk-simple-crud", "snk-tab-config", "snk-taskbar", "taskbar-actions-button"];
1233
+ const components = ["snk-detail-view", "snk-actions-button", "snk-attach", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-exporter-email-sender", "snk-expression-group", "snk-expression-item", "snk-filter-advanced-mode", "snk-filter-assistent-mode", "snk-filter-bar", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-param-config", "snk-form-summary", "snk-form-view", "snk-grid", "snk-grid-config", "snk-layout-form-config", "snk-personalized-filter", "snk-select-box", "snk-simple-bar", "snk-simple-crud", "snk-simple-form-config", "snk-taskbar", "snk-view-representation", "taskbar-actions-button", "taskbar-split-button"];
1076
1234
  components.forEach(tagName => { switch (tagName) {
1077
1235
  case "snk-detail-view":
1078
1236
  if (!customElements.get(tagName)) {
@@ -1081,145 +1239,145 @@ function defineCustomElement() {
1081
1239
  break;
1082
1240
  case "snk-actions-button":
1083
1241
  if (!customElements.get(tagName)) {
1084
- defineCustomElement$u();
1242
+ defineCustomElement$y();
1085
1243
  }
1086
1244
  break;
1087
1245
  case "snk-attach":
1088
1246
  if (!customElements.get(tagName)) {
1089
- defineCustomElement$t();
1090
- }
1091
- break;
1092
- case "snk-config-options":
1093
- if (!customElements.get(tagName)) {
1094
- defineCustomElement$s();
1247
+ defineCustomElement$x();
1095
1248
  }
1096
1249
  break;
1097
1250
  case "snk-configurator":
1098
1251
  if (!customElements.get(tagName)) {
1099
- defineCustomElement$r();
1252
+ defineCustomElement$v();
1100
1253
  }
1101
1254
  break;
1102
1255
  case "snk-data-exporter":
1103
1256
  if (!customElements.get(tagName)) {
1104
- defineCustomElement$q();
1257
+ defineCustomElement$u();
1105
1258
  }
1106
1259
  break;
1107
1260
  case "snk-data-unit":
1108
1261
  if (!customElements.get(tagName)) {
1109
- defineCustomElement$p();
1262
+ defineCustomElement$t();
1110
1263
  }
1111
1264
  break;
1112
1265
  case "snk-exporter-email-sender":
1113
1266
  if (!customElements.get(tagName)) {
1114
- defineCustomElement$o();
1267
+ defineCustomElement$s();
1115
1268
  }
1116
1269
  break;
1117
1270
  case "snk-expression-group":
1118
1271
  if (!customElements.get(tagName)) {
1119
- defineCustomElement$n();
1272
+ defineCustomElement$r();
1120
1273
  }
1121
1274
  break;
1122
1275
  case "snk-expression-item":
1123
1276
  if (!customElements.get(tagName)) {
1124
- defineCustomElement$m();
1125
- }
1126
- break;
1127
- case "snk-field-config":
1128
- if (!customElements.get(tagName)) {
1129
- defineCustomElement$l();
1277
+ defineCustomElement$q();
1130
1278
  }
1131
1279
  break;
1132
1280
  case "snk-filter-advanced-mode":
1133
1281
  if (!customElements.get(tagName)) {
1134
- defineCustomElement$k();
1282
+ defineCustomElement$o();
1135
1283
  }
1136
1284
  break;
1137
1285
  case "snk-filter-assistent-mode":
1138
1286
  if (!customElements.get(tagName)) {
1139
- defineCustomElement$j();
1287
+ defineCustomElement$n();
1140
1288
  }
1141
1289
  break;
1142
1290
  case "snk-filter-bar":
1143
1291
  if (!customElements.get(tagName)) {
1144
- defineCustomElement$i();
1292
+ defineCustomElement$m();
1145
1293
  }
1146
1294
  break;
1147
1295
  case "snk-filter-detail":
1148
1296
  if (!customElements.get(tagName)) {
1149
- defineCustomElement$h();
1297
+ defineCustomElement$l();
1150
1298
  }
1151
1299
  break;
1152
1300
  case "snk-filter-field-search":
1153
1301
  if (!customElements.get(tagName)) {
1154
- defineCustomElement$g();
1302
+ defineCustomElement$k();
1155
1303
  }
1156
1304
  break;
1157
1305
  case "snk-filter-item":
1158
1306
  if (!customElements.get(tagName)) {
1159
- defineCustomElement$f();
1307
+ defineCustomElement$j();
1160
1308
  }
1161
1309
  break;
1162
1310
  case "snk-filter-param-config":
1163
1311
  if (!customElements.get(tagName)) {
1164
- defineCustomElement$e();
1165
- }
1166
- break;
1167
- case "snk-form-config":
1168
- if (!customElements.get(tagName)) {
1169
- defineCustomElement$d();
1312
+ defineCustomElement$i();
1170
1313
  }
1171
1314
  break;
1172
1315
  case "snk-form-summary":
1173
1316
  if (!customElements.get(tagName)) {
1174
- defineCustomElement$c();
1317
+ defineCustomElement$g();
1175
1318
  }
1176
1319
  break;
1177
1320
  case "snk-form-view":
1178
1321
  if (!customElements.get(tagName)) {
1179
- defineCustomElement$b();
1322
+ defineCustomElement$f();
1180
1323
  }
1181
1324
  break;
1182
1325
  case "snk-grid":
1183
1326
  if (!customElements.get(tagName)) {
1184
- defineCustomElement$a();
1327
+ defineCustomElement$e();
1185
1328
  }
1186
1329
  break;
1187
1330
  case "snk-grid-config":
1188
1331
  if (!customElements.get(tagName)) {
1189
- defineCustomElement$9();
1332
+ defineCustomElement$d();
1333
+ }
1334
+ break;
1335
+ case "snk-layout-form-config":
1336
+ if (!customElements.get(tagName)) {
1337
+ defineCustomElement$c();
1190
1338
  }
1191
1339
  break;
1192
1340
  case "snk-personalized-filter":
1193
1341
  if (!customElements.get(tagName)) {
1194
- defineCustomElement$8();
1342
+ defineCustomElement$b();
1195
1343
  }
1196
1344
  break;
1197
1345
  case "snk-select-box":
1198
1346
  if (!customElements.get(tagName)) {
1199
- defineCustomElement$7();
1347
+ defineCustomElement$a();
1200
1348
  }
1201
1349
  break;
1202
1350
  case "snk-simple-bar":
1203
1351
  if (!customElements.get(tagName)) {
1204
- defineCustomElement$6();
1352
+ defineCustomElement$9();
1205
1353
  }
1206
1354
  break;
1207
1355
  case "snk-simple-crud":
1356
+ if (!customElements.get(tagName)) {
1357
+ defineCustomElement$8();
1358
+ }
1359
+ break;
1360
+ case "snk-simple-form-config":
1361
+ if (!customElements.get(tagName)) {
1362
+ defineCustomElement$7();
1363
+ }
1364
+ break;
1365
+ case "snk-taskbar":
1208
1366
  if (!customElements.get(tagName)) {
1209
1367
  defineCustomElement$5();
1210
1368
  }
1211
1369
  break;
1212
- case "snk-tab-config":
1370
+ case "snk-view-representation":
1213
1371
  if (!customElements.get(tagName)) {
1214
1372
  defineCustomElement$4();
1215
1373
  }
1216
1374
  break;
1217
- case "snk-taskbar":
1375
+ case "taskbar-actions-button":
1218
1376
  if (!customElements.get(tagName)) {
1219
1377
  defineCustomElement$3();
1220
1378
  }
1221
1379
  break;
1222
- case "taskbar-actions-button":
1380
+ case "taskbar-split-button":
1223
1381
  if (!customElements.get(tagName)) {
1224
1382
  defineCustomElement$2();
1225
1383
  }