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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/dist/cjs/ClientSideExporterProvider-a2753c93.js +378 -0
  2. package/dist/cjs/{ConfigStorage-e49214c6.js → ConfigStorage-df09fb78.js} +2 -2
  3. package/dist/cjs/{DataFetcher-77729a93.js → DataFetcher-1afdb18e.js} +231 -84
  4. package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
  5. package/dist/cjs/IFetchDataExporterParams-e78ec415.js +8 -0
  6. package/dist/cjs/ISave-c76e2c51.js +397 -0
  7. package/dist/cjs/{SnkFormConfigManager-beebf47a.js → SnkFormConfigManager-45a8d7b7.js} +75 -17
  8. package/dist/cjs/{SnkMessageBuilder-897ffd08.js → SnkMessageBuilder-aecd7c18.js} +37 -26
  9. package/dist/cjs/{auth-fetcher-29bb791c.js → auth-fetcher-1687ac0a.js} +1 -1
  10. package/dist/cjs/{constants-35ddd366.js → constants-77c1b8bd.js} +10 -0
  11. package/dist/cjs/{dataunit-fetcher-d4873076.js → dataunit-fetcher-a723f0dc.js} +225 -175
  12. package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
  13. package/dist/cjs/{form-config-fetcher-feb08214.js → form-config-fetcher-40d3f752.js} +56 -2
  14. package/dist/cjs/{index-1dfc7a6e.js → index-e3e39724.js} +5 -0
  15. package/dist/cjs/index-f9e81701.js +16 -32
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +155 -0
  18. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  19. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_7.cjs.entry.js} +203 -46
  20. package/dist/cjs/snk-application.cjs.entry.js +471 -79
  21. package/dist/cjs/snk-attach.cjs.entry.js +91 -50
  22. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +401 -13
  23. package/dist/cjs/snk-configurator.cjs.entry.js +10 -3
  24. package/dist/cjs/snk-crud.cjs.entry.js +57 -60
  25. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -30
  26. package/dist/cjs/{snk-data-unit-ece44c4a.js → snk-data-unit-ebfdb9ba.js} +275 -37
  27. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  28. package/dist/cjs/snk-detail-view.cjs.entry.js +17 -17
  29. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  30. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  31. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1438 -0
  32. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  34. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  35. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  36. package/dist/cjs/snk-filter-search.cjs.entry.js +18 -5
  37. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  38. package/dist/cjs/snk-grid.cjs.entry.js +115 -33
  39. package/dist/cjs/{snk-guides-viewer-aafc3073.js → snk-guides-viewer-fd39f437.js} +120 -55
  40. package/dist/cjs/snk-guides-viewer.cjs.entry.js +11 -12
  41. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  42. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  43. package/dist/cjs/snk-pesquisa.cjs.entry.js +116 -31
  44. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  45. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  46. package/dist/cjs/snk-simple-crud.cjs.entry.js +179 -130
  47. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  48. package/dist/cjs/snk-taskbar.cjs.entry.js +73 -40
  49. package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-02379452.js} +4 -1
  50. package/dist/collection/collection-manifest.json +16 -31
  51. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  52. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  53. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  54. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +5 -2
  55. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  56. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  57. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  58. package/dist/collection/components/snk-application/search-strategy/exec-prepared-search-plus.js +107 -0
  59. package/dist/collection/components/snk-application/snk-application.css +36 -0
  60. package/dist/collection/components/snk-application/snk-application.js +450 -72
  61. package/dist/collection/components/snk-attach/snk-attach.js +51 -16
  62. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  63. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +19 -18
  64. package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
  65. package/dist/collection/components/snk-configurator/snk-configurator.js +26 -1
  66. package/dist/collection/components/snk-crud/snk-crud.js +181 -52
  67. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +10 -1
  68. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +27 -3
  69. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  70. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +165 -45
  71. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  72. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +8 -8
  73. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  74. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +41 -10
  75. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +18 -6
  76. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  77. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +10 -9
  78. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  79. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  80. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  81. package/dist/collection/components/snk-data-unit/MultipleUpdateHelper.js +128 -0
  82. package/dist/collection/components/snk-data-unit/snk-data-unit.js +156 -37
  83. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
  84. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  85. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  86. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
  87. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +18 -5
  88. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  89. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  90. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  91. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  92. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +10 -4
  93. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  94. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  95. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -6
  96. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
  97. package/dist/collection/components/snk-form/snk-form.js +2 -2
  98. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
  99. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  100. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  101. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.js +5 -3
  102. package/dist/collection/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.js +2 -2
  103. package/dist/collection/components/snk-grid/snk-grid.css +8 -0
  104. package/dist/collection/components/snk-grid/snk-grid.js +236 -18
  105. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  106. package/dist/collection/components/snk-grid-config/snk-grid-config.js +2 -0
  107. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +3 -0
  108. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +73 -0
  109. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +78 -0
  110. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +57 -0
  111. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  112. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  113. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  114. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  115. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  116. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  117. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +181 -32
  118. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  119. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  120. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  121. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +280 -51
  122. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  123. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  124. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +13 -0
  125. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +1 -1
  126. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +3 -0
  127. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  128. package/dist/collection/components/snk-taskbar/snk-taskbar.js +113 -39
  129. package/dist/collection/lib/@types/index.js +5 -0
  130. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +11 -5
  131. package/dist/collection/lib/configs/LayoutFormConfig.js +25 -0
  132. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -103
  133. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -32
  134. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +44 -29
  135. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  136. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  137. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  138. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +5 -2
  139. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  140. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +23 -14
  141. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  142. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +59 -5
  143. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  144. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +133 -9
  145. package/dist/collection/lib/index.js +1 -0
  146. package/dist/collection/lib/message/SnkMessageBuilder.js +1 -0
  147. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +28 -23
  148. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  149. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  150. package/dist/collection/lib/message/resources/snk-taskbar.msg.js +1 -0
  151. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  152. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  153. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  154. package/dist/collection/lib/utils/constants.js +10 -0
  155. package/dist/collection/sw.js +46 -0
  156. package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +186 -37
  157. package/dist/components/DataFetcher.js +231 -84
  158. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  159. package/dist/components/ISave.js +391 -1
  160. package/dist/components/SnkFormConfigManager.js +73 -15
  161. package/dist/components/SnkMessageBuilder.js +37 -26
  162. package/dist/components/constants.js +11 -1
  163. package/dist/components/dataunit-fetcher.js +243 -190
  164. package/dist/components/form-config-fetcher.js +55 -1
  165. package/dist/components/index.d.ts +5 -0
  166. package/dist/components/index.js +5 -0
  167. package/dist/components/pesquisa-grid.d.ts +11 -0
  168. package/dist/components/pesquisa-grid.js +6 -0
  169. package/dist/components/pesquisa-grid2.js +102 -0
  170. package/dist/components/pesquisa-tree.d.ts +11 -0
  171. package/dist/components/pesquisa-tree.js +6 -0
  172. package/dist/components/pesquisa-tree2.js +91 -0
  173. package/dist/components/snk-actions-button2.js +44 -40
  174. package/dist/components/snk-application2.js +494 -77
  175. package/dist/components/snk-attach2.js +103 -68
  176. package/dist/components/snk-config-options2.js +6 -4
  177. package/dist/components/snk-configurator2.js +23 -3
  178. package/dist/components/snk-crud.js +135 -113
  179. package/dist/components/snk-data-exporter2.js +37 -23
  180. package/dist/components/snk-data-unit2.js +275 -74
  181. package/dist/components/snk-detail-view2.js +230 -148
  182. package/dist/components/snk-exporter-email-sender2.js +1 -1
  183. package/dist/components/snk-filter-bar2.js +68 -34
  184. package/dist/components/snk-filter-binary-select.js +1 -1
  185. package/dist/components/snk-filter-checkbox-list.js +1 -1
  186. package/dist/components/snk-filter-item2.js +10 -4
  187. package/dist/components/snk-filter-modal.js +4 -2
  188. package/dist/components/snk-filter-number.js +1 -1
  189. package/dist/components/snk-filter-search.js +18 -5
  190. package/dist/components/snk-filter-text.js +2 -1
  191. package/dist/components/snk-form-config2.js +35 -10
  192. package/dist/components/snk-form.js +2 -2
  193. package/dist/components/snk-grid-config2.js +3 -1
  194. package/dist/components/snk-grid2.js +112 -23
  195. package/dist/components/snk-layout-form-config.d.ts +11 -0
  196. package/dist/components/snk-layout-form-config.js +6 -0
  197. package/dist/components/snk-layout-form-config2.js +73 -0
  198. package/dist/components/snk-personalized-filter-editor.js +4 -4
  199. package/dist/components/snk-pesquisa2.js +132 -33
  200. package/dist/components/snk-print-selector.js +1 -1
  201. package/dist/components/snk-simple-bar2.js +1 -1
  202. package/dist/components/snk-simple-crud2.js +176 -128
  203. package/dist/components/snk-simple-form-config.d.ts +11 -0
  204. package/dist/components/snk-simple-form-config.js +6 -0
  205. package/dist/components/snk-simple-form-config2.js +121 -0
  206. package/dist/components/snk-tab-config2.js +1 -1
  207. package/dist/components/snk-taskbar2.js +76 -40
  208. package/dist/components/snk-view-representation.d.ts +11 -0
  209. package/dist/components/snk-view-representation.js +6 -0
  210. package/dist/components/snk-view-representation2.js +41 -0
  211. package/dist/components/taskbar-actions-button2.js +2 -2
  212. package/dist/components/teste-pesquisa.js +13 -1
  213. package/dist/esm/ClientSideExporterProvider-b3871edb.js +367 -0
  214. package/dist/esm/{ConfigStorage-e476378d.js → ConfigStorage-71e6766f.js} +2 -2
  215. package/dist/esm/{DataFetcher-773a3e4b.js → DataFetcher-88e56266.js} +231 -84
  216. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  217. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  218. package/dist/esm/ISave-5efafc97.js +394 -0
  219. package/dist/esm/{SnkFormConfigManager-298cd647.js → SnkFormConfigManager-be490a33.js} +75 -17
  220. package/dist/esm/{SnkMessageBuilder-571462fb.js → SnkMessageBuilder-12f5fe1a.js} +37 -26
  221. package/dist/esm/{auth-fetcher-a411f73c.js → auth-fetcher-3510520e.js} +1 -1
  222. package/dist/esm/{constants-8457af36.js → constants-7db1128a.js} +11 -1
  223. package/dist/esm/{dataunit-fetcher-3d2ec959.js → dataunit-fetcher-0e025732.js} +227 -174
  224. package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
  225. package/dist/esm/{form-config-fetcher-e0382e5a.js → form-config-fetcher-fa208a6c.js} +56 -2
  226. package/dist/esm/index-a7d3d3f1.js +16 -32
  227. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  228. package/dist/esm/loader.js +1 -1
  229. package/dist/esm/pesquisa-grid_2.entry.js +150 -0
  230. package/dist/esm/sankhyablocks.js +1 -1
  231. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_7.entry.js} +203 -49
  232. package/dist/esm/snk-application.entry.js +472 -80
  233. package/dist/esm/snk-attach.entry.js +92 -51
  234. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +401 -15
  235. package/dist/esm/snk-configurator.entry.js +10 -3
  236. package/dist/esm/snk-crud.entry.js +58 -61
  237. package/dist/esm/snk-data-exporter.entry.js +38 -30
  238. package/dist/esm/{snk-data-unit-2a1d5d09.js → snk-data-unit-03654813.js} +275 -37
  239. package/dist/esm/snk-data-unit.entry.js +5 -5
  240. package/dist/esm/snk-detail-view.entry.js +17 -17
  241. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  242. package/dist/esm/snk-field-config.entry.js +1 -1
  243. package/dist/esm/snk-filter-bar_4.entry.js +1431 -0
  244. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  245. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  246. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  247. package/dist/esm/snk-filter-number.entry.js +1 -1
  248. package/dist/esm/snk-filter-search.entry.js +18 -5
  249. package/dist/esm/snk-filter-text.entry.js +2 -1
  250. package/dist/esm/snk-grid.entry.js +110 -28
  251. package/dist/esm/{snk-guides-viewer-62124f3d.js → snk-guides-viewer-75e06feb.js} +121 -56
  252. package/dist/esm/snk-guides-viewer.entry.js +11 -12
  253. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  254. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  255. package/dist/esm/snk-pesquisa.entry.js +116 -31
  256. package/dist/esm/snk-print-selector.entry.js +1 -1
  257. package/dist/esm/snk-simple-bar.entry.js +1 -1
  258. package/dist/esm/snk-simple-crud.entry.js +165 -116
  259. package/dist/esm/snk-tab-config.entry.js +1 -1
  260. package/dist/esm/snk-taskbar.entry.js +74 -41
  261. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-c62b6c66.js} +4 -1
  262. package/dist/sankhyablocks/{p-3287a6cc.js → p-03b68a74.js} +1 -1
  263. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  264. package/dist/sankhyablocks/{p-9dfda04a.entry.js → p-165cde3b.entry.js} +1 -1
  265. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  266. package/dist/sankhyablocks/p-1a51dfde.entry.js +1 -0
  267. package/dist/sankhyablocks/p-23736d75.js +1 -0
  268. package/dist/sankhyablocks/p-271c86d3.entry.js +1 -0
  269. package/dist/sankhyablocks/p-2c08fa3e.entry.js +11 -0
  270. package/dist/sankhyablocks/p-2d6df7e7.entry.js +1 -0
  271. package/dist/sankhyablocks/{p-95df461f.entry.js → p-3749dffb.entry.js} +1 -1
  272. package/dist/sankhyablocks/p-41da5310.js +1 -0
  273. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  274. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  275. package/dist/sankhyablocks/{p-bd008859.entry.js → p-490b75b5.entry.js} +1 -1
  276. package/dist/sankhyablocks/p-4a93daef.entry.js +1 -0
  277. package/dist/sankhyablocks/p-4e861843.entry.js +1 -0
  278. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  279. package/dist/sankhyablocks/p-5ffa0493.entry.js +1 -0
  280. package/dist/sankhyablocks/p-60137b7a.entry.js +1 -0
  281. package/dist/sankhyablocks/p-601b252b.js +26 -0
  282. package/dist/sankhyablocks/p-65be98c5.entry.js +1 -0
  283. package/dist/sankhyablocks/p-6a0c8ce0.entry.js +1 -0
  284. package/dist/sankhyablocks/p-6dd38d7b.js +6 -0
  285. package/dist/sankhyablocks/{p-0cd3c0a9.js → p-73285a8a.js} +1 -1
  286. package/dist/sankhyablocks/p-7993b2e3.js +60 -0
  287. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  288. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  289. package/dist/sankhyablocks/p-80f8c22c.js +1 -0
  290. package/dist/sankhyablocks/p-885802c3.js +1 -0
  291. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  292. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  293. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  294. package/dist/sankhyablocks/p-90684a75.entry.js +1 -0
  295. package/dist/sankhyablocks/{p-b0ef4383.js → p-9261d8a0.js} +1 -1
  296. package/dist/sankhyablocks/p-a14a09c3.entry.js +1 -0
  297. package/dist/sankhyablocks/p-ad07f0c5.entry.js +1 -0
  298. package/dist/sankhyablocks/p-b0ab5066.entry.js +1 -0
  299. package/dist/sankhyablocks/p-b6200d32.entry.js +1 -0
  300. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-c0eb761b.entry.js} +1 -1
  301. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  302. package/dist/sankhyablocks/p-cc8c3bca.entry.js +1 -0
  303. package/dist/sankhyablocks/p-cf1f25ed.entry.js +1 -0
  304. package/dist/sankhyablocks/p-ebdb9d89.js +1 -0
  305. package/dist/sankhyablocks/p-f4d5bb7f.js +1 -0
  306. package/dist/sankhyablocks/p-fb0f0087.js +1 -0
  307. package/dist/sankhyablocks/p-fbba7e3d.js +1 -0
  308. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  309. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  310. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  311. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  312. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  313. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  314. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  315. package/dist/types/components/snk-application/search-strategy/exec-prepared-search-plus.d.ts +5 -0
  316. package/dist/types/components/snk-application/snk-application.d.ts +55 -16
  317. package/dist/types/components/snk-attach/snk-attach.d.ts +2 -0
  318. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  319. package/dist/types/components/snk-crud/snk-crud.d.ts +30 -0
  320. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +5 -0
  321. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +20 -1
  322. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  323. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  324. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +9 -1
  325. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  326. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  327. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  328. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  329. package/dist/types/components/snk-data-unit/MultipleUpdateHelper.d.ts +9 -0
  330. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +19 -0
  331. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +5 -3
  332. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  333. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  334. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  335. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  336. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  337. package/dist/types/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.d.ts +2 -1
  338. package/dist/types/components/snk-grid/snk-grid.d.ts +38 -0
  339. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +1 -0
  340. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
  341. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -0
  342. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  343. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  344. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  345. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +36 -1
  346. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +41 -5
  347. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  348. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +2 -1
  349. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  350. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +12 -0
  351. package/dist/types/components.d.ts +501 -16
  352. package/dist/types/lib/@types/index.d.ts +4 -0
  353. package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
  354. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  355. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  356. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  357. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  358. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  359. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  360. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  361. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -1
  362. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  363. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  364. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  365. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  366. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +14 -2
  367. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  368. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +21 -2
  369. package/dist/types/lib/index.d.ts +1 -0
  370. package/dist/types/lib/message/SnkMessageBuilder.d.ts +2 -1
  371. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  372. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  373. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  374. package/dist/types/lib/utils/constants.d.ts +8 -0
  375. package/package.json +4 -3
  376. package/react/components.d.ts +5 -0
  377. package/react/components.js +5 -0
  378. package/react/components.js.map +1 -1
  379. package/dist/cjs/IExporterProvider-10b7fed5.js +0 -230
  380. package/dist/cjs/ISave-e91b70a7.js +0 -9
  381. package/dist/cjs/pesquisa-fetcher-a1d0353f.js +0 -166
  382. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  383. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  384. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  385. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  386. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  387. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  388. package/dist/components/pesquisa-fetcher.js +0 -164
  389. package/dist/esm/IExporterProvider-d597f27d.js +0 -221
  390. package/dist/esm/ISave-d8c8bc59.js +0 -9
  391. package/dist/esm/pesquisa-fetcher-a87445a0.js +0 -164
  392. package/dist/esm/snk-config-options.entry.js +0 -235
  393. package/dist/esm/snk-filter-bar.entry.js +0 -710
  394. package/dist/esm/snk-filter-item.entry.js +0 -308
  395. package/dist/esm/snk-filter-list.entry.js +0 -148
  396. package/dist/esm/snk-filter-modal.entry.js +0 -245
  397. package/dist/esm/snk-form.entry.js +0 -139
  398. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  399. package/dist/sankhyablocks/p-091ce761.js +0 -60
  400. package/dist/sankhyablocks/p-14b8b656.entry.js +0 -1
  401. package/dist/sankhyablocks/p-181975f1.js +0 -26
  402. package/dist/sankhyablocks/p-1e971cb0.entry.js +0 -1
  403. package/dist/sankhyablocks/p-21749402.js +0 -1
  404. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  405. package/dist/sankhyablocks/p-25f1fc39.js +0 -6
  406. package/dist/sankhyablocks/p-2e9c764c.entry.js +0 -1
  407. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  408. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  409. package/dist/sankhyablocks/p-421bec84.entry.js +0 -1
  410. package/dist/sankhyablocks/p-42f7b05d.entry.js +0 -1
  411. package/dist/sankhyablocks/p-51999ab5.entry.js +0 -1
  412. package/dist/sankhyablocks/p-594bc21d.js +0 -1
  413. package/dist/sankhyablocks/p-5f016aed.js +0 -1
  414. package/dist/sankhyablocks/p-62f34e6f.entry.js +0 -1
  415. package/dist/sankhyablocks/p-631954eb.entry.js +0 -1
  416. package/dist/sankhyablocks/p-65f8c11c.entry.js +0 -1
  417. package/dist/sankhyablocks/p-684a2590.entry.js +0 -1
  418. package/dist/sankhyablocks/p-70001ac1.js +0 -1
  419. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  420. package/dist/sankhyablocks/p-7663f597.entry.js +0 -1
  421. package/dist/sankhyablocks/p-76a65660.js +0 -1
  422. package/dist/sankhyablocks/p-7e7a7473.js +0 -1
  423. package/dist/sankhyablocks/p-7ef9c55c.js +0 -1
  424. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  425. package/dist/sankhyablocks/p-939e15d3.entry.js +0 -1
  426. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  427. package/dist/sankhyablocks/p-9863d682.js +0 -1
  428. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  429. package/dist/sankhyablocks/p-c2495304.js +0 -1
  430. package/dist/sankhyablocks/p-c8622597.entry.js +0 -1
  431. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  432. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  433. package/dist/sankhyablocks/p-d65d98ed.entry.js +0 -1
  434. package/dist/sankhyablocks/p-d6610d11.entry.js +0 -11
  435. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  436. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  437. package/dist/sankhyablocks/p-ffa5e4ff.js +0 -1
  438. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
@@ -1,4 +1,4 @@
1
- import { Action as DUAction, ElementIDUtils } from '@sankhyalabs/core';
1
+ import { Action as DUAction, ElementIDUtils, 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';
@@ -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 = [];
@@ -42,14 +44,16 @@ export class SnkGuidesViewer {
42
44
  this.loadGuides(true);
43
45
  }
44
46
  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__)) {
47
+ var _a, _b, _c, _d, _e, _f;
48
+ 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__'];
49
+ 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__'];
50
+ if (!ObjectUtils.equals(newRecordsIds, oldRecordsIds)) {
48
51
  this.loadGuides((oldValue === null || oldValue === void 0 ? void 0 : oldValue.insertionMode) != (newValue === null || newValue === void 0 ? void 0 : newValue.insertionMode));
49
52
  }
50
53
  }
51
54
  observeMasterFormConfig() {
52
55
  this.loadGuides(this.noGuideSelected());
56
+ this.snkMasterFormConfigChange.emit(this.masterFormConfig);
53
57
  }
54
58
  /**
55
59
  * Abre o configurador do formulário
@@ -96,7 +100,7 @@ export class SnkGuidesViewer {
96
100
  this._container.focus();
97
101
  }
98
102
  exitViewer() {
99
- if (this.dataUnit.isDirty()) {
103
+ if (!this.enableGridInsert && this.dataUnit.isDirty()) {
100
104
  this.dataUnit.cancelEdition({ after: () => this.exit.emit() });
101
105
  }
102
106
  else {
@@ -123,6 +127,11 @@ export class SnkGuidesViewer {
123
127
  * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-crud.msg.ts"
124
128
  */
125
129
  getMessage(key) {
130
+ var _a, _b;
131
+ if (this.dataUnit.isMultipleEdition) {
132
+ const selectedRecords = (_b = (_a = this.dataUnit.getSelectionInfo()) === null || _a === void 0 ? void 0 : _a.records) !== null && _b !== void 0 ? _b : [];
133
+ return `Editando ${selectedRecords.length} registros`;
134
+ }
126
135
  return this.messagesBuilder.getMessage(key, this.dataUnit.getSelectedRecord());
127
136
  }
128
137
  loadGuides(changeSelection) {
@@ -135,12 +144,12 @@ export class SnkGuidesViewer {
135
144
  this._masterFormMetadata = buildFormMetadata(this.masterFormConfig, this.dataUnit, true);
136
145
  const allSheets = this._masterFormMetadata.getAllSheets();
137
146
  const currentRecord = this.dataUnit.getSelectedRecord();
138
- const disableDetails = !currentRecord || this.dataUnit.isNewRecord(currentRecord.__record__id__);
147
+ const disableDetails = this.hasToDisableDetails(currentRecord);
139
148
  const guides = [];
140
149
  Array.from(allSheets.values()).forEach((sheet) => {
141
150
  const item = { id: sheet.name, label: sheet.label };
142
151
  if (this.isDetail(sheet.name) && disableDetails) {
143
- item.tooltip = "Para alterar detalhes é necessário estar com um registro selecionado.";
152
+ item.tooltip = "Para alterar detalhes é necessário estar com um (e apenas um) registro selecionado.";
144
153
  item.disabled = true;
145
154
  }
146
155
  guides.push(item);
@@ -153,6 +162,11 @@ export class SnkGuidesViewer {
153
162
  this.selectedGuide = this._guides.length > 0 ? this._guides[0] : undefined;
154
163
  }
155
164
  }
165
+ hasToDisableDetails(currentRecord) {
166
+ return !currentRecord
167
+ || this.dataUnit.isNewRecord(currentRecord.__record__id__)
168
+ || this.dataUnit.isMultipleEdition;
169
+ }
156
170
  isDetail(formId) {
157
171
  return FormMetadata.getDetailName(formId) != undefined;
158
172
  }
@@ -175,44 +189,59 @@ export class SnkGuidesViewer {
175
189
  }
176
190
  getTaskBarId() {
177
191
  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");
192
+ if ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) {
193
+ return TASKBAR_ID.FINISH_EDITION;
186
194
  }
187
- if (!this.dataState || !this.dataState.hasNext) {
188
- disabledButtons.push("NEXT");
195
+ if (this.dataUnit.isMultipleEdition) {
196
+ return TASKBAR_ID.MUTIPLE_EDITION;
189
197
  }
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
- }
198
+ return TASKBAR_ID.REGULAR;
199
+ }
200
+ loadTaskbarProcessor() {
201
+ const taskbarIDs = {};
202
+ taskbarIDs[TASKBAR_ID.REGULAR] = this.buildBtnsRegularMode();
203
+ taskbarIDs[TASKBAR_ID.FINISH_EDITION] = [TaskbarElement.CANCEL, TaskbarElement.SAVE, this.handleAddGridMode()];
204
+ taskbarIDs[TASKBAR_ID.MUTIPLE_EDITION] = [TaskbarElement.CANCEL];
205
+ this._taskbarProcessor = new TaskbarProcessor(taskbarIDs);
206
+ this._taskbarProcessor.process(this.getTaskBarId(), this.taskbarManager, this.dataState, this.buildDisabledButtons(), this.buildInvisibleButtons());
207
+ }
208
+ buildBtnsRegularMode() {
209
+ var _a, _b;
210
+ const btnsRegularMode = [
211
+ TaskbarElement.ATTACH, TaskbarElement.CLONE, TaskbarElement.REMOVE, TaskbarElement.MORE_OPTIONS,
212
+ TaskbarElement.ACTIONS_BUTTON, TaskbarElement.DIVIDER, TaskbarElement.GRID_MODE, TaskbarElement.CONFIGURATOR,
213
+ ];
214
+ if (((_b = (_a = this.dataState) === null || _a === void 0 ? void 0 : _a.selectionInfo) === null || _b === void 0 ? void 0 : _b.length) <= 1) {
215
+ btnsRegularMode.unshift(TaskbarElement.PREVIOUS, TaskbarElement.NEXT, TaskbarElement.DIVIDER);
197
216
  }
198
- const btnsRegularMode = ["PREVIOUS", "NEXT", "DIVIDER", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "ACTIONS_BUTTON", "DIVIDER", "GRID_MODE", "CONFIGURATOR"];
199
217
  if (this.presentationMode == PresentationMode.SECONDARY) {
200
- btnsRegularMode.unshift("INSERT");
218
+ btnsRegularMode.unshift(TaskbarElement.INSERT);
201
219
  }
202
220
  else {
203
- btnsRegularMode.push("INSERT");
221
+ btnsRegularMode.push(TaskbarElement.INSERT);
204
222
  }
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);
223
+ return btnsRegularMode;
224
+ }
225
+ buildDisabledButtons() {
226
+ var _a, _b, _c, _d, _e, _f;
227
+ const disabledButtons = [];
228
+ if (!((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.hasPrevious))
229
+ disabledButtons.push(TaskbarElement.PREVIOUS);
230
+ if (!((_b = this.dataState) === null || _b === void 0 ? void 0 : _b.hasNext))
231
+ disabledButtons.push(TaskbarElement.NEXT);
232
+ if (((_d = (_c = this.dataState) === null || _c === void 0 ? void 0 : _c.selectionInfo) === null || _d === void 0 ? void 0 : _d.length) > 1)
233
+ disabledButtons.push(TaskbarElement.CLONE);
234
+ if ((_f = (_e = this.dataState) === null || _e === void 0 ? void 0 : _e.selectionInfo) === null || _f === void 0 ? void 0 : _f.isAllRecords())
235
+ disabledButtons.push(TaskbarElement.REMOVE);
236
+ return disabledButtons;
237
+ }
238
+ handleAddGridMode() {
239
+ return this.enableGridInsert ? TaskbarElement.GRID_MODE : "";
211
240
  }
212
- getInvisibleButtons() {
241
+ buildInvisibleButtons() {
213
242
  const invisibleButtons = [];
214
243
  if (this.dataState && this.dataState.selectionInfo.mode === SelectionMode.ALL_RECORDS)
215
- invisibleButtons.push("ACTIONS_BUTTON");
244
+ invisibleButtons.push(TaskbarElement.ACTIONS_BUTTON);
216
245
  return invisibleButtons;
217
246
  }
218
247
  static updateContentCard(formName, cardConfig, propertyChanged, configManager) {
@@ -279,7 +308,7 @@ export class SnkGuidesViewer {
279
308
  else {
280
309
  detailBranch = this.selectedGuide;
281
310
  }
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 }));
311
+ 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
312
  }
284
313
  else {
285
314
  const cardId = this.selectedGuide.id;
@@ -361,11 +390,14 @@ export class SnkGuidesViewer {
361
390
  this._configManager.addFormLegacyConfig(this.formLegacyConfigName);
362
391
  }
363
392
  }
393
+ setMasterFormConfig(config) {
394
+ this.masterFormConfig = config;
395
+ }
364
396
  componentWillLoad() {
365
397
  if (this.resourceID == undefined) {
366
398
  throw new Error("Erro interno: resourceID não informado");
367
399
  }
368
- this._configManager = new SnkFormConfigManager(this.configName, this.resourceID, config => this.masterFormConfig = config);
400
+ this._configManager = new SnkFormConfigManager(this.configName, this.resourceID, this.setMasterFormConfig.bind(this), this.dataUnit);
369
401
  this.addFormLegacyConfigName();
370
402
  this._configManager.loadConfig();
371
403
  }
@@ -393,7 +425,7 @@ export class SnkGuidesViewer {
393
425
  return this._fieldSearch;
394
426
  }
395
427
  fieldsOptionLoader(argument) {
396
- return Promise.resolve(this._configManager.getFieldsList(this.dataUnit, argument)
428
+ return Promise.resolve(this._configManager.getFieldsList(argument)
397
429
  .map(field => ({ value: field.name, label: field.label })));
398
430
  }
399
431
  onSelectField(option, actionButton) {
@@ -422,14 +454,27 @@ export class SnkGuidesViewer {
422
454
  }
423
455
  buildTaskBar() {
424
456
  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" })));
457
+ 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) ? 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
458
  }
427
459
  async dataUnitActionHandler(action) {
428
460
  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);
461
+ switch (action.type) {
462
+ case DUAction.EDITION_CANCELED:
463
+ case DUAction.DATA_SAVED:
464
+ if (this.dataUnit.isMultipleEdition) {
465
+ this.exitViewer();
466
+ this.dataUnit.isMultipleEdition = false;
467
+ }
468
+ break;
469
+ case DUAction.FIELD_INVALIDATED:
470
+ const guideName = this.getGuideName((_a = action.payload) === null || _a === void 0 ? void 0 : _a.fieldName);
471
+ await this.addErrorBadgeToGuide(guideName);
472
+ await this.openGuideNavigator(guideName);
473
+ break;
474
+ case DUAction.METADATA_LOADED:
475
+ case DUAction.MULTIPLE_EDITION_CHANGED:
476
+ this.loadGuides(this.noGuideSelected());
477
+ break;
433
478
  }
434
479
  }
435
480
  async addErrorBadgeToGuide(guideName) {
@@ -469,20 +514,34 @@ export class SnkGuidesViewer {
469
514
  var _a, _b;
470
515
  return (_b = (_a = this.getCustomTitle) === null || _a === void 0 ? void 0 : _a.call(this)) !== null && _b !== void 0 ? _b : this.getMessage("snkCrud.title");
471
516
  }
517
+ getTitleTooltip() {
518
+ if (!this.dataUnit.isMultipleEdition)
519
+ return;
520
+ return this.buildRecordIdsArray();
521
+ }
522
+ buildRecordIdsArray() {
523
+ var _a, _b;
524
+ const selectedRecords = (_b = (_a = this.dataUnit.getSelectionInfo()) === null || _a === void 0 ? void 0 : _a.records) !== null && _b !== void 0 ? _b : [];
525
+ if (selectedRecords.length === 0) {
526
+ return "[]";
527
+ }
528
+ const labels = selectedRecords.map(record => this.messagesBuilder.getMessage("snkCrud.title", record));
529
+ return `[${labels.join(", ")}]`;
530
+ }
472
531
  componentDidLoad() {
473
532
  this.dataUnit.subscribe(this.dataUnitActionHandler.bind(this));
474
533
  }
475
534
  render() {
476
535
  var _a, _b;
477
536
  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 }));
537
+ 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, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields }));
479
538
  }
480
539
  if (!this.dataUnit || !this._configManager.isLoaded) {
481
540
  return;
482
541
  }
483
542
  this.loadTaskbarProcessor();
484
543
  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 &&
544
+ 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
545
  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
546
  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
547
  :
@@ -800,6 +859,41 @@ export class SnkGuidesViewer {
800
859
  "attribute": "form-legacy-config-name",
801
860
  "reflect": false
802
861
  },
862
+ "enableGridInsert": {
863
+ "type": "boolean",
864
+ "mutable": false,
865
+ "complexType": {
866
+ "original": "boolean",
867
+ "resolved": "boolean",
868
+ "references": {}
869
+ },
870
+ "required": false,
871
+ "optional": true,
872
+ "docs": {
873
+ "tags": [],
874
+ "text": "Ativa inser\u00E7\u00E3o de registros no modo grade."
875
+ },
876
+ "attribute": "enable-grid-insert",
877
+ "reflect": false,
878
+ "defaultValue": "false"
879
+ },
880
+ "ignoreReadOnlyFormFields": {
881
+ "type": "boolean",
882
+ "mutable": false,
883
+ "complexType": {
884
+ "original": "boolean",
885
+ "resolved": "boolean",
886
+ "references": {}
887
+ },
888
+ "required": false,
889
+ "optional": true,
890
+ "docs": {
891
+ "tags": [],
892
+ "text": "Ignora os campos \"somente leitura\" no modo de inser\u00E7\u00E3o."
893
+ },
894
+ "attribute": "ignore-read-only-form-fields",
895
+ "reflect": false
896
+ },
803
897
  "getCustomTitle": {
804
898
  "type": "unknown",
805
899
  "mutable": false,
@@ -832,6 +926,26 @@ export class SnkGuidesViewer {
832
926
  }
833
927
  static get events() {
834
928
  return [{
929
+ "method": "snkMasterFormConfigChange",
930
+ "name": "snkMasterFormConfigChange",
931
+ "bubbles": true,
932
+ "cancelable": true,
933
+ "composed": true,
934
+ "docs": {
935
+ "tags": [],
936
+ "text": "Emitido quando a configura\u00E7\u00E3o do formul\u00E1rio master \u00E9 definida."
937
+ },
938
+ "complexType": {
939
+ "original": "IFormConfig",
940
+ "resolved": "IFormConfig",
941
+ "references": {
942
+ "IFormConfig": {
943
+ "location": "import",
944
+ "path": "@sankhyalabs/ezui/dist/types/utils/form/interfaces"
945
+ }
946
+ }
947
+ }
948
+ }, {
835
949
  "method": "exit",
836
950
  "name": "exit",
837
951
  "bubbles": true,
@@ -1051,3 +1165,9 @@ export class SnkGuidesViewer {
1051
1165
  }];
1052
1166
  }
1053
1167
  }
1168
+ var TASKBAR_ID;
1169
+ (function (TASKBAR_ID) {
1170
+ TASKBAR_ID["FINISH_EDITION"] = "snkGuideViewer.finish_edition";
1171
+ TASKBAR_ID["MUTIPLE_EDITION"] = "snkGuideViewer.multiple_edition";
1172
+ TASKBAR_ID["REGULAR"] = "snkGuideViewer.regular";
1173
+ })(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" },
@@ -1,7 +1,6 @@
1
1
  import { UserInterface } from "@sankhyalabs/core";
2
2
  import { DataFetcher } from "../../../lib";
3
3
  import { getOptionKey, getVisibleColumns } from "../utils/ParserExport";
4
- import { DataExporterType } from "../../../lib/@types";
5
4
  export default class ClientSideExporterStrategy {
6
5
  constructor(provider) {
7
6
  this._provider = provider;
@@ -12,15 +11,16 @@ export default class ClientSideExporterStrategy {
12
11
  return visibleColumns;
13
12
  }
14
13
  async executeExport(resolveProps) {
15
- const { methodName, titleGrid } = resolveProps;
16
- const records = await this._provider.getRecords();
17
- const columns = [DataExporterType.EXPORT_TO_PDF, DataExporterType.EXPORT_PAGE_TO_PDF, DataExporterType.EXPORT_PDF_TO_EMAIL, DataExporterType.EXPORT_ALL_RECORDS_TO_PDF].includes(getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
14
+ var _a;
15
+ const { methodName, gridTitle } = resolveProps;
16
+ const records = await this._provider.getRecords(resolveProps.type);
17
+ const columns = ((_a = getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) === null || _a === void 0 ? void 0 : _a.includes("PDF")) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
18
18
  const [serviceName, processor] = this.getExecutor(methodName);
19
19
  const payload = {
20
20
  serviceName,
21
21
  requestBody: {
22
22
  grid: {
23
- titleGrid,
23
+ gridTitle,
24
24
  columns: this.buildColumnsObject(columns),
25
25
  rows: this.buildRowsObject(columns, records),
26
26
  customOptions: { xlsxExtension: false }
@@ -51,10 +51,10 @@ export default class ClientSideExporterStrategy {
51
51
  "GridXLSBuilderSP.buildXLSFromJson",
52
52
  responseBody => ({
53
53
  fileSessionKey: responseBody.chaveXLS.valor,
54
- canPrint: false,
55
- canExport: false,
54
+ canPrint: true,
55
+ canExport: true,
56
+ canSendEmail: true,
56
57
  useAppPrint: false,
57
- canSendEmail: false
58
58
  })
59
59
  ];
60
60
  }
@@ -12,7 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  };
13
13
  import { ApplicationContext, ObjectUtils } from "@sankhyalabs/core";
14
14
  import { DataFetcher } from '../../../lib/http/data-fetcher/DataFetcher';
15
- import { DataExporterOption, DataExporterType } from "../../../lib/@types";
15
+ import { DataExporterOption } from "../../../lib/@types";
16
16
  import { getOptionKey, getVisibleColumns } from "../utils/ParserExport";
17
17
  export default class ServerSideExporterStrategy {
18
18
  constructor(provider) {
@@ -23,10 +23,17 @@ export default class ServerSideExporterStrategy {
23
23
  const visibleColumns = getVisibleColumns(columns);
24
24
  return visibleColumns;
25
25
  }
26
+ async getColumns(resolveProps) {
27
+ var _a;
28
+ if ((_a = getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) === null || _a === void 0 ? void 0 : _a.includes("PDF")) {
29
+ return await this.getParsedColumns();
30
+ }
31
+ return await this._provider.getColumnsMetadata();
32
+ }
26
33
  async getParams(resolveProps) {
27
34
  var _a, _b, _c, _d, _e, _f;
28
35
  const filters = (_b = (_a = this._provider).getFilters) === null || _b === void 0 ? void 0 : _b.call(_a);
29
- const columns = [DataExporterType.EXPORT_TO_PDF, DataExporterType.EXPORT_PAGE_TO_PDF, DataExporterType.EXPORT_PDF_TO_EMAIL, DataExporterType.EXPORT_ALL_RECORDS_TO_PDF].includes(getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
36
+ const columns = await this.getColumns(resolveProps);
30
37
  const sort = (_d = (_c = this._provider).getOrders) === null || _d === void 0 ? void 0 : _d.call(_c);
31
38
  const resourceURI = (_f = (_e = this._provider).getResourceURI) === null || _f === void 0 ? void 0 : _f.call(_e);
32
39
  const selectedIDs = this._provider.getSelectedIDs();
@@ -2,6 +2,9 @@ import { UserInterface } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMeta
2
2
  import { DataType } from '@sankhyalabs/core';
3
3
  export class CommonsExporter {
4
4
  constructor(dataUnit, grid) {
5
+ this.MAX_WIDTH_COD = 60;
6
+ this.MIN_WIDTH_COD = 10;
7
+ this.DEFAULT_FONT_SIZE = 13;
5
8
  this.dataUnit = dataUnit;
6
9
  this.grid = grid;
7
10
  }
@@ -14,7 +17,7 @@ export class CommonsExporter {
14
17
  return this.columnsState;
15
18
  }
16
19
  async buildColumnsMetadata(gridColumns) {
17
- var _a, _b;
20
+ var _a, _b, _c;
18
21
  const columnsMetadata = [];
19
22
  for (const column of gridColumns) {
20
23
  /**
@@ -25,30 +28,58 @@ export class CommonsExporter {
25
28
  }
26
29
  const fieldData = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(column.name);
27
30
  const customFormatter = await this.grid.getCustomValueFormatter(column.name);
28
- const columnData = {
29
- label: column.label,
31
+ const isUserInterfaceSEARCH = (fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface) === UserInterface.SEARCH;
32
+ const widthColumnDefault = 60;
33
+ const labelColumn = isUserInterfaceSEARCH ? "Cód. " : column.label;
34
+ let descriptionColumn = undefined;
35
+ let columnData = {
30
36
  id: column.name,
31
- width: column.width,
37
+ label: labelColumn,
38
+ width: isUserInterfaceSEARCH ? (labelColumn.length * this.DEFAULT_FONT_SIZE) : column.width,
32
39
  type: fieldData === null || fieldData === void 0 ? void 0 : fieldData.dataType,
33
40
  userInterface: fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface,
34
41
  customFormatter
35
42
  };
36
- columnsMetadata.push(columnData);
37
- if (((_b = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties) === null || _b === void 0 ? void 0 : _b.DESCRIPTIONFIELD) != undefined) {
43
+ if (isUserInterfaceSEARCH && ((_b = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties) === null || _b === void 0 ? void 0 : _b.DESCRIPTIONFIELD) != undefined) {
44
+ const labelDescription = (_c = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties) === null || _c === void 0 ? void 0 : _c.DESCRIPTIONENTITY;
38
45
  const mergedFrom = fieldData.properties.mergedFrom;
39
46
  const descriptionField = `${fieldData.properties.ENTITYNAME}.${fieldData.properties.DESCRIPTIONFIELD}`;
40
- const descriptionColumn = {
41
- label: fieldData.properties.DESCRIPTIONENTITY,
47
+ descriptionColumn = {
42
48
  id: `${mergedFrom ? (mergedFrom + ".") : ""}${descriptionField}`,
43
- width: column.width,
49
+ label: labelDescription,
50
+ width: isUserInterfaceSEARCH && labelDescription ? (labelDescription.length * this.DEFAULT_FONT_SIZE - widthColumnDefault) : column.width,
44
51
  type: DataType.TEXT,
45
52
  userInterface: UserInterface.LONGTEXT,
46
53
  descriptionFrom: fieldData.name
47
54
  };
48
- columnsMetadata.push(descriptionColumn);
55
+ const newWidth = this.getWidthByMetaData(column === null || column === void 0 ? void 0 : column.width, columnData === null || columnData === void 0 ? void 0 : columnData.width, descriptionColumn === null || descriptionColumn === void 0 ? void 0 : descriptionColumn.width);
56
+ columnData = Object.assign(Object.assign({}, columnData), { width: newWidth === null || newWidth === void 0 ? void 0 : newWidth.codWidth });
57
+ descriptionColumn = Object.assign(Object.assign({}, descriptionColumn), { width: newWidth === null || newWidth === void 0 ? void 0 : newWidth.descWidth, label: (descriptionColumn === null || descriptionColumn === void 0 ? void 0 : descriptionColumn.label) || (column === null || column === void 0 ? void 0 : column.label) });
49
58
  }
59
+ columnsMetadata.push(columnData);
60
+ if (descriptionColumn)
61
+ columnsMetadata.push(descriptionColumn);
50
62
  }
51
63
  ;
52
64
  return columnsMetadata || [];
53
65
  }
66
+ getWidthByMetaData(maxWidth, widthCod, widthDescription) {
67
+ const totalCurrentWidth = widthCod + widthDescription;
68
+ const codPercentage = widthCod / totalCurrentWidth;
69
+ const descPercentage = widthDescription / totalCurrentWidth;
70
+ let newWidthCod = Math.round(maxWidth * codPercentage);
71
+ let newWidthDescription = Math.round(maxWidth * descPercentage);
72
+ if (newWidthCod > this.MAX_WIDTH_COD) {
73
+ newWidthCod = this.MAX_WIDTH_COD;
74
+ newWidthDescription = maxWidth - this.MAX_WIDTH_COD;
75
+ }
76
+ else if (newWidthCod < this.MIN_WIDTH_COD) {
77
+ newWidthCod = this.MIN_WIDTH_COD;
78
+ newWidthDescription = maxWidth - this.MIN_WIDTH_COD;
79
+ }
80
+ return {
81
+ codWidth: newWidthCod,
82
+ descWidth: newWidthDescription
83
+ };
84
+ }
54
85
  }
@@ -1,7 +1,8 @@
1
1
  import { CommonsExporter } from "../interfaces/IExporterProvider";
2
2
  import { UserInterface } from "@sankhyalabs/core";
3
- import { getSelectedIDs } from "../utils/RecordIDUtils";
3
+ import { getSelectedRecordsIDsInfo as getSelectedIDs } from '../../../lib/utils/GetSelectedRecordsIDsInfo';
4
4
  import { DataExporterOption } from "../../../lib/@types";
5
+ import { IExportType } from "../../../lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams";
5
6
  export default class ClientSideExporterProvider extends CommonsExporter {
6
7
  getSelectedNumber() {
7
8
  return this.dataUnit.getSelectionInfo().length;
@@ -18,13 +19,24 @@ export default class ClientSideExporterProvider extends CommonsExporter {
18
19
  var _a, _b, _c;
19
20
  return (_c = (_b = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.records) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.__record__id__;
20
21
  }
21
- async getRecords() {
22
- if (this.dataUnit.records.length === 0) {
23
- return Promise.resolve([]);
22
+ async getRecords(exportType) {
23
+ if (this.dataUnit.records.length === 0)
24
+ return [];
25
+ switch (exportType) {
26
+ case IExportType.ALL:
27
+ return this.dataUnit.getSelectionInfo().getAllRecords();
28
+ case IExportType.SELECTION:
29
+ return this.resolveRecordsFromSelection();
30
+ case IExportType.PAGE:
31
+ return this.dataUnit.records;
32
+ default:
33
+ return this.resolveRecordsFromSelection();
24
34
  }
35
+ }
36
+ resolveRecordsFromSelection() {
25
37
  const selectionInfo = this.dataUnit.getSelectionInfo();
26
- const records = selectionInfo.isEmpty() || selectionInfo.isAllRecords() ? await selectionInfo.getAllRecords() : selectionInfo.records;
27
- return Promise.resolve(records == undefined ? [] : records);
38
+ const selectionRecords = selectionInfo.isEmpty() || selectionInfo.isAllRecords() ? selectionInfo.getAllRecords() : selectionInfo.records;
39
+ return selectionRecords.length ? selectionRecords : this.dataUnit.records;
28
40
  }
29
41
  getHiddenOptions() {
30
42
  return [
@@ -1,5 +1,5 @@
1
1
  import { CommonsExporter } from "../interfaces/IExporterProvider";
2
- import { getSelectedIDs } from "../utils/RecordIDUtils";
2
+ import { getSelectedRecordsIDsInfo as getSelectedIDs } from '../../../lib/utils/GetSelectedRecordsIDsInfo';
3
3
  export default class ServerSideExporterProvider extends CommonsExporter {
4
4
  getFilters() {
5
5
  var _a;
@@ -1,6 +1,7 @@
1
1
  import { ApplicationContext, DataType, ElementIDUtils } from '@sankhyalabs/core';
2
2
  import { h, Host } from '@stencil/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
+ import { IExportType } from '../../lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams';
4
5
  import { ItemBuilder } from './structure/ItemBuilder';
5
6
  import { DataExporterFormat, DataExporterOption, DataExporterType } from '../../lib/@types';
6
7
  import { REPORT_LAUNCHER_RESOURCE_ID } from '../../lib/utils/constants';
@@ -42,7 +43,7 @@ export class SnkDataExporter {
42
43
  resolver: ({ type, format, email: { to, subject, message } }) => {
43
44
  var _a;
44
45
  const methodName = (_a = DataExporterFormat[format === null || format === void 0 ? void 0 : format.toUpperCase()]) !== null && _a !== void 0 ? _a : DataExporterFormat.PDF;
45
- this.resolveExporter({ type, methodName, to, subject, message, fileName: this._appLabel, titleGrid: this._appLabel }, () => {
46
+ this.resolveExporter({ type, methodName, to, subject, message, fileName: this._appLabel, gridTitle: this._appLabel }, () => {
46
47
  this._snkEmailSender.close();
47
48
  ApplicationUtils.info(this.getMessage("snkDataExporter.message.emailSuccess"), { iconName: "check" });
48
49
  });
@@ -105,7 +106,9 @@ export class SnkDataExporter {
105
106
  });
106
107
  }
107
108
  getExporterStrategy() {
108
- return this.provider.getRecords == undefined ? new ServerSideExporterStrategy(this.provider) : new ClientSideExporterStrategy(this.provider);
109
+ return this.provider.getRecords == undefined
110
+ ? new ServerSideExporterStrategy(this.provider)
111
+ : new ClientSideExporterStrategy(this.provider);
109
112
  }
110
113
  getOptionKey(option) {
111
114
  return Object.keys(DataExporterOption)
@@ -115,30 +118,28 @@ export class SnkDataExporter {
115
118
  }
116
119
  getExportType(option) {
117
120
  if (option === DataExporterOption.EXPORT_ALL_RECORDS_TO_PDF || option === DataExporterOption.EXPORT_ALL_RECORDS_TO_XLS) {
118
- return 'all';
121
+ return IExportType.ALL;
119
122
  }
120
123
  if (option === DataExporterOption.EXPORT_PAGE_TO_PDF || option === DataExporterOption.EXPORT_PAGE_TO_XLS) {
121
- return 'page';
124
+ return IExportType.PAGE;
122
125
  }
123
- return 'selection';
126
+ return IExportType.SELECTION;
124
127
  }
125
128
  async dispatchExporter(option) {
126
129
  var _a, _b, _c;
127
130
  const optionKey = this.getOptionKey(option);
128
131
  const fileType = (_a = DataExporterType[optionKey]) !== null && _a !== void 0 ? _a : DataExporterType.EXPORT_TO_PDF;
129
- const isDownload = DataExporterType[optionKey] === DataExporterType.EXPORT_TO_XLS;
130
132
  const params = {
131
133
  methodName: DataExporterOption[`EXPORT_TO_${fileType}`],
132
134
  fileName: this._appLabel,
133
- titleGrid: this._appLabel,
135
+ gridTitle: this._appLabel,
134
136
  exportOption: option,
135
137
  limit: (_c = (_b = this.provider) === null || _b === void 0 ? void 0 : _b.getExportLimit) === null || _c === void 0 ? void 0 : _c.call(_b),
136
138
  type: this.getExportType(option),
137
139
  };
138
140
  await this.resolveExporter(params, (response) => {
139
141
  if (response.canExport || fileType === DataExporterType.EXPORT_TO_PDF) {
140
- fileViewer(Object.assign(Object.assign({}, response), { fileType,
141
- isDownload }));
142
+ fileViewer(Object.assign(Object.assign({}, response), { fileType }));
142
143
  }
143
144
  else {
144
145
  ApplicationUtils.error(this.getMessage("snkDataExporter.title.permission"), this.getMessage("snkDataExporter.message.exportPermission"));