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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. package/dist/cjs/ClientSideExporterProvider-a2753c93.js +378 -0
  2. package/dist/cjs/{ConfigStorage-e49214c6.js → ConfigStorage-df09fb78.js} +2 -2
  3. package/dist/cjs/{DataFetcher-77729a93.js → DataFetcher-1afdb18e.js} +231 -84
  4. package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
  5. package/dist/cjs/IFetchDataExporterParams-e78ec415.js +8 -0
  6. package/dist/cjs/ISave-c76e2c51.js +397 -0
  7. package/dist/cjs/{SnkFormConfigManager-beebf47a.js → SnkFormConfigManager-45a8d7b7.js} +75 -17
  8. package/dist/cjs/{SnkMessageBuilder-897ffd08.js → SnkMessageBuilder-9deeae08.js} +40 -28
  9. package/dist/cjs/{auth-fetcher-29bb791c.js → auth-fetcher-1687ac0a.js} +1 -1
  10. package/dist/cjs/{constants-35ddd366.js → constants-77c1b8bd.js} +10 -0
  11. package/dist/cjs/{dataunit-fetcher-d4873076.js → dataunit-fetcher-a723f0dc.js} +225 -175
  12. package/dist/cjs/{form-config-fetcher-feb08214.js → form-config-fetcher-40d3f752.js} +56 -2
  13. package/dist/cjs/{index-1dfc7a6e.js → index-e3e39724.js} +5 -0
  14. package/dist/cjs/index-f9e81701.js +16 -32
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +155 -0
  17. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  18. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_8.cjs.entry.js} +264 -46
  19. package/dist/cjs/snk-application.cjs.entry.js +471 -79
  20. package/dist/cjs/snk-attach.cjs.entry.js +91 -50
  21. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +401 -13
  22. package/dist/cjs/snk-configurator.cjs.entry.js +10 -3
  23. package/dist/cjs/snk-crud.cjs.entry.js +57 -84
  24. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -30
  25. package/dist/cjs/{snk-data-unit-ece44c4a.js → snk-data-unit-57916de4.js} +275 -37
  26. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  27. package/dist/cjs/snk-detail-view.cjs.entry.js +69 -17
  28. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  29. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  30. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1438 -0
  31. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  32. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  34. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  35. package/dist/cjs/snk-filter-search.cjs.entry.js +18 -5
  36. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  37. package/dist/cjs/snk-form-view.cjs.entry.js +19 -7
  38. package/dist/cjs/snk-grid.cjs.entry.js +132 -51
  39. package/dist/cjs/{snk-guides-viewer-aafc3073.js → snk-guides-viewer-d33379cd.js} +151 -74
  40. package/dist/cjs/snk-guides-viewer.cjs.entry.js +12 -12
  41. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  42. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  43. package/dist/cjs/snk-pesquisa.cjs.entry.js +116 -31
  44. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  45. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  46. package/dist/cjs/snk-simple-crud.cjs.entry.js +237 -200
  47. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  48. package/dist/cjs/snk-taskbar.cjs.entry.js +79 -42
  49. package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-6f4e06af.js} +12 -1
  50. package/dist/cjs/{field-search-f56aa7d6.js → taskbar-processor-2fba34a8.js} +5 -36
  51. package/dist/collection/collection-manifest.json +17 -31
  52. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  53. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  54. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  55. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +5 -2
  56. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  57. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  58. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  59. package/dist/collection/components/snk-application/search-strategy/exec-prepared-search-plus.js +107 -0
  60. package/dist/collection/components/snk-application/snk-application.css +36 -0
  61. package/dist/collection/components/snk-application/snk-application.js +450 -72
  62. package/dist/collection/components/snk-attach/snk-attach.js +51 -16
  63. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  64. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +19 -18
  65. package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
  66. package/dist/collection/components/snk-configurator/snk-configurator.js +26 -1
  67. package/dist/collection/components/snk-crud/snk-crud.js +181 -76
  68. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +10 -1
  69. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +84 -6
  70. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +54 -7
  71. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  72. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +198 -82
  73. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  74. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +8 -8
  75. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  76. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +41 -10
  77. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +18 -6
  78. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  79. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +10 -9
  80. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  81. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  82. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  83. package/dist/collection/components/snk-data-unit/MultipleUpdateHelper.js +128 -0
  84. package/dist/collection/components/snk-data-unit/snk-data-unit.js +156 -37
  85. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
  86. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  87. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  88. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
  89. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +18 -5
  90. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  91. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  92. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  93. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  94. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +10 -4
  95. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  96. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  97. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -6
  98. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
  99. package/dist/collection/components/snk-form/snk-form.js +2 -2
  100. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
  101. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  102. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  103. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.js +5 -3
  104. package/dist/collection/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.js +2 -2
  105. package/dist/collection/components/snk-grid/snk-grid.css +8 -0
  106. package/dist/collection/components/snk-grid/snk-grid.js +269 -51
  107. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  108. package/dist/collection/components/snk-grid-config/snk-grid-config.js +2 -0
  109. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +3 -0
  110. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +73 -0
  111. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +78 -0
  112. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +57 -0
  113. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  114. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  115. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  116. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  117. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  118. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  119. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +181 -32
  120. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  121. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  122. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  123. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +342 -123
  124. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  125. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  126. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +13 -0
  127. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +1 -1
  128. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +11 -0
  129. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.css +0 -0
  130. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.js +220 -0
  131. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  132. package/dist/collection/components/snk-taskbar/snk-taskbar.js +141 -41
  133. package/dist/collection/lib/@types/index.js +5 -0
  134. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +11 -5
  135. package/dist/collection/lib/configs/LayoutFormConfig.js +25 -0
  136. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -103
  137. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -32
  138. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +44 -29
  139. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  140. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  141. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  142. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +5 -2
  143. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  144. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +23 -14
  145. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  146. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +59 -5
  147. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  148. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +133 -9
  149. package/dist/collection/lib/index.js +1 -0
  150. package/dist/collection/lib/message/SnkMessageBuilder.js +1 -0
  151. package/dist/collection/lib/message/resources/snk-crud.msg.js +1 -1
  152. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +28 -23
  153. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  154. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  155. package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +2 -1
  156. package/dist/collection/lib/message/resources/snk-taskbar.msg.js +1 -0
  157. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  158. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  159. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  160. package/dist/collection/lib/utils/constants.js +10 -0
  161. package/dist/collection/sw.js +46 -0
  162. package/dist/components/ContinuousInsertUtils.js +416 -0
  163. package/dist/components/DataFetcher.js +231 -84
  164. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  165. package/dist/components/ISave.js +391 -1
  166. package/dist/components/SnkFormConfigManager.js +73 -15
  167. package/dist/components/SnkMessageBuilder.js +40 -28
  168. package/dist/components/constants.js +11 -1
  169. package/dist/components/dataunit-fetcher.js +243 -190
  170. package/dist/components/form-config-fetcher.js +55 -1
  171. package/dist/components/index.d.ts +6 -0
  172. package/dist/components/index.js +6 -0
  173. package/dist/components/pesquisa-grid.d.ts +11 -0
  174. package/dist/components/pesquisa-grid.js +6 -0
  175. package/dist/components/pesquisa-grid2.js +102 -0
  176. package/dist/components/pesquisa-tree.d.ts +11 -0
  177. package/dist/components/pesquisa-tree.js +6 -0
  178. package/dist/components/pesquisa-tree2.js +91 -0
  179. package/dist/components/snk-actions-button2.js +44 -40
  180. package/dist/components/snk-application2.js +494 -77
  181. package/dist/components/snk-attach2.js +114 -73
  182. package/dist/components/snk-config-options2.js +6 -4
  183. package/dist/components/snk-configurator2.js +23 -3
  184. package/dist/components/snk-crud.js +143 -139
  185. package/dist/components/snk-data-exporter2.js +37 -23
  186. package/dist/components/snk-data-unit2.js +275 -74
  187. package/dist/components/snk-detail-view2.js +329 -171
  188. package/dist/components/snk-exporter-email-sender2.js +1 -1
  189. package/dist/components/snk-filter-bar2.js +68 -34
  190. package/dist/components/snk-filter-binary-select.js +1 -1
  191. package/dist/components/snk-filter-checkbox-list.js +1 -1
  192. package/dist/components/snk-filter-item2.js +10 -4
  193. package/dist/components/snk-filter-modal.js +4 -2
  194. package/dist/components/snk-filter-number.js +1 -1
  195. package/dist/components/snk-filter-search.js +18 -5
  196. package/dist/components/snk-filter-text.js +2 -1
  197. package/dist/components/snk-form-config2.js +35 -10
  198. package/dist/components/snk-form-view2.js +22 -8
  199. package/dist/components/snk-form.js +2 -2
  200. package/dist/components/snk-grid-config2.js +3 -1
  201. package/dist/components/snk-grid2.js +169 -75
  202. package/dist/components/snk-layout-form-config.d.ts +11 -0
  203. package/dist/components/snk-layout-form-config.js +6 -0
  204. package/dist/components/snk-layout-form-config2.js +73 -0
  205. package/dist/components/snk-personalized-filter-editor.js +4 -4
  206. package/dist/components/snk-pesquisa2.js +132 -33
  207. package/dist/components/snk-print-selector.js +1 -1
  208. package/dist/components/snk-simple-bar2.js +1 -1
  209. package/dist/components/snk-simple-crud2.js +246 -203
  210. package/dist/components/snk-simple-form-config.d.ts +11 -0
  211. package/dist/components/snk-simple-form-config.js +6 -0
  212. package/dist/components/snk-simple-form-config2.js +121 -0
  213. package/dist/components/snk-tab-config2.js +1 -1
  214. package/dist/components/snk-taskbar2.js +105 -50
  215. package/dist/components/snk-view-representation.d.ts +11 -0
  216. package/dist/components/snk-view-representation.js +6 -0
  217. package/dist/components/snk-view-representation2.js +41 -0
  218. package/dist/components/taskbar-actions-button2.js +2 -2
  219. package/dist/components/taskbar-split-button.d.ts +11 -0
  220. package/dist/components/taskbar-split-button.js +6 -0
  221. package/dist/components/taskbar-split-button2.js +87 -0
  222. package/dist/components/teste-pesquisa.js +13 -1
  223. package/dist/esm/ClientSideExporterProvider-b3871edb.js +367 -0
  224. package/dist/esm/{ConfigStorage-e476378d.js → ConfigStorage-71e6766f.js} +2 -2
  225. package/dist/esm/{DataFetcher-773a3e4b.js → DataFetcher-88e56266.js} +231 -84
  226. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  227. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  228. package/dist/esm/ISave-5efafc97.js +394 -0
  229. package/dist/esm/{SnkFormConfigManager-298cd647.js → SnkFormConfigManager-be490a33.js} +75 -17
  230. package/dist/esm/{SnkMessageBuilder-571462fb.js → SnkMessageBuilder-2dbd8fa2.js} +40 -28
  231. package/dist/esm/{auth-fetcher-a411f73c.js → auth-fetcher-3510520e.js} +1 -1
  232. package/dist/esm/{constants-8457af36.js → constants-7db1128a.js} +11 -1
  233. package/dist/esm/{dataunit-fetcher-3d2ec959.js → dataunit-fetcher-0e025732.js} +227 -174
  234. package/dist/esm/{form-config-fetcher-e0382e5a.js → form-config-fetcher-fa208a6c.js} +56 -2
  235. package/dist/esm/index-a7d3d3f1.js +16 -32
  236. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  237. package/dist/esm/loader.js +1 -1
  238. package/dist/esm/pesquisa-grid_2.entry.js +150 -0
  239. package/dist/esm/sankhyablocks.js +1 -1
  240. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_8.entry.js} +263 -49
  241. package/dist/esm/snk-application.entry.js +472 -80
  242. package/dist/esm/snk-attach.entry.js +92 -51
  243. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +401 -15
  244. package/dist/esm/snk-configurator.entry.js +10 -3
  245. package/dist/esm/snk-crud.entry.js +58 -85
  246. package/dist/esm/snk-data-exporter.entry.js +38 -30
  247. package/dist/esm/{snk-data-unit-2a1d5d09.js → snk-data-unit-65c9dd1a.js} +275 -37
  248. package/dist/esm/snk-data-unit.entry.js +5 -5
  249. package/dist/esm/snk-detail-view.entry.js +71 -19
  250. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  251. package/dist/esm/snk-field-config.entry.js +1 -1
  252. package/dist/esm/snk-filter-bar_4.entry.js +1431 -0
  253. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  254. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  255. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  256. package/dist/esm/snk-filter-number.entry.js +1 -1
  257. package/dist/esm/snk-filter-search.entry.js +18 -5
  258. package/dist/esm/snk-filter-text.entry.js +2 -1
  259. package/dist/esm/snk-form-view.entry.js +19 -7
  260. package/dist/esm/snk-grid.entry.js +125 -44
  261. package/dist/esm/{snk-guides-viewer-62124f3d.js → snk-guides-viewer-72953334.js} +153 -76
  262. package/dist/esm/snk-guides-viewer.entry.js +12 -12
  263. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  264. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  265. package/dist/esm/snk-pesquisa.entry.js +116 -31
  266. package/dist/esm/snk-print-selector.entry.js +1 -1
  267. package/dist/esm/snk-simple-bar.entry.js +1 -1
  268. package/dist/esm/snk-simple-crud.entry.js +224 -187
  269. package/dist/esm/snk-tab-config.entry.js +1 -1
  270. package/dist/esm/snk-taskbar.entry.js +80 -43
  271. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-f2cb4922.js} +12 -1
  272. package/dist/esm/{field-search-efbe307f.js → taskbar-processor-3436124c.js} +6 -35
  273. package/dist/sankhyablocks/{p-3287a6cc.js → p-03b68a74.js} +1 -1
  274. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  275. package/dist/sankhyablocks/p-0fadb620.js +1 -0
  276. package/dist/sankhyablocks/{p-9dfda04a.entry.js → p-165cde3b.entry.js} +1 -1
  277. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  278. package/dist/sankhyablocks/p-1a0caadb.js +1 -0
  279. package/dist/sankhyablocks/p-1bdffb17.entry.js +11 -0
  280. package/dist/sankhyablocks/p-1f80174b.entry.js +1 -0
  281. package/dist/sankhyablocks/p-24a0dbd2.entry.js +1 -0
  282. package/dist/sankhyablocks/p-2f7e2251.entry.js +1 -0
  283. package/dist/sankhyablocks/p-3372178e.entry.js +1 -0
  284. package/dist/sankhyablocks/{p-95df461f.entry.js → p-3749dffb.entry.js} +1 -1
  285. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  286. package/dist/sankhyablocks/p-4689c2e6.js +1 -0
  287. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  288. package/dist/sankhyablocks/{p-bd008859.entry.js → p-490b75b5.entry.js} +1 -1
  289. package/dist/sankhyablocks/p-52d10014.entry.js +1 -0
  290. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  291. package/dist/sankhyablocks/p-5ffa0493.entry.js +1 -0
  292. package/dist/sankhyablocks/p-60137b7a.entry.js +1 -0
  293. package/dist/sankhyablocks/p-601b252b.js +26 -0
  294. package/dist/sankhyablocks/p-6a03b190.entry.js +1 -0
  295. package/dist/sankhyablocks/p-6dd38d7b.js +6 -0
  296. package/dist/sankhyablocks/{p-0cd3c0a9.js → p-73285a8a.js} +1 -1
  297. package/dist/sankhyablocks/p-7993b2e3.js +60 -0
  298. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  299. package/dist/sankhyablocks/p-7beeabc1.entry.js +1 -0
  300. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  301. package/dist/sankhyablocks/p-885802c3.js +1 -0
  302. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  303. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  304. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  305. package/dist/sankhyablocks/p-90684a75.entry.js +1 -0
  306. package/dist/sankhyablocks/{p-b0ef4383.js → p-9261d8a0.js} +1 -1
  307. package/dist/sankhyablocks/p-a14a09c3.entry.js +1 -0
  308. package/dist/sankhyablocks/p-a4ebeec4.entry.js +1 -0
  309. package/dist/sankhyablocks/p-b0ab5066.entry.js +1 -0
  310. package/dist/sankhyablocks/p-b6200d32.entry.js +1 -0
  311. package/dist/sankhyablocks/p-bc101064.entry.js +1 -0
  312. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-c0eb761b.entry.js} +1 -1
  313. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  314. package/dist/sankhyablocks/p-c9675d64.js +1 -0
  315. package/dist/sankhyablocks/p-ce94e6c4.entry.js +1 -0
  316. package/dist/sankhyablocks/p-d07b18a4.js +1 -0
  317. package/dist/sankhyablocks/p-ddf93f36.entry.js +1 -0
  318. package/dist/sankhyablocks/p-ebdb9d89.js +1 -0
  319. package/dist/sankhyablocks/p-fbba7e3d.js +1 -0
  320. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  321. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  322. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  323. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  324. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  325. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  326. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  327. package/dist/types/components/snk-application/search-strategy/exec-prepared-search-plus.d.ts +5 -0
  328. package/dist/types/components/snk-application/snk-application.d.ts +55 -16
  329. package/dist/types/components/snk-attach/snk-attach.d.ts +2 -0
  330. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  331. package/dist/types/components/snk-crud/snk-crud.d.ts +30 -3
  332. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +17 -0
  333. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +11 -1
  334. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +26 -7
  335. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  336. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  337. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +9 -1
  338. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  339. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  340. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  341. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  342. package/dist/types/components/snk-data-unit/MultipleUpdateHelper.d.ts +9 -0
  343. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +19 -0
  344. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +5 -3
  345. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  346. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  347. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  348. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  349. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  350. package/dist/types/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.d.ts +2 -1
  351. package/dist/types/components/snk-grid/snk-grid.d.ts +45 -5
  352. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +1 -0
  353. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
  354. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -0
  355. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  356. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  357. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  358. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +36 -1
  359. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +51 -15
  360. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  361. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +2 -1
  362. package/dist/types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.d.ts +44 -0
  363. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  364. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +17 -0
  365. package/dist/types/components.d.ts +608 -24
  366. package/dist/types/lib/@types/index.d.ts +4 -0
  367. package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
  368. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  369. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  370. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  371. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  372. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  373. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  374. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  375. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -1
  376. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  377. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  378. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  379. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  380. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +14 -2
  381. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  382. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +21 -2
  383. package/dist/types/lib/index.d.ts +1 -0
  384. package/dist/types/lib/message/SnkMessageBuilder.d.ts +2 -1
  385. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  386. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  387. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  388. package/dist/types/lib/utils/constants.d.ts +8 -0
  389. package/package.json +4 -3
  390. package/react/components.d.ts +6 -0
  391. package/react/components.js +6 -0
  392. package/react/components.js.map +1 -1
  393. package/dist/cjs/IExporterProvider-10b7fed5.js +0 -230
  394. package/dist/cjs/ISave-e91b70a7.js +0 -9
  395. package/dist/cjs/pesquisa-fetcher-a1d0353f.js +0 -166
  396. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  397. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  398. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  399. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  400. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  401. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  402. package/dist/collection/components/snk-taskbar/subcomponents/field-search.js +0 -31
  403. package/dist/components/IExporterProvider.js +0 -298
  404. package/dist/components/pesquisa-fetcher.js +0 -164
  405. package/dist/esm/IExporterProvider-d597f27d.js +0 -221
  406. package/dist/esm/ISave-d8c8bc59.js +0 -9
  407. package/dist/esm/pesquisa-fetcher-a87445a0.js +0 -164
  408. package/dist/esm/snk-config-options.entry.js +0 -235
  409. package/dist/esm/snk-filter-bar.entry.js +0 -710
  410. package/dist/esm/snk-filter-item.entry.js +0 -308
  411. package/dist/esm/snk-filter-list.entry.js +0 -148
  412. package/dist/esm/snk-filter-modal.entry.js +0 -245
  413. package/dist/esm/snk-form.entry.js +0 -139
  414. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  415. package/dist/sankhyablocks/p-091ce761.js +0 -60
  416. package/dist/sankhyablocks/p-14b8b656.entry.js +0 -1
  417. package/dist/sankhyablocks/p-181975f1.js +0 -26
  418. package/dist/sankhyablocks/p-1db45d26.entry.js +0 -1
  419. package/dist/sankhyablocks/p-1e971cb0.entry.js +0 -1
  420. package/dist/sankhyablocks/p-21749402.js +0 -1
  421. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  422. package/dist/sankhyablocks/p-25f1fc39.js +0 -6
  423. package/dist/sankhyablocks/p-2e9c764c.entry.js +0 -1
  424. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  425. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  426. package/dist/sankhyablocks/p-421bec84.entry.js +0 -1
  427. package/dist/sankhyablocks/p-42f7b05d.entry.js +0 -1
  428. package/dist/sankhyablocks/p-51999ab5.entry.js +0 -1
  429. package/dist/sankhyablocks/p-594bc21d.js +0 -1
  430. package/dist/sankhyablocks/p-5f016aed.js +0 -1
  431. package/dist/sankhyablocks/p-62f34e6f.entry.js +0 -1
  432. package/dist/sankhyablocks/p-631954eb.entry.js +0 -1
  433. package/dist/sankhyablocks/p-65f8c11c.entry.js +0 -1
  434. package/dist/sankhyablocks/p-684a2590.entry.js +0 -1
  435. package/dist/sankhyablocks/p-70001ac1.js +0 -1
  436. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  437. package/dist/sankhyablocks/p-7663f597.entry.js +0 -1
  438. package/dist/sankhyablocks/p-76a65660.js +0 -1
  439. package/dist/sankhyablocks/p-7e7a7473.js +0 -1
  440. package/dist/sankhyablocks/p-7ef9c55c.js +0 -1
  441. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  442. package/dist/sankhyablocks/p-939e15d3.entry.js +0 -1
  443. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  444. package/dist/sankhyablocks/p-9863d682.js +0 -1
  445. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  446. package/dist/sankhyablocks/p-c2495304.js +0 -1
  447. package/dist/sankhyablocks/p-c8622597.entry.js +0 -1
  448. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  449. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  450. package/dist/sankhyablocks/p-d65d98ed.entry.js +0 -1
  451. package/dist/sankhyablocks/p-d6610d11.entry.js +0 -11
  452. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  453. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  454. package/dist/sankhyablocks/p-ffa5e4ff.js +0 -1
  455. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
  456. package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +0 -4
@@ -1,11 +1,13 @@
1
1
  import { ElementIDUtils } from "@sankhyalabs/core";
2
2
  import { Host, h } from "@stencil/core";
3
3
  import { DataBinder } from "@sankhyalabs/ezui/dist/collection/utils/form";
4
+ import { focusOnFieldSerch, SEARCH_FIELD_FULL_WIDTH } from '@sankhyalabs/ezui/dist/collection/utils';
4
5
  export class SnkFormView {
5
6
  constructor() {
6
7
  this._customEditors = new Map();
7
8
  this._fieldProps = new Map();
8
9
  this.levelPath = undefined;
10
+ this.fieldSearch = undefined;
9
11
  this.label = undefined;
10
12
  this.name = undefined;
11
13
  this.fields = undefined;
@@ -38,11 +40,6 @@ export class SnkFormView {
38
40
  newCustomEditors.set(fieldName, { customEditor, detailContext });
39
41
  this._customEditors = newCustomEditors;
40
42
  }
41
- observePropsCustomEditor(newValue) {
42
- for (const fieldName in newValue) {
43
- this.addCustomEditor(fieldName, newValue[fieldName]);
44
- }
45
- }
46
43
  /**
47
44
  * Altera/adiciona uma propriedade nos metadados do campo.
48
45
  */
@@ -50,6 +47,21 @@ export class SnkFormView {
50
47
  const props = this._fieldProps.get(fieldName) || [];
51
48
  this._fieldProps.set(fieldName, [...props, { propName, value }]);
52
49
  }
50
+ /**
51
+ * Exibe a busca de campos ancorada ao container de cabeçalho do snk-form-view.
52
+ */
53
+ async showSearchField() {
54
+ if (!this._headerContainer || !this._ezPopoverFieldColumn)
55
+ return;
56
+ const container = this._headerContainer.getBoundingClientRect();
57
+ await focusOnFieldSerch(this.fieldSearch);
58
+ this._ezPopoverFieldColumn.showUnder(this._headerContainer, { horizontalGap: container.width - (SEARCH_FIELD_FULL_WIDTH), verticalGap: container.height * -1 });
59
+ }
60
+ observePropsCustomEditor(newValue) {
61
+ for (const fieldName in newValue) {
62
+ this.addCustomEditor(fieldName, newValue[fieldName]);
63
+ }
64
+ }
53
65
  async observeFieldsProps(newValue) {
54
66
  for (const field in newValue) {
55
67
  const fieldProps = newValue[field];
@@ -156,13 +168,13 @@ export class SnkFormView {
156
168
  }
157
169
  }
158
170
  render() {
159
- return (h(Host, { class: "ez-box__container" }, h("div", { class: "summary-header ez-flex ez-size-width--full" }, h("div", { class: "ez-flex ez-text ez-title--primary ez-text--bold ez-flex--justify-start ez-flex--align-items-center ez-col--sd-9" }, this.levelPath ? h("span", { class: "level-path" }, this.levelPath + " /") : undefined, this.label), h("div", { class: "ez-flex ez-flex--justify-end ez-col--sd-3" }, this.canFix &&
171
+ return (h(Host, { class: "ez-box__container" }, h("div", { class: "summary-header ez-flex ez-size-width--full", ref: ref => this._headerContainer = ref }, h("div", { class: "ez-flex ez-text ez-title--primary ez-text--bold ez-flex--justify-start ez-flex--align-items-center ez-col--sd-9" }, this.levelPath ? h("span", { class: "level-path" }, this.levelPath + " /") : undefined, this.label), h("div", { class: "ez-flex ez-flex--justify-end ez-col--sd-3" }, this.canFix &&
160
172
  h("ez-button", { class: "ez-padding-left--medium", mode: "icon", size: "small", iconName: this.fixed ? "un-pin" : "push-pin", "data-element-id": ElementIDUtils.getInternalIDInfo("toggleFixed_ezFormCard"), onClick: () => this.changeFix(), title: this.fixed ? "Desafixar" : "Fixar" }), this.canExpand &&
161
173
  h("ez-button", { class: "ez-padding-left--medium", mode: "icon", size: "small", iconName: this.contracted ? "chevron-down" : "chevron-up", "data-element-id": ElementIDUtils.getInternalIDInfo("toggleExpand_ezFormCard"), onClick: () => this.changeContracted(), title: this.contracted ? "Expandir" : "Resumir" }))), h("slot", null), this.contracted
162
174
  ?
163
175
  h("snk-form-summary", { summary: this.getCardSummary() })
164
176
  :
165
- h("ez-form-view", { ref: ref => this._formView = ref, fields: this.fields, onEzContentReady: evt => this.bindFields(evt.detail), onFormItemsReady: (event) => this.handleFormItemsReady(event) })));
177
+ h("ez-form-view", { ref: ref => this._formView = ref, fields: this.fields, onEzContentReady: evt => this.bindFields(evt.detail), onFormItemsReady: (event) => this.handleFormItemsReady(event) }), this.fieldSearch && h("ez-popover", { ref: elem => (this._ezPopoverFieldColumn = elem), overlayType: "none" }, this.fieldSearch)));
166
178
  }
167
179
  static get is() { return "snk-form-view"; }
168
180
  static get encapsulation() { return "scoped"; }
@@ -195,6 +207,25 @@ export class SnkFormView {
195
207
  "attribute": "level-path",
196
208
  "reflect": false
197
209
  },
210
+ "fieldSearch": {
211
+ "type": "unknown",
212
+ "mutable": false,
213
+ "complexType": {
214
+ "original": "HTMLEzSearchElement",
215
+ "resolved": "HTMLEzSearchElement",
216
+ "references": {
217
+ "HTMLEzSearchElement": {
218
+ "location": "global"
219
+ }
220
+ }
221
+ },
222
+ "required": false,
223
+ "optional": false,
224
+ "docs": {
225
+ "tags": [],
226
+ "text": "Campo para o buscador de campos."
227
+ }
228
+ },
198
229
  "label": {
199
230
  "type": "string",
200
231
  "mutable": false,
@@ -593,6 +624,22 @@ export class SnkFormView {
593
624
  "text": "Altera/adiciona uma propriedade nos metadados do campo.",
594
625
  "tags": []
595
626
  }
627
+ },
628
+ "showSearchField": {
629
+ "complexType": {
630
+ "signature": "() => Promise<void>",
631
+ "parameters": [],
632
+ "references": {
633
+ "Promise": {
634
+ "location": "global"
635
+ }
636
+ },
637
+ "return": "Promise<void>"
638
+ },
639
+ "docs": {
640
+ "text": "Exibe a busca de campos ancorada ao container de cabe\u00E7alho do snk-form-view.",
641
+ "tags": []
642
+ }
596
643
  }
597
644
  };
598
645
  }
@@ -2,9 +2,9 @@
2
2
  /*@doc Define o espaçamento maior utilizado no componente.*/
3
3
  --snk-guides-viewer--space-large: var(--space--large, 24px);
4
4
  /*@doc Define o espaçamento médio utilizado no componente.*/
5
- --snk-guides-viewer--space-medium: var(--space--medium, 12px);
5
+ --snk-guides-viewer--space-small: var(--space--2xs, 8px);
6
6
  /*@doc Define a altura mínima do cabeçalho do componente.*/
7
- --snk-guides-viewer__header--min-height: 94px;
7
+ --snk-guides-viewer__header--min-height: 68px;
8
8
  /*@doc Define a posição de z-index do cabeçalho do componente.*/
9
9
  --snk-guides-viewer__header--z-index: var(--more-visible, 2);
10
10
  /*@doc Define a cor de fundo do cabeçalho do componente.*/
@@ -51,10 +51,10 @@ snk-form-view {
51
51
  padding-left: var(--snk-guides-viewer--space-large);
52
52
  padding-right: var(--snk-guides-viewer--space-large);
53
53
  padding-top: var(--snk-guides-viewer--space-large);
54
- padding-bottom: var(--snk-guides-viewer--space-medium);
54
+ padding-bottom: var(--snk-guides-viewer--space-small);
55
55
  margin-left: calc(var(--snk-guides-viewer--space-large) * -1);
56
56
  margin-right: calc(var(--snk-guides-viewer--space-large) * -1);
57
- margin-bottom: var(--snk-guides-viewer--space-medium);
57
+ margin-bottom: var(--snk-guides-viewer--space-small);
58
58
  }
59
59
 
60
60
  .snk-guides-viewer__header-breadcrumb{
@@ -81,8 +81,8 @@ snk-form-view {
81
81
  position: sticky;
82
82
 
83
83
  /*public*/
84
- top: calc(var(--snk-guides-viewer__header--min-height) + var(--snk-guides-viewer--space-medium));
85
- height: calc(100vh - var(--snk-guides-viewer__header--min-height) - var(--snk-guides-viewer--space-large) - var(--snk-guides-viewer--space-medium));
84
+ top: calc(var(--snk-guides-viewer__header--min-height) + var(--snk-guides-viewer--space-small));
85
+ height: calc(100vh - var(--snk-guides-viewer__header--min-height) - var(--snk-guides-viewer--space-large) - var(--snk-guides-viewer--space-small));
86
86
  }
87
87
 
88
88
  .snk-guides-viewer__guide-navigator[open] {
@@ -1,4 +1,4 @@
1
- import { Action as DUAction, ElementIDUtils } from '@sankhyalabs/core';
1
+ import { Action as DUAction, ElementIDUtils, KeyboardManager, StringUtils, ObjectUtils } from '@sankhyalabs/core';
2
2
  import { Fragment, h } from '@stencil/core';
3
3
  import { SnkFormConfigManager } from '../../snk-form-config/SnkFormConfigManager';
4
4
  import { buildFormMetadata, FormMetadata } from '@sankhyalabs/ezui/dist/collection/utils/form';
@@ -7,7 +7,7 @@ import { TaskbarElement } from '../../snk-taskbar/elements/taskbar-elements';
7
7
  import { VIEW_MODE } from '../../../lib/utils/constants';
8
8
  import { PresentationMode } from '../../../lib';
9
9
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
10
- import { buildFieldSearch, openFieldSearch } from '../../snk-taskbar/subcomponents/field-search';
10
+ import { buildFieldSearch, LABEL_SEARCH_FIELD, SHORTCUT_SEARCH_FIELD } from '@sankhyalabs/ezui/dist/collection/utils';
11
11
  const FORM_NAME_PREFIX = "__FORM:";
12
12
  export class SnkGuidesViewer {
13
13
  constructor() {
@@ -27,6 +27,8 @@ export class SnkGuidesViewer {
27
27
  this.resourceID = undefined;
28
28
  this.detailTaskbarCustomContainerId = undefined;
29
29
  this.formLegacyConfigName = undefined;
30
+ this.enableGridInsert = false;
31
+ this.ignoreReadOnlyFormFields = undefined;
30
32
  this.getCustomTitle = undefined;
31
33
  this._hasToCreateFieldSearch = true;
32
34
  this._breadcrumbItems = [];
@@ -37,19 +39,22 @@ export class SnkGuidesViewer {
37
39
  this._customEditors = undefined;
38
40
  this._customRenders = undefined;
39
41
  this._fieldsProps = {};
42
+ this._mainForm = undefined;
40
43
  }
41
44
  observeDataUnit() {
42
45
  this.loadGuides(true);
43
46
  }
44
47
  observeDataState(newValue, oldValue) {
45
- const newRecord = newValue === null || newValue === void 0 ? void 0 : newValue.selectedRecord;
46
- const oldRecord = oldValue === null || oldValue === void 0 ? void 0 : oldValue.selectedRecord;
47
- if ((newRecord === null || newRecord === void 0 ? void 0 : newRecord.__record__id__) !== (oldRecord === null || oldRecord === void 0 ? void 0 : oldRecord.__record__id__)) {
48
+ var _a, _b, _c, _d, _e, _f;
49
+ 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__'];
50
+ 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__'];
51
+ if (!ObjectUtils.equals(newRecordsIds, oldRecordsIds)) {
48
52
  this.loadGuides((oldValue === null || oldValue === void 0 ? void 0 : oldValue.insertionMode) != (newValue === null || newValue === void 0 ? void 0 : newValue.insertionMode));
49
53
  }
50
54
  }
51
55
  observeMasterFormConfig() {
52
56
  this.loadGuides(this.noGuideSelected());
57
+ this.snkMasterFormConfigChange.emit(this.masterFormConfig);
53
58
  }
54
59
  /**
55
60
  * Abre o configurador do formulário
@@ -61,12 +66,6 @@ export class SnkGuidesViewer {
61
66
  this._formEditorConfigManager = masterConfig ? this._configManager : this._currentDetail.formConfigManager;
62
67
  this._formEditorDataUnit = masterConfig ? this.dataUnit : this._currentDetail.dataUnit;
63
68
  }
64
- /**
65
- * Abre o localizador de campos
66
- */
67
- async findField() {
68
- await openFieldSearch(this._moreOptions, this._fieldSearch);
69
- }
70
69
  /**
71
70
  * Registra um editor customizado para campos da grade e formulário
72
71
  */
@@ -96,7 +95,7 @@ export class SnkGuidesViewer {
96
95
  this._container.focus();
97
96
  }
98
97
  exitViewer() {
99
- if (this.dataUnit.isDirty()) {
98
+ if (!this.enableGridInsert && this.dataUnit.isDirty()) {
100
99
  this.dataUnit.cancelEdition({ after: () => this.exit.emit() });
101
100
  }
102
101
  else {
@@ -123,6 +122,11 @@ export class SnkGuidesViewer {
123
122
  * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-crud.msg.ts"
124
123
  */
125
124
  getMessage(key) {
125
+ var _a, _b;
126
+ if (this.dataUnit.isMultipleEdition) {
127
+ const selectedRecords = (_b = (_a = this.dataUnit.getSelectionInfo()) === null || _a === void 0 ? void 0 : _a.records) !== null && _b !== void 0 ? _b : [];
128
+ return `Editando ${selectedRecords.length} registros`;
129
+ }
126
130
  return this.messagesBuilder.getMessage(key, this.dataUnit.getSelectedRecord());
127
131
  }
128
132
  loadGuides(changeSelection) {
@@ -135,12 +139,12 @@ export class SnkGuidesViewer {
135
139
  this._masterFormMetadata = buildFormMetadata(this.masterFormConfig, this.dataUnit, true);
136
140
  const allSheets = this._masterFormMetadata.getAllSheets();
137
141
  const currentRecord = this.dataUnit.getSelectedRecord();
138
- const disableDetails = !currentRecord || this.dataUnit.isNewRecord(currentRecord.__record__id__);
142
+ const disableDetails = this.hasToDisableDetails(currentRecord);
139
143
  const guides = [];
140
144
  Array.from(allSheets.values()).forEach((sheet) => {
141
145
  const item = { id: sheet.name, label: sheet.label };
142
146
  if (this.isDetail(sheet.name) && disableDetails) {
143
- item.tooltip = "Para alterar detalhes é necessário estar com um registro selecionado.";
147
+ item.tooltip = "Para alterar detalhes é necessário estar com um (e apenas um) registro selecionado.";
144
148
  item.disabled = true;
145
149
  }
146
150
  guides.push(item);
@@ -153,6 +157,11 @@ export class SnkGuidesViewer {
153
157
  this.selectedGuide = this._guides.length > 0 ? this._guides[0] : undefined;
154
158
  }
155
159
  }
160
+ hasToDisableDetails(currentRecord) {
161
+ return !currentRecord
162
+ || this.dataUnit.isNewRecord(currentRecord.__record__id__)
163
+ || this.dataUnit.isMultipleEdition;
164
+ }
156
165
  isDetail(formId) {
157
166
  return FormMetadata.getDetailName(formId) != undefined;
158
167
  }
@@ -175,44 +184,59 @@ export class SnkGuidesViewer {
175
184
  }
176
185
  getTaskBarId() {
177
186
  var _a;
178
- return ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "snkGuideViewer.finish_edition" : "snkGuideViewer.regular";
179
- }
180
- loadTaskbarProcessor() {
181
- var _a;
182
- const taskbarId = this.getTaskBarId();
183
- const disabledButtons = [];
184
- if (!this.dataState || !this.dataState.hasPrevious) {
185
- disabledButtons.push("PREVIOUS");
187
+ if ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) {
188
+ return TASKBAR_ID.FINISH_EDITION;
186
189
  }
187
- if (!this.dataState || !this.dataState.hasNext) {
188
- disabledButtons.push("NEXT");
190
+ if (this.dataUnit.isMultipleEdition) {
191
+ return TASKBAR_ID.MUTIPLE_EDITION;
189
192
  }
190
- if ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.selectionInfo) {
191
- if (this.dataState.selectionInfo.length > 1) {
192
- disabledButtons.push("CLONE");
193
- }
194
- if (this.dataState.selectionInfo.isAllRecords()) {
195
- disabledButtons.push("REMOVE");
196
- }
193
+ return TASKBAR_ID.REGULAR;
194
+ }
195
+ loadTaskbarProcessor() {
196
+ const taskbarIDs = {};
197
+ taskbarIDs[TASKBAR_ID.REGULAR] = this.buildBtnsRegularMode();
198
+ taskbarIDs[TASKBAR_ID.FINISH_EDITION] = [TaskbarElement.CANCEL, TaskbarElement.SAVE, this.handleAddGridMode()];
199
+ taskbarIDs[TASKBAR_ID.MUTIPLE_EDITION] = [TaskbarElement.CANCEL];
200
+ this._taskbarProcessor = new TaskbarProcessor(taskbarIDs);
201
+ this._taskbarProcessor.process(this.getTaskBarId(), this.taskbarManager, this.dataState, this.buildDisabledButtons(), this.buildInvisibleButtons());
202
+ }
203
+ buildBtnsRegularMode() {
204
+ var _a, _b;
205
+ const btnsRegularMode = [
206
+ TaskbarElement.ATTACH, TaskbarElement.CLONE, TaskbarElement.REMOVE, TaskbarElement.MORE_OPTIONS,
207
+ TaskbarElement.ACTIONS_BUTTON, TaskbarElement.DIVIDER, TaskbarElement.GRID_MODE, TaskbarElement.CONFIGURATOR,
208
+ ];
209
+ if (((_b = (_a = this.dataState) === null || _a === void 0 ? void 0 : _a.selectionInfo) === null || _b === void 0 ? void 0 : _b.length) <= 1) {
210
+ btnsRegularMode.unshift(TaskbarElement.PREVIOUS, TaskbarElement.NEXT, TaskbarElement.DIVIDER);
197
211
  }
198
- const btnsRegularMode = ["PREVIOUS", "NEXT", "DIVIDER", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "ACTIONS_BUTTON", "DIVIDER", "GRID_MODE", "CONFIGURATOR"];
199
212
  if (this.presentationMode == PresentationMode.SECONDARY) {
200
- btnsRegularMode.unshift("INSERT");
213
+ btnsRegularMode.unshift(TaskbarElement.INSERT);
201
214
  }
202
215
  else {
203
- btnsRegularMode.push("INSERT");
216
+ btnsRegularMode.push(TaskbarElement.INSERT);
204
217
  }
205
- const invisibleButtons = this.getInvisibleButtons();
206
- this._taskbarProcessor = new TaskbarProcessor({
207
- "snkGuideViewer.regular": btnsRegularMode,
208
- "snkGuideViewer.finish_edition": ["CANCEL", "SAVE"],
209
- });
210
- this._taskbarProcessor.process(taskbarId, this.taskbarManager, this.dataState, disabledButtons, invisibleButtons);
218
+ return btnsRegularMode;
219
+ }
220
+ buildDisabledButtons() {
221
+ var _a, _b, _c, _d, _e, _f;
222
+ const disabledButtons = [];
223
+ if (!((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.hasPrevious))
224
+ disabledButtons.push(TaskbarElement.PREVIOUS);
225
+ if (!((_b = this.dataState) === null || _b === void 0 ? void 0 : _b.hasNext))
226
+ disabledButtons.push(TaskbarElement.NEXT);
227
+ if (((_d = (_c = this.dataState) === null || _c === void 0 ? void 0 : _c.selectionInfo) === null || _d === void 0 ? void 0 : _d.length) > 1)
228
+ disabledButtons.push(TaskbarElement.CLONE);
229
+ if ((_f = (_e = this.dataState) === null || _e === void 0 ? void 0 : _e.selectionInfo) === null || _f === void 0 ? void 0 : _f.isAllRecords())
230
+ disabledButtons.push(TaskbarElement.REMOVE);
231
+ return disabledButtons;
232
+ }
233
+ handleAddGridMode() {
234
+ return this.enableGridInsert ? TaskbarElement.GRID_MODE : "";
211
235
  }
212
- getInvisibleButtons() {
236
+ buildInvisibleButtons() {
213
237
  const invisibleButtons = [];
214
238
  if (this.dataState && this.dataState.selectionInfo.mode === SelectionMode.ALL_RECORDS)
215
- invisibleButtons.push("ACTIONS_BUTTON");
239
+ invisibleButtons.push(TaskbarElement.ACTIONS_BUTTON);
216
240
  return invisibleButtons;
217
241
  }
218
242
  static updateContentCard(formName, cardConfig, propertyChanged, configManager) {
@@ -279,14 +303,14 @@ export class SnkGuidesViewer {
279
303
  else {
280
304
  detailBranch = this.selectedGuide;
281
305
  }
282
- 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 }));
306
+ 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 }));
283
307
  }
284
308
  else {
285
309
  const cardId = this.selectedGuide.id;
286
310
  const sheet = this._masterFormMetadata.getSheet(cardId);
287
311
  if (sheet) {
288
312
  const cardConfig = (_c = (_b = this.masterFormConfig) === null || _b === void 0 ? void 0 : _b.cardsState) === null || _c === void 0 ? void 0 : _c.get(cardId);
289
- 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());
313
+ 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());
290
314
  }
291
315
  }
292
316
  return content;
@@ -361,11 +385,14 @@ export class SnkGuidesViewer {
361
385
  this._configManager.addFormLegacyConfig(this.formLegacyConfigName);
362
386
  }
363
387
  }
388
+ setMasterFormConfig(config) {
389
+ this.masterFormConfig = config;
390
+ }
364
391
  componentWillLoad() {
365
392
  if (this.resourceID == undefined) {
366
393
  throw new Error("Erro interno: resourceID não informado");
367
394
  }
368
- this._configManager = new SnkFormConfigManager(this.configName, this.resourceID, config => this.masterFormConfig = config);
395
+ this._configManager = new SnkFormConfigManager(this.configName, this.resourceID, this.setMasterFormConfig.bind(this), this.dataUnit);
369
396
  this.addFormLegacyConfigName();
370
397
  this._configManager.loadConfig();
371
398
  }
@@ -383,20 +410,18 @@ export class SnkGuidesViewer {
383
410
  }
384
411
  this._guideHasChanged = false;
385
412
  }
386
- getFieldsSearch(actionButton, item) {
413
+ getFieldsSearch(item) {
387
414
  if (this._fieldSearch == undefined || this._hasToCreateFieldSearch) {
388
415
  this._hasToCreateFieldSearch = false;
389
- this._moreOptions = actionButton;
390
- actionButton.addEventListener("taskbarActionsButtonDisconnected", () => this._hasToCreateFieldSearch = true);
391
- this._fieldSearch = buildFieldSearch(item, ({ argument }) => this.fieldsOptionLoader(argument), (option) => this.onSelectField(option, actionButton));
416
+ this._fieldSearch = buildFieldSearch(item, ({ argument }) => this.fieldsOptionLoader(argument), (option) => this.onSelectField(option));
392
417
  }
393
418
  return this._fieldSearch;
394
419
  }
395
420
  fieldsOptionLoader(argument) {
396
- return Promise.resolve(this._configManager.getFieldsList(this.dataUnit, argument)
421
+ return Promise.resolve(this._configManager.getFieldsList(argument)
397
422
  .map(field => ({ value: field.name, label: field.label })));
398
423
  }
399
- onSelectField(option, actionButton) {
424
+ onSelectField(option) {
400
425
  if (option == undefined) {
401
426
  return;
402
427
  }
@@ -405,31 +430,48 @@ export class SnkGuidesViewer {
405
430
  if (fieldGuideName !== this.selectedGuide.id) {
406
431
  this.changeGuideHandler(fieldGuideName);
407
432
  }
408
- actionButton.hideActions();
409
433
  }
410
434
  getActionsList() {
435
+ var _a;
436
+ const hardList = [];
437
+ if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
438
+ return hardList.concat((_a = this.taskbarManager.getMoreOptions(this.getTaskBarId(), this.configName, this.dataState, this.actionsList)) !== null && _a !== void 0 ? _a : []);
439
+ }
440
+ return hardList.concat(this.actionsList);
441
+ }
442
+ getSettingsListForm() {
411
443
  const hardList = [{
412
- value: "",
444
+ value: StringUtils.generateUUID(),
413
445
  label: this.getMessage("snkCrud.findColumn"),
414
446
  disableCloseOnSelect: true,
415
447
  eagerInitialize: true,
416
- itemBuilder: (actionButton, item) => this.getFieldsSearch(actionButton, item)
448
+ itemBuilder: (_, item) => this.getFieldsSearch(item)
417
449
  }];
418
- if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
419
- return hardList.concat(this.taskbarManager.getMoreOptions(this.getTaskBarId(), this.configName, this.dataState, this.actionsList));
420
- }
421
- return hardList.concat(this.actionsList);
450
+ return hardList;
422
451
  }
423
452
  buildTaskBar() {
424
453
  var _a;
425
- 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" })));
454
+ 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" })));
426
455
  }
427
456
  async dataUnitActionHandler(action) {
428
457
  var _a;
429
- if (action.type === DUAction.FIELD_INVALIDATED) {
430
- const guideName = this.getGuideName((_a = action.payload) === null || _a === void 0 ? void 0 : _a.fieldName);
431
- await this.addErrorBadgeToGuide(guideName);
432
- await this.openGuideNavigator(guideName);
458
+ switch (action.type) {
459
+ case DUAction.EDITION_CANCELED:
460
+ case DUAction.DATA_SAVED:
461
+ if (this.dataUnit.isMultipleEdition) {
462
+ this.exitViewer();
463
+ this.dataUnit.isMultipleEdition = false;
464
+ }
465
+ break;
466
+ case DUAction.FIELD_INVALIDATED:
467
+ const guideName = this.getGuideName((_a = action.payload) === null || _a === void 0 ? void 0 : _a.fieldName);
468
+ await this.addErrorBadgeToGuide(guideName);
469
+ await this.openGuideNavigator(guideName);
470
+ break;
471
+ case DUAction.METADATA_LOADED:
472
+ case DUAction.MULTIPLE_EDITION_CHANGED:
473
+ this.loadGuides(this.noGuideSelected());
474
+ break;
433
475
  }
434
476
  }
435
477
  async addErrorBadgeToGuide(guideName) {
@@ -469,20 +511,47 @@ export class SnkGuidesViewer {
469
511
  var _a, _b;
470
512
  return (_b = (_a = this.getCustomTitle) === null || _a === void 0 ? void 0 : _a.call(this)) !== null && _b !== void 0 ? _b : this.getMessage("snkCrud.title");
471
513
  }
514
+ getTitleTooltip() {
515
+ if (!this.dataUnit.isMultipleEdition)
516
+ return;
517
+ return this.buildRecordIdsArray();
518
+ }
519
+ buildRecordIdsArray() {
520
+ var _a, _b;
521
+ const selectedRecords = (_b = (_a = this.dataUnit.getSelectionInfo()) === null || _a === void 0 ? void 0 : _a.records) !== null && _b !== void 0 ? _b : [];
522
+ if (selectedRecords.length === 0) {
523
+ return "[]";
524
+ }
525
+ const labels = selectedRecords.map(record => this.messagesBuilder.getMessage("snkCrud.title", record));
526
+ return `[${labels.join(", ")}]`;
527
+ }
472
528
  componentDidLoad() {
473
529
  this.dataUnit.subscribe(this.dataUnitActionHandler.bind(this));
530
+ this.initKeyboardManager();
531
+ }
532
+ disconnectedCallback() {
533
+ var _a;
534
+ (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
535
+ }
536
+ async initKeyboardManager() {
537
+ this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
538
+ this._keyboardManager.bind(SHORTCUT_SEARCH_FIELD, async () => {
539
+ if (!this._mainForm)
540
+ return;
541
+ await this._mainForm.showSearchField();
542
+ }, { description: LABEL_SEARCH_FIELD, element: this._element });
474
543
  }
475
544
  render() {
476
545
  var _a, _b;
477
546
  if (this._formEditorConfigManager != undefined) {
478
- 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 }));
547
+ return (h("snk-form-config", { tabindex: -1, dataUnit: this._formEditorDataUnit, messagesBuilder: this.messagesBuilder, configManager: this._formEditorConfigManager, onConfigClose: () => this._formEditorConfigManager = null, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields }));
479
548
  }
480
549
  if (!this.dataUnit || !this._configManager.isLoaded) {
481
550
  return;
482
551
  }
483
552
  this.loadTaskbarProcessor();
484
553
  const showGuides = this._guides && (this._guides.length > 1);
485
- 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 &&
554
+ 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 &&
486
555
  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 ?
487
556
  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) })
488
557
  :
@@ -800,6 +869,41 @@ export class SnkGuidesViewer {
800
869
  "attribute": "form-legacy-config-name",
801
870
  "reflect": false
802
871
  },
872
+ "enableGridInsert": {
873
+ "type": "boolean",
874
+ "mutable": false,
875
+ "complexType": {
876
+ "original": "boolean",
877
+ "resolved": "boolean",
878
+ "references": {}
879
+ },
880
+ "required": false,
881
+ "optional": true,
882
+ "docs": {
883
+ "tags": [],
884
+ "text": "Ativa inser\u00E7\u00E3o de registros no modo grade."
885
+ },
886
+ "attribute": "enable-grid-insert",
887
+ "reflect": false,
888
+ "defaultValue": "false"
889
+ },
890
+ "ignoreReadOnlyFormFields": {
891
+ "type": "boolean",
892
+ "mutable": false,
893
+ "complexType": {
894
+ "original": "boolean",
895
+ "resolved": "boolean",
896
+ "references": {}
897
+ },
898
+ "required": false,
899
+ "optional": true,
900
+ "docs": {
901
+ "tags": [],
902
+ "text": "Ignora os campos \"somente leitura\" no modo de inser\u00E7\u00E3o."
903
+ },
904
+ "attribute": "ignore-read-only-form-fields",
905
+ "reflect": false
906
+ },
803
907
  "getCustomTitle": {
804
908
  "type": "unknown",
805
909
  "mutable": false,
@@ -827,11 +931,32 @@ export class SnkGuidesViewer {
827
931
  "_fieldToGetFocus": {},
828
932
  "_customEditors": {},
829
933
  "_customRenders": {},
830
- "_fieldsProps": {}
934
+ "_fieldsProps": {},
935
+ "_mainForm": {}
831
936
  };
832
937
  }
833
938
  static get events() {
834
939
  return [{
940
+ "method": "snkMasterFormConfigChange",
941
+ "name": "snkMasterFormConfigChange",
942
+ "bubbles": true,
943
+ "cancelable": true,
944
+ "composed": true,
945
+ "docs": {
946
+ "tags": [],
947
+ "text": "Emitido quando a configura\u00E7\u00E3o do formul\u00E1rio master \u00E9 definida."
948
+ },
949
+ "complexType": {
950
+ "original": "IFormConfig",
951
+ "resolved": "IFormConfig",
952
+ "references": {
953
+ "IFormConfig": {
954
+ "location": "import",
955
+ "path": "@sankhyalabs/ezui/dist/types/utils/form/interfaces"
956
+ }
957
+ }
958
+ }
959
+ }, {
835
960
  "method": "exit",
836
961
  "name": "exit",
837
962
  "bubbles": true,
@@ -912,22 +1037,6 @@ export class SnkGuidesViewer {
912
1037
  }]
913
1038
  }
914
1039
  },
915
- "findField": {
916
- "complexType": {
917
- "signature": "() => Promise<void>",
918
- "parameters": [],
919
- "references": {
920
- "Promise": {
921
- "location": "global"
922
- }
923
- },
924
- "return": "Promise<void>"
925
- },
926
- "docs": {
927
- "text": "Abre o localizador de campos",
928
- "tags": []
929
- }
930
- },
931
1040
  "addCustomEditor": {
932
1041
  "complexType": {
933
1042
  "signature": "(fieldName: string, customEditor: ICustomEditor) => Promise<void>",
@@ -1023,6 +1132,7 @@ export class SnkGuidesViewer {
1023
1132
  }
1024
1133
  };
1025
1134
  }
1135
+ static get elementRef() { return "_element"; }
1026
1136
  static get watchers() {
1027
1137
  return [{
1028
1138
  "propName": "dataUnit",
@@ -1051,3 +1161,9 @@ export class SnkGuidesViewer {
1051
1161
  }];
1052
1162
  }
1053
1163
  }
1164
+ var TASKBAR_ID;
1165
+ (function (TASKBAR_ID) {
1166
+ TASKBAR_ID["FINISH_EDITION"] = "snkGuideViewer.finish_edition";
1167
+ TASKBAR_ID["MUTIPLE_EDITION"] = "snkGuideViewer.multiple_edition";
1168
+ TASKBAR_ID["REGULAR"] = "snkGuideViewer.regular";
1169
+ })(TASKBAR_ID || (TASKBAR_ID = {}));
@@ -4,7 +4,7 @@ export const OptionsStep = ({ getMessage, changeInfo, data }) => {
4
4
  const selectionCount = (data === null || data === void 0 ? void 0 : data.selectedRows) || 0;
5
5
  const formatOptions = [
6
6
  { label: getMessage("snkExporter.emailSenderOptStep_formatPDF"), value: "pdf" },
7
- { label: getMessage("snkExporter.emailSenderOptStep_formatXLSX"), value: "xlsx" }
7
+ { label: getMessage("snkExporter.emailSenderOptStep_formatXLS"), value: "xls" }
8
8
  ];
9
9
  const typeOptions = [
10
10
  { label: getMessage("snkExporter.emailSenderOptStep_allData"), value: "all" },