@sankhyalabs/sankhyablocks 8.16.0-dev.1 → 8.16.0-dev.100

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 (425) hide show
  1. package/dist/cjs/ClientSideExporterProvider-5fff8770.js +372 -0
  2. package/dist/cjs/{ConfigStorage-942ce74b.js → ConfigStorage-df09fb78.js} +3 -2
  3. package/dist/cjs/{DataFetcher-313debd8.js → DataFetcher-1afdb18e.js} +231 -79
  4. package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
  5. package/dist/cjs/IFetchDataExporterParams-e78ec415.js +8 -0
  6. package/dist/cjs/ISave-c76e2c51.js +397 -0
  7. package/dist/cjs/{SnkFormConfigManager-1b13bacd.js → SnkFormConfigManager-45a8d7b7.js} +77 -21
  8. package/dist/cjs/{SnkMessageBuilder-722b104e.js → SnkMessageBuilder-bae64d0d.js} +7 -3
  9. package/dist/cjs/{auth-fetcher-54f5ff9d.js → auth-fetcher-1687ac0a.js} +1 -1
  10. package/dist/cjs/{constants-35ddd366.js → constants-77c1b8bd.js} +10 -0
  11. package/dist/cjs/{dataunit-fetcher-620b29a1.js → dataunit-fetcher-4a5d491a.js} +220 -168
  12. package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
  13. package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-40d3f752.js} +56 -2
  14. package/dist/cjs/{index-1dfc7a6e.js → index-e3e39724.js} +5 -0
  15. package/dist/cjs/index-f9e81701.js +16 -32
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +155 -0
  18. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  19. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_7.cjs.entry.js} +201 -44
  20. package/dist/cjs/snk-application.cjs.entry.js +468 -74
  21. package/dist/cjs/snk-attach.cjs.entry.js +49 -37
  22. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +401 -13
  23. package/dist/cjs/snk-configurator.cjs.entry.js +10 -3
  24. package/dist/cjs/snk-crud.cjs.entry.js +29 -23
  25. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -30
  26. package/dist/cjs/{snk-data-unit-82dea87e.js → snk-data-unit-4b510d6e.js} +69 -35
  27. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  28. package/dist/cjs/snk-detail-view.cjs.entry.js +18 -19
  29. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  30. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  31. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1438 -0
  32. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  34. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  35. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  36. package/dist/cjs/snk-filter-search.cjs.entry.js +18 -5
  37. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  38. package/dist/cjs/snk-grid.cjs.entry.js +96 -28
  39. package/dist/cjs/{snk-guides-viewer-05a1ba27.js → snk-guides-viewer-e8e5f7b4.js} +34 -19
  40. package/dist/cjs/snk-guides-viewer.cjs.entry.js +11 -12
  41. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  42. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  43. package/dist/cjs/snk-pesquisa.cjs.entry.js +110 -31
  44. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  45. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  46. package/dist/cjs/snk-simple-crud.cjs.entry.js +119 -115
  47. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  48. package/dist/cjs/snk-taskbar.cjs.entry.js +72 -40
  49. package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-7e19882d.js} +1 -1
  50. package/dist/collection/collection-manifest.json +16 -31
  51. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  52. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  53. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  54. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +5 -2
  55. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  56. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  57. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  58. package/dist/collection/components/snk-application/search-strategy/exec-prepared-search-plus.js +107 -0
  59. package/dist/collection/components/snk-application/snk-application.css +36 -0
  60. package/dist/collection/components/snk-application/snk-application.js +447 -67
  61. package/dist/collection/components/snk-attach/snk-attach.js +25 -16
  62. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  63. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -5
  64. package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
  65. package/dist/collection/components/snk-configurator/snk-configurator.js +26 -1
  66. package/dist/collection/components/snk-crud/snk-crud.js +185 -14
  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 +28 -5
  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 +74 -8
  71. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  72. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +8 -8
  73. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  74. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +41 -10
  75. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +18 -6
  76. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  77. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +10 -9
  78. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  79. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  80. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  81. package/dist/collection/components/snk-data-unit/snk-data-unit.js +84 -33
  82. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
  83. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  84. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  85. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
  86. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +18 -5
  87. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  88. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  89. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  90. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  91. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +10 -4
  92. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  93. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  94. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -6
  95. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
  96. package/dist/collection/components/snk-form/snk-form.js +2 -2
  97. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +75 -19
  98. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  99. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  100. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.js +5 -3
  101. package/dist/collection/components/snk-grid/snk-grid.css +8 -0
  102. package/dist/collection/components/snk-grid/snk-grid.js +199 -13
  103. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  104. package/dist/collection/components/snk-grid-config/snk-grid-config.js +2 -0
  105. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +3 -0
  106. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +73 -0
  107. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +78 -0
  108. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +57 -0
  109. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  110. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  111. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  112. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  113. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  114. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  115. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +174 -32
  116. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  117. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  118. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  119. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +219 -36
  120. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  121. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  122. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  123. package/dist/collection/components/snk-taskbar/snk-taskbar.js +112 -38
  124. package/dist/collection/lib/@types/index.js +5 -0
  125. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
  126. package/dist/collection/lib/configs/ConfigStorage.js +1 -0
  127. package/dist/collection/lib/configs/LayoutFormConfig.js +25 -0
  128. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -102
  129. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -28
  130. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +44 -24
  131. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  132. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  133. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  134. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  135. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +23 -14
  136. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  137. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +59 -5
  138. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  139. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +133 -9
  140. package/dist/collection/lib/index.js +1 -0
  141. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +1 -1
  142. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  143. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  144. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  145. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  146. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  147. package/dist/collection/lib/utils/constants.js +10 -0
  148. package/dist/collection/sw.js +46 -0
  149. package/dist/components/ConfigStorage.js +1 -0
  150. package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +176 -33
  151. package/dist/components/DataFetcher.js +232 -80
  152. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  153. package/dist/components/ISave.js +391 -1
  154. package/dist/components/SnkFormConfigManager.js +75 -19
  155. package/dist/components/SnkMessageBuilder.js +7 -3
  156. package/dist/components/constants.js +11 -1
  157. package/dist/components/dataunit-fetcher.js +238 -183
  158. package/dist/components/form-config-fetcher.js +55 -1
  159. package/dist/components/index.d.ts +5 -0
  160. package/dist/components/index.js +5 -0
  161. package/dist/components/pesquisa-grid.d.ts +11 -0
  162. package/dist/components/pesquisa-grid.js +6 -0
  163. package/dist/components/pesquisa-grid2.js +102 -0
  164. package/dist/components/pesquisa-tree.d.ts +11 -0
  165. package/dist/components/pesquisa-tree.js +6 -0
  166. package/dist/components/pesquisa-tree2.js +91 -0
  167. package/dist/components/snk-actions-button2.js +44 -40
  168. package/dist/components/snk-application2.js +491 -72
  169. package/dist/components/snk-attach2.js +61 -55
  170. package/dist/components/snk-config-options2.js +6 -4
  171. package/dist/components/snk-configurator2.js +23 -3
  172. package/dist/components/snk-crud.js +107 -75
  173. package/dist/components/snk-data-exporter2.js +37 -23
  174. package/dist/components/snk-data-unit2.js +71 -73
  175. package/dist/components/snk-detail-view2.js +145 -113
  176. package/dist/components/snk-exporter-email-sender2.js +1 -1
  177. package/dist/components/snk-filter-bar2.js +68 -34
  178. package/dist/components/snk-filter-binary-select.js +1 -1
  179. package/dist/components/snk-filter-checkbox-list.js +1 -1
  180. package/dist/components/snk-filter-item2.js +10 -4
  181. package/dist/components/snk-filter-modal.js +4 -2
  182. package/dist/components/snk-filter-number.js +1 -1
  183. package/dist/components/snk-filter-search.js +18 -5
  184. package/dist/components/snk-filter-text.js +2 -1
  185. package/dist/components/snk-form-config2.js +35 -10
  186. package/dist/components/snk-form.js +2 -2
  187. package/dist/components/snk-grid-config2.js +3 -1
  188. package/dist/components/snk-grid2.js +92 -18
  189. package/dist/components/snk-layout-form-config.d.ts +11 -0
  190. package/dist/components/snk-layout-form-config.js +6 -0
  191. package/dist/components/snk-layout-form-config2.js +73 -0
  192. package/dist/components/snk-personalized-filter-editor.js +4 -4
  193. package/dist/components/snk-pesquisa2.js +125 -33
  194. package/dist/components/snk-print-selector.js +1 -1
  195. package/dist/components/snk-simple-bar2.js +1 -1
  196. package/dist/components/snk-simple-crud2.js +116 -113
  197. package/dist/components/snk-simple-form-config.d.ts +11 -0
  198. package/dist/components/snk-simple-form-config.js +6 -0
  199. package/dist/components/snk-simple-form-config2.js +121 -0
  200. package/dist/components/snk-tab-config2.js +1 -1
  201. package/dist/components/snk-taskbar2.js +72 -40
  202. package/dist/components/snk-view-representation.d.ts +11 -0
  203. package/dist/components/snk-view-representation.js +6 -0
  204. package/dist/components/snk-view-representation2.js +41 -0
  205. package/dist/components/teste-pesquisa.js +13 -1
  206. package/dist/esm/ClientSideExporterProvider-da9935ed.js +361 -0
  207. package/dist/esm/{ConfigStorage-86187da3.js → ConfigStorage-71e6766f.js} +3 -2
  208. package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-88e56266.js} +232 -80
  209. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  210. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  211. package/dist/esm/ISave-5efafc97.js +394 -0
  212. package/dist/esm/{SnkFormConfigManager-d4554df9.js → SnkFormConfigManager-be490a33.js} +77 -21
  213. package/dist/esm/{SnkMessageBuilder-89925609.js → SnkMessageBuilder-6fff4a4c.js} +7 -3
  214. package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-3510520e.js} +1 -1
  215. package/dist/esm/{constants-8457af36.js → constants-7db1128a.js} +11 -1
  216. package/dist/esm/{dataunit-fetcher-3fbf9d12.js → dataunit-fetcher-1d02ecfc.js} +222 -167
  217. package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
  218. package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-fa208a6c.js} +56 -2
  219. package/dist/esm/index-a7d3d3f1.js +16 -32
  220. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  221. package/dist/esm/loader.js +1 -1
  222. package/dist/esm/pesquisa-grid_2.entry.js +150 -0
  223. package/dist/esm/sankhyablocks.js +1 -1
  224. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_7.entry.js} +201 -47
  225. package/dist/esm/snk-application.entry.js +469 -75
  226. package/dist/esm/snk-attach.entry.js +50 -38
  227. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +401 -15
  228. package/dist/esm/snk-configurator.entry.js +10 -3
  229. package/dist/esm/snk-crud.entry.js +29 -23
  230. package/dist/esm/snk-data-exporter.entry.js +38 -30
  231. package/dist/esm/{snk-data-unit-8f98b45f.js → snk-data-unit-7d0ce406.js} +69 -35
  232. package/dist/esm/snk-data-unit.entry.js +5 -5
  233. package/dist/esm/snk-detail-view.entry.js +18 -19
  234. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  235. package/dist/esm/snk-field-config.entry.js +1 -1
  236. package/dist/esm/snk-filter-bar_4.entry.js +1431 -0
  237. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  238. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  239. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  240. package/dist/esm/snk-filter-number.entry.js +1 -1
  241. package/dist/esm/snk-filter-search.entry.js +18 -5
  242. package/dist/esm/snk-filter-text.entry.js +2 -1
  243. package/dist/esm/snk-grid.entry.js +91 -23
  244. package/dist/esm/{snk-guides-viewer-aee2cafe.js → snk-guides-viewer-c44b3839.js} +34 -19
  245. package/dist/esm/snk-guides-viewer.entry.js +11 -12
  246. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  247. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  248. package/dist/esm/snk-pesquisa.entry.js +110 -31
  249. package/dist/esm/snk-print-selector.entry.js +1 -1
  250. package/dist/esm/snk-simple-bar.entry.js +1 -1
  251. package/dist/esm/snk-simple-crud.entry.js +105 -101
  252. package/dist/esm/snk-tab-config.entry.js +1 -1
  253. package/dist/esm/snk-taskbar.entry.js +73 -41
  254. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-d2353c64.js} +1 -1
  255. package/dist/sankhyablocks/p-00796b12.entry.js +1 -0
  256. package/dist/sankhyablocks/{p-aff76a53.js → p-03b68a74.js} +2 -2
  257. package/dist/sankhyablocks/p-092078e3.entry.js +1 -0
  258. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  259. package/dist/sankhyablocks/{p-a1d72395.entry.js → p-165cde3b.entry.js} +1 -1
  260. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  261. package/dist/sankhyablocks/p-17425c72.js +1 -0
  262. package/dist/sankhyablocks/p-23736d75.js +1 -0
  263. package/dist/sankhyablocks/p-35f85998.entry.js +1 -0
  264. package/dist/sankhyablocks/{p-95df461f.entry.js → p-3749dffb.entry.js} +1 -1
  265. package/dist/sankhyablocks/p-38e3ffda.entry.js +1 -0
  266. package/dist/sankhyablocks/p-3b190fb1.entry.js +1 -0
  267. package/dist/sankhyablocks/{p-7e7a7473.js → p-3fc82614.js} +1 -1
  268. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  269. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  270. package/dist/sankhyablocks/{p-eae7a817.entry.js → p-490b75b5.entry.js} +1 -1
  271. package/dist/sankhyablocks/p-4ad638be.js +1 -0
  272. package/dist/sankhyablocks/p-5503e89f.entry.js +1 -0
  273. package/dist/sankhyablocks/p-5cc206bb.entry.js +1 -0
  274. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  275. package/dist/sankhyablocks/p-5ffa0493.entry.js +1 -0
  276. package/dist/sankhyablocks/p-60137b7a.entry.js +1 -0
  277. package/dist/sankhyablocks/p-601b252b.js +26 -0
  278. package/dist/sankhyablocks/p-6293ded9.entry.js +11 -0
  279. package/dist/sankhyablocks/p-6dd38d7b.js +6 -0
  280. package/dist/sankhyablocks/p-6e0a5314.js +1 -0
  281. package/dist/sankhyablocks/{p-913a9979.js → p-73285a8a.js} +1 -1
  282. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  283. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  284. package/dist/sankhyablocks/p-893b9483.entry.js +1 -0
  285. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  286. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  287. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  288. package/dist/sankhyablocks/p-90684a75.entry.js +1 -0
  289. package/dist/sankhyablocks/{p-b0ef4383.js → p-9261d8a0.js} +1 -1
  290. package/dist/sankhyablocks/p-92778d5a.js +1 -0
  291. package/dist/sankhyablocks/p-a8be1d67.js +60 -0
  292. package/dist/sankhyablocks/p-a962a3e4.entry.js +1 -0
  293. package/dist/sankhyablocks/p-b2a2a83e.entry.js +1 -0
  294. package/dist/sankhyablocks/p-b6200d32.entry.js +1 -0
  295. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-c0eb761b.entry.js} +1 -1
  296. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  297. package/dist/sankhyablocks/p-d9fdb018.entry.js +1 -0
  298. package/dist/sankhyablocks/p-ebdb9d89.js +1 -0
  299. package/dist/sankhyablocks/p-ef6f0a1b.entry.js +1 -0
  300. package/dist/sankhyablocks/p-fbba7e3d.js +1 -0
  301. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  302. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  303. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  304. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  305. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  306. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  307. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  308. package/dist/types/components/snk-application/search-strategy/exec-prepared-search-plus.d.ts +5 -0
  309. package/dist/types/components/snk-application/snk-application.d.ts +55 -16
  310. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  311. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  312. package/dist/types/components/snk-crud/snk-crud.d.ts +34 -0
  313. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +5 -0
  314. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +15 -0
  315. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  316. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  317. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +9 -1
  318. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  319. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  320. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  321. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  322. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +7 -0
  323. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +5 -3
  324. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  325. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  326. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  327. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +9 -4
  328. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  329. package/dist/types/components/snk-grid/snk-grid.d.ts +33 -0
  330. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +1 -0
  331. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
  332. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -0
  333. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  334. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  335. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  336. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +35 -1
  337. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +35 -3
  338. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  339. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  340. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
  341. package/dist/types/components.d.ts +514 -16
  342. package/dist/types/lib/@types/index.d.ts +4 -0
  343. package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
  344. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  345. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  346. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  347. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  348. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  349. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  350. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  351. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  352. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  353. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  354. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  355. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +14 -2
  356. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  357. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +21 -2
  358. package/dist/types/lib/index.d.ts +1 -0
  359. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  360. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  361. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  362. package/dist/types/lib/utils/constants.d.ts +8 -0
  363. package/package.json +4 -3
  364. package/react/components.d.ts +5 -0
  365. package/react/components.js +5 -0
  366. package/react/components.js.map +1 -1
  367. package/dist/cjs/IExporterProvider-c78cb1b8.js +0 -230
  368. package/dist/cjs/ISave-e91b70a7.js +0 -9
  369. package/dist/cjs/pesquisa-fetcher-680e198f.js +0 -166
  370. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  371. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  372. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  373. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  374. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  375. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  376. package/dist/components/pesquisa-fetcher.js +0 -164
  377. package/dist/esm/IExporterProvider-343272b3.js +0 -221
  378. package/dist/esm/ISave-d8c8bc59.js +0 -9
  379. package/dist/esm/pesquisa-fetcher-03c8f919.js +0 -164
  380. package/dist/esm/snk-config-options.entry.js +0 -235
  381. package/dist/esm/snk-filter-bar.entry.js +0 -710
  382. package/dist/esm/snk-filter-item.entry.js +0 -308
  383. package/dist/esm/snk-filter-list.entry.js +0 -148
  384. package/dist/esm/snk-filter-modal.entry.js +0 -245
  385. package/dist/esm/snk-form.entry.js +0 -139
  386. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  387. package/dist/sankhyablocks/p-0d91b10f.entry.js +0 -1
  388. package/dist/sankhyablocks/p-14a08904.entry.js +0 -1
  389. package/dist/sankhyablocks/p-21749402.js +0 -1
  390. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  391. package/dist/sankhyablocks/p-26394a01.entry.js +0 -1
  392. package/dist/sankhyablocks/p-2d649237.entry.js +0 -1
  393. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  394. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  395. package/dist/sankhyablocks/p-44767378.entry.js +0 -1
  396. package/dist/sankhyablocks/p-47b60deb.entry.js +0 -1
  397. package/dist/sankhyablocks/p-4f72727a.entry.js +0 -1
  398. package/dist/sankhyablocks/p-550fee49.entry.js +0 -1
  399. package/dist/sankhyablocks/p-5539ecb4.entry.js +0 -1
  400. package/dist/sankhyablocks/p-672302c3.js +0 -60
  401. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  402. package/dist/sankhyablocks/p-7663f597.entry.js +0 -1
  403. package/dist/sankhyablocks/p-7a337364.js +0 -1
  404. package/dist/sankhyablocks/p-829d4045.js +0 -1
  405. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  406. package/dist/sankhyablocks/p-8a5910a7.entry.js +0 -1
  407. package/dist/sankhyablocks/p-8cc64963.entry.js +0 -1
  408. package/dist/sankhyablocks/p-8fc470e5.entry.js +0 -1
  409. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  410. package/dist/sankhyablocks/p-9863d682.js +0 -1
  411. package/dist/sankhyablocks/p-9e99a92a.js +0 -1
  412. package/dist/sankhyablocks/p-af8efd95.js +0 -6
  413. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  414. package/dist/sankhyablocks/p-be603a24.js +0 -1
  415. package/dist/sankhyablocks/p-c2495304.js +0 -1
  416. package/dist/sankhyablocks/p-c8622597.entry.js +0 -1
  417. package/dist/sankhyablocks/p-d09feef1.js +0 -1
  418. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  419. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  420. package/dist/sankhyablocks/p-dc7c9047.js +0 -1
  421. package/dist/sankhyablocks/p-df5451c7.js +0 -26
  422. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  423. package/dist/sankhyablocks/p-e95b3b93.entry.js +0 -11
  424. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  425. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
@@ -1,4 +1,4 @@
1
- import { ApplicationContext, ElementIDUtils, ErrorException, ObjectUtils } from '@sankhyalabs/core';
1
+ import { ApplicationContext, ElementIDUtils, ObjectUtils, ErrorException, LockManager, LockManagerOperation } from '@sankhyalabs/core';
2
2
  import { EzScrollDirection } from '@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection';
3
3
  import { h, Host } from '@stencil/core';
4
4
  import { ConfigStorage } from '../../lib/configs/ConfigStorage';
@@ -14,19 +14,22 @@ export class SnkFilterBar {
14
14
  this._firstLoad = true;
15
15
  this._pendingVariables = false;
16
16
  this._customfiltersToBeUpdated = [];
17
+ this._resolveLoading = undefined;
17
18
  this._calculateSortIndex = (item) => {
18
- let index = item.hardFixed ? 1000000 : 0;
19
- //campos Hard Fixed não variam a ordem
20
- if (!item.hardFixed) {
21
- index += item.fixed ? 100000 : 0;
22
- index += item.value == undefined ? 0 : 10000;
23
- index += this._updateSequence.lastIndexOf(item.id) + 1;
24
- }
19
+ if (!item.visible)
20
+ return 0;
21
+ if (item.hardFixed)
22
+ return 1000000; //campos Hard Fixed não variam a ordem
23
+ let index = item.fixed ? 100000 : 0;
24
+ index += this.hasValidValue(item) ? 10000 : 0;
25
+ index += this._updateSequence.lastIndexOf(item.id) + 1;
25
26
  return index;
26
27
  };
27
28
  this._filtersComparator = (a, b) => {
28
29
  return this._calculateSortIndex(b) - this._calculateSortIndex(a);
29
30
  };
31
+ this.enableLockManagerLoadingComp = false;
32
+ this.customFilterBarConfig = undefined;
30
33
  this.dataUnit = undefined;
31
34
  this.title = undefined;
32
35
  this.configName = undefined;
@@ -37,11 +40,19 @@ export class SnkFilterBar {
37
40
  this.disablePersonalizedFilter = undefined;
38
41
  this.filterBarLegacyConfigName = undefined;
39
42
  this.autoLoad = undefined;
43
+ this.afterApplyConfig = undefined;
40
44
  this.allowDefault = undefined;
41
45
  this.scrollerLocked = false;
42
46
  this.showPersonalizedFilter = false;
43
47
  this.personalizedFilterId = undefined;
44
48
  }
49
+ hasValidValue(item) {
50
+ if (item.value === undefined || item.value === null)
51
+ return false;
52
+ if (!Array.isArray(item.value))
53
+ return true;
54
+ return item.value.some(filterItem => filterItem.check === true);
55
+ }
45
56
  observeFilterConfig(newValue, oldValue) {
46
57
  if (ObjectUtils.equals(newValue, oldValue))
47
58
  return;
@@ -166,6 +177,7 @@ export class SnkFilterBar {
166
177
  return this.filterConfig.find(item => item.type === FilterItemType.PERSONALIZED);
167
178
  }
168
179
  async processAfterUpdateConfig() {
180
+ var _a;
169
181
  if (this._loadingPending) {
170
182
  if (await this._application.isLoadedByPk() && !this._configUpdated)
171
183
  return;
@@ -180,6 +192,7 @@ export class SnkFilterBar {
180
192
  if (this._configUpdated) {
181
193
  this._configUpdated = false;
182
194
  ConfigStorage.saveFilterBarConfig(this.filterConfig, this.configName, this.resourceID);
195
+ (_a = this.afterApplyConfig) === null || _a === void 0 ? void 0 : _a.call(this);
183
196
  }
184
197
  }
185
198
  async doLoadData(forceReload = false) {
@@ -268,7 +281,7 @@ export class SnkFilterBar {
268
281
  getFilterItems() {
269
282
  const pinnedItems = [];
270
283
  const unpinnedItems = [];
271
- this.filterConfig
284
+ this.filterConfig.sort((a, b) => this._filtersComparator(a, b))
272
285
  .filter(this.filterActiveFilter)
273
286
  .forEach((item, index) => {
274
287
  item = ObjectUtils.copy(item);
@@ -330,19 +343,23 @@ export class SnkFilterBar {
330
343
  }
331
344
  }
332
345
  async loadConfigFromStorage(clearCache) {
333
- if (clearCache) {
334
- await ConfigStorage.deleteFilterBarConfigCache(this.configName, this.resourceID);
346
+ try {
347
+ if (clearCache) {
348
+ await ConfigStorage.deleteFilterBarConfigCache(this.configName, this.resourceID);
349
+ }
350
+ let config;
351
+ if (this.customFilterBarConfig) {
352
+ config = await this.customFilterBarConfig(this.configName, this.resourceID, { contextURI: this.dataUnit.name });
353
+ }
354
+ else {
355
+ config = await ConfigStorage.loadFilterBarConfig(this.configName, this.resourceID, { contextURI: this.dataUnit.name });
356
+ }
357
+ this.filterConfig = config.map(item => this.normalizeItem(item));
358
+ this.filterConfig.sort((a, b) => this._filtersComparator(a, b));
359
+ }
360
+ catch (e) {
361
+ throw new ErrorException(this.getMessage("snkFilterBar.failToLoadConfig"), e);
335
362
  }
336
- return new Promise(accept => {
337
- ConfigStorage.loadFilterBarConfig(this.configName, this.resourceID, { contextURI: this.dataUnit.name })
338
- .then((filters) => {
339
- accept();
340
- this.filterConfig = filters.map(item => this.normalizeItem(item));
341
- })
342
- .catch(reason => {
343
- throw new ErrorException(this.getMessage("snkFilterBar.failToLoadConfig"), reason);
344
- });
345
- });
346
363
  }
347
364
  attachDataUnit() {
348
365
  if (this.dataUnit == undefined) {
@@ -380,7 +397,9 @@ export class SnkFilterBar {
380
397
  */
381
398
  async showFilterModal() {
382
399
  const callbackOnApplyFilter = (filters) => {
400
+ var _a;
383
401
  this.filterConfig = filters.map(this.normalizeItem).sort((a, b) => this._filtersComparator(a, b));
402
+ (_a = this.afterApplyConfig) === null || _a === void 0 ? void 0 : _a.call(this);
384
403
  };
385
404
  let filtersConfigCopy = ObjectUtils.copy(this.filterConfig);
386
405
  filtersConfigCopy = filtersConfigCopy.sort((itemA, itemB) => {
@@ -431,14 +450,26 @@ export class SnkFilterBar {
431
450
  this.personalizedFilterId = undefined;
432
451
  this.showPersonalizedFilter = false;
433
452
  }
434
- componentWillLoad() {
435
- this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
436
- if (this._application) {
437
- this.loadPermitions();
438
- this.addFilterBarLegacyConfigName();
439
- this.loadConfigFromStorage();
453
+ async componentWillLoad() {
454
+ var _a;
455
+ try {
456
+ this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
457
+ await this.attachDataUnit();
458
+ if (this._application) {
459
+ if (this._application.enableLockManagerLoadingApp && this.enableLockManagerLoadingComp) {
460
+ const appLoadLockerID = LockManager.addLockManagerCtxId(this._element);
461
+ this._resolveLoading = LockManager.lock(appLoadLockerID, LockManagerOperation.APP_LOADING);
462
+ }
463
+ await Promise.all([
464
+ this.loadPermitions(),
465
+ this.addFilterBarLegacyConfigName(),
466
+ this.loadConfigFromStorage(),
467
+ ]);
468
+ }
469
+ }
470
+ finally {
471
+ (_a = this._resolveLoading) === null || _a === void 0 ? void 0 : _a.call(this);
440
472
  }
441
- this.attachDataUnit();
442
473
  }
443
474
  componentDidRender() {
444
475
  this.processPendingFilter();
@@ -453,7 +484,7 @@ export class SnkFilterBar {
453
484
  if (this.mode !== "regular") {
454
485
  return (h(Host, { "data-mode": this.mode }, this.getPersonalizedFilterVariableItems(), this.mode === 'button' && (h("ez-button", { class: "ez-margin-left--medium", size: "small", label: this.getMessage('snkFilterBar.filters', undefined, 'Filtros'), onClick: this.showFilterModal.bind(this) }))));
455
486
  }
456
- return (h(Host, null, h("div", null, h("span", { class: "snk-filter-bar__title", title: this.title, "data-tooltip": this.title, "data-flow": "bottom" }, this.title)), h("ez-scroller", { class: "snk-filter-bar__scroller", direction: EzScrollDirection.HORIZONTAL, activeShadow: true, locked: this.scrollerLocked }, h("section", { class: "snk-filter-bar__filter-item-container" }, this.getFilterItems())), h("ez-button", { class: "ez-padding-left--medium", size: "small", label: this.getMessage('snkFilterBar.filters', undefined, 'Filtros'), onClick: this.showFilterModal.bind(this) }, h("ez-icon", { slot: "leftIcon", iconName: "plus", class: "ez-padding-right--small" }))));
487
+ return (h(Host, null, h("div", null, h("span", { class: "snk-filter-bar__title", title: this.title, "data-tooltip": this.title, "data-flow": "bottom" }, this.title)), h("ez-scroller", { class: "snk-filter-bar__scroller", direction: EzScrollDirection.HORIZONTAL, activeShadow: true, locked: this.scrollerLocked }, h("section", { class: "snk-filter-bar__filter-item-container" }, this.getFilterItems())), h("ez-button", { class: "ez-padding-left--medium ez-margin-top--extra-small", size: "small", label: this.getMessage('snkFilterBar.filters', undefined, 'Filtros'), onClick: this.showFilterModal.bind(this) }, h("ez-icon", { slot: "leftIcon", iconName: "plus", class: "ez-padding-right--small" }))));
457
488
  }
458
489
  static get is() { return "snk-filter-bar"; }
459
490
  static get encapsulation() { return "scoped"; }
@@ -469,6 +500,50 @@ export class SnkFilterBar {
469
500
  }
470
501
  static get properties() {
471
502
  return {
503
+ "enableLockManagerLoadingComp": {
504
+ "type": "boolean",
505
+ "mutable": false,
506
+ "complexType": {
507
+ "original": "boolean",
508
+ "resolved": "boolean",
509
+ "references": {}
510
+ },
511
+ "required": false,
512
+ "optional": true,
513
+ "docs": {
514
+ "tags": [],
515
+ "text": "Define se o componente deve usar o LockManager para controle de carregamento"
516
+ },
517
+ "attribute": "enable-lock-manager-loading-comp",
518
+ "reflect": false,
519
+ "defaultValue": "false"
520
+ },
521
+ "customFilterBarConfig": {
522
+ "type": "unknown",
523
+ "mutable": false,
524
+ "complexType": {
525
+ "original": "(configName: string, resourceId: string, options: any) => Promise<Array<SnkFilterItemConfig>>",
526
+ "resolved": "(configName: string, resourceId: string, options: any) => Promise<SnkFilterItemConfig[]>",
527
+ "references": {
528
+ "Promise": {
529
+ "location": "global"
530
+ },
531
+ "Array": {
532
+ "location": "global"
533
+ },
534
+ "SnkFilterItemConfig": {
535
+ "location": "import",
536
+ "path": "./filter-item/snk-filter-item"
537
+ }
538
+ }
539
+ },
540
+ "required": false,
541
+ "optional": true,
542
+ "docs": {
543
+ "tags": [],
544
+ "text": "Loader customizado para carregar as configura\u00E7\u00F5es"
545
+ }
546
+ },
472
547
  "dataUnit": {
473
548
  "type": "unknown",
474
549
  "mutable": true,
@@ -651,6 +726,21 @@ export class SnkFilterBar {
651
726
  },
652
727
  "attribute": "auto-load",
653
728
  "reflect": false
729
+ },
730
+ "afterApplyConfig": {
731
+ "type": "unknown",
732
+ "mutable": false,
733
+ "complexType": {
734
+ "original": "() => void",
735
+ "resolved": "() => void",
736
+ "references": {}
737
+ },
738
+ "required": false,
739
+ "optional": true,
740
+ "docs": {
741
+ "tags": [],
742
+ "text": "Fun\u00E7\u00E3o chamada depois de aplicar os filtros."
743
+ }
654
744
  }
655
745
  };
656
746
  }
@@ -87,7 +87,7 @@ export class SnkForm {
87
87
  if (this.resourceID == undefined) {
88
88
  this.resourceID = await ResourceIDUtils.getResourceID();
89
89
  }
90
- this._configManager = new SnkFormConfigManager(this.configName, this.resourceID);
90
+ this._configManager = new SnkFormConfigManager(this.configName, this.resourceID, undefined, this._dataUnit);
91
91
  this.addFormLegacyConfig();
92
92
  await this._configManager.loadConfig();
93
93
  }
@@ -117,7 +117,7 @@ export class SnkForm {
117
117
  if (!this._dataUnit || !this._dataState) {
118
118
  return undefined;
119
119
  }
120
- return (h("section", null, h("div", { class: "ez-row" }, h("div", { class: "ez-col ez-col--sd-12" }, h("ez-form", { ref: (ref) => this._form = ref, key: "ezForm" + this._snkDataUnit.entityName, "data-element-id": "embedded", dataUnit: this._dataUnit, config: this._configManager.getConfig(this._dataState.insertionMode, this._dataUnit), recordsValidator: this.recordsValidator, class: this._showFormConfig ? 'snk-form__form--hidden' : '' }), this._showFormConfig &&
120
+ return (h("section", null, h("div", { class: "ez-row" }, h("div", { class: "ez-col ez-col--sd-12" }, h("ez-form", { ref: (ref) => this._form = ref, key: "ezForm" + this._snkDataUnit.entityName, "data-element-id": "embedded", dataUnit: this._dataUnit, config: this._configManager.getConfig(this._dataUnit), recordsValidator: this.recordsValidator, class: this._showFormConfig ? 'snk-form__form--hidden' : '' }), this._showFormConfig &&
121
121
  h("snk-form-config", { messagesBuilder: this.messagesBuilder, dataUnit: this._dataUnit, configManager: this._configManager, onConfigClose: () => this.closeConfig() })))));
122
122
  }
123
123
  static get is() { return "snk-form"; }
@@ -1,11 +1,13 @@
1
1
  import { ConfigStorage } from '../../lib/configs/ConfigStorage';
2
2
  import { ObjectUtils, StringUtils } from "@sankhyalabs/core";
3
3
  import { FormConfigFetcher } from "../../lib/http/data-fetcher/fetchers/form-config-fetcher";
4
+ import { TAB_NAMES } from "../../lib/utils/constants";
4
5
  export class SnkFormConfigManager {
5
- constructor(configName, resourceID, onConfigChange) {
6
+ constructor(configName, resourceID, onConfigChange, dataUnit) {
6
7
  this._resourceID = resourceID;
7
8
  this._configName = configName;
8
9
  this._onConfigChange = onConfigChange;
10
+ this._dataUnit = dataUnit;
9
11
  }
10
12
  addFormLegacyConfig(legacyConfigName) {
11
13
  if (this._configName) {
@@ -16,6 +18,7 @@ export class SnkFormConfigManager {
16
18
  return new Promise(resolve => {
17
19
  ConfigStorage.loadFormConfig(this._configName, this._resourceID)
18
20
  .then((config) => {
21
+ config = this.buildFormMetadataUITabs(config);
19
22
  this.setConfig(config);
20
23
  resolve(config);
21
24
  })
@@ -24,6 +27,10 @@ export class SnkFormConfigManager {
24
27
  });
25
28
  });
26
29
  }
30
+ getEmptyConfig() {
31
+ const config = this.buildFormMetadataUITabs({ fields: [], emptyConfig: true }, true);
32
+ return config;
33
+ }
27
34
  saveConfig(config) {
28
35
  const configToSave = ObjectUtils.copy(config);
29
36
  return new Promise(accept => {
@@ -67,30 +74,41 @@ export class SnkFormConfigManager {
67
74
  }
68
75
  return updatingCardConfig;
69
76
  }
70
- getFieldsList(dataUnit, descriptionFilter) {
77
+ hasConfig(config) {
78
+ var _a;
79
+ const currentConfig = config !== null && config !== void 0 ? config : this._config;
80
+ if (currentConfig && ((_a = currentConfig.fields) === null || _a === void 0 ? void 0 : _a.length)) {
81
+ return true;
82
+ }
83
+ return false;
84
+ }
85
+ getFieldsList(descriptionFilter, forceEmptyConfig = false) {
71
86
  var _a;
72
87
  const fields = (_a = this._config) === null || _a === void 0 ? void 0 : _a.fields;
73
- if (fields != undefined && fields.length > 0) {
74
- return fields.map(({ label, name, readOnly, visible, required }) => {
88
+ const hasConfig = this.hasConfig();
89
+ if (hasConfig && !forceEmptyConfig) {
90
+ return fields.map(({ label, name, readOnly, visible, required, tab, group }) => {
91
+ var _a;
75
92
  if (label == undefined) {
76
- return Object.assign(Object.assign({}, dataUnit.getField(name)), { name,
77
- readOnly,
78
- visible,
79
- required });
93
+ const currentField = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getField(name);
94
+ if (!currentField)
95
+ return;
96
+ return Object.assign(Object.assign({}, currentField), { name: name !== null && name !== void 0 ? name : currentField.name, readOnly: readOnly !== null && readOnly !== void 0 ? readOnly : currentField.readOnly, visible: visible !== null && visible !== void 0 ? visible : currentField.visible, required: required !== null && required !== void 0 ? required : currentField.required, tab: tab, group: group });
80
97
  }
81
- return { name, label, readOnly, visible, required };
98
+ return { name, label, readOnly, visible, required, tab, group };
82
99
  })
83
100
  .filter(field => this.isFieldVisible(field, descriptionFilter));
84
101
  }
85
- if (dataUnit != undefined) {
86
- return dataUnit.metadata.fields
87
- .filter(field => this.isFieldVisible(field, descriptionFilter))
88
- .map(({ label, name, readOnly }) => { return { label, name, readOnly }; });
102
+ if (!this._dataUnit) {
103
+ return [];
89
104
  }
90
- return [];
105
+ const filteredFields = this._dataUnit.metadata.fields
106
+ .filter(field => this.isFieldVisible(field, descriptionFilter))
107
+ .map(({ label, name, readOnly, visible, required, properties }) => ({ label, name, readOnly, visible, required, tab: properties === null || properties === void 0 ? void 0 : properties.UITabName }));
108
+ return filteredFields;
91
109
  }
92
110
  isFieldVisible(field, descriptionFilter) {
93
- if (field.visible === false) {
111
+ if (field === undefined || field.visible === false) {
94
112
  return false;
95
113
  }
96
114
  if (descriptionFilter == undefined) {
@@ -100,8 +118,8 @@ export class SnkFormConfigManager {
100
118
  const normalizedFilter = StringUtils.replaceAccentuatedCharsLower(descriptionFilter.toLocaleLowerCase());
101
119
  return normalizedText.includes(normalizedFilter);
102
120
  }
103
- getInsertionConfig(dataUnit, ignoreReadOnlyFormFields) {
104
- let fields = this.getFieldsList(dataUnit);
121
+ getFormConfig(dataUnit, ignoreReadOnlyFormFields, forceEmptyConfig = false) {
122
+ let fields = this.getFieldsList(undefined, forceEmptyConfig);
105
123
  if (ignoreReadOnlyFormFields) {
106
124
  fields = fields.filter(field => {
107
125
  if (dataUnit) {
@@ -132,8 +150,8 @@ export class SnkFormConfigManager {
132
150
  this._onConfigChange(Object.assign({}, this._config));
133
151
  }
134
152
  }
135
- getConfig(insertionMode, dataUnit, ignoreReadOnlyFormFields) {
136
- return insertionMode ? this.getInsertionConfig(dataUnit, ignoreReadOnlyFormFields !== null && ignoreReadOnlyFormFields !== void 0 ? ignoreReadOnlyFormFields : true) : Object.assign({}, this._config);
153
+ getConfig(dataUnit, ignoreReadOnlyFormFields) {
154
+ return this.getFormConfig(dataUnit, ignoreReadOnlyFormFields !== null && ignoreReadOnlyFormFields !== void 0 ? ignoreReadOnlyFormFields : true);
137
155
  }
138
156
  getFormConfigFetcher() {
139
157
  if (this._formConfigFetcher == undefined) {
@@ -154,4 +172,42 @@ export class SnkFormConfigManager {
154
172
  async fetchDefaultConfig() {
155
173
  return this.getFormConfigFetcher().fetchDefaultConfig(this._configName, this._resourceID);
156
174
  }
175
+ parseObjectList(object) {
176
+ if (!object) {
177
+ return [];
178
+ }
179
+ return Array.isArray(object) ? object : [object];
180
+ }
181
+ buildFormMetadataUITabs(config, forceEmptyConfig = false) {
182
+ var _a;
183
+ const hasConfig = this.hasConfig(config);
184
+ if (!forceEmptyConfig && (!this._dataUnit || hasConfig)) {
185
+ return config;
186
+ }
187
+ config = this.getFormConfig(this._dataUnit, false, true);
188
+ config.tabs = this.parseObjectList(config.tabs);
189
+ config.emptyConfig = false;
190
+ config.defaultConfiguration = true;
191
+ const fields = this._dataUnit.metadata.fields;
192
+ for (const currentField of fields) {
193
+ const field = config.fields.find(field => field.name === currentField.name);
194
+ const uiTabName = (_a = currentField.properties) === null || _a === void 0 ? void 0 : _a.UITabName;
195
+ if (!uiTabName || uiTabName === TAB_NAMES.main) {
196
+ continue;
197
+ }
198
+ const haveTab = config.tabs.some((tab) => tab.label === uiTabName);
199
+ if (!haveTab) {
200
+ config.tabs.push({
201
+ label: uiTabName,
202
+ name: uiTabName,
203
+ order: 0,
204
+ visible: true,
205
+ });
206
+ }
207
+ if (field) {
208
+ field.tab = uiTabName;
209
+ }
210
+ }
211
+ return config;
212
+ }
157
213
  }
@@ -44,6 +44,11 @@
44
44
  background-color: var(--snk-form-config--background-color);
45
45
  }
46
46
 
47
+ div:focus-visible,
48
+ div:focus {
49
+ outline: none;
50
+ }
51
+
47
52
  .form-config__header-container {
48
53
  /*private*/
49
54
  display: flex;
@@ -58,7 +63,7 @@
58
63
  .form-config__hide-content {
59
64
  /*private*/
60
65
  display: none;
61
- }
66
+ }
62
67
 
63
68
  ez-icon .left-icon {
64
69
  /*public*/
@@ -229,9 +234,9 @@ ez-collapsible-box{
229
234
  /*private*/
230
235
  left: calc(100% / 1 * -1);
231
236
  }
232
-
237
+
233
238
  .form-config__field-config--selected:nth-child(3n+3) .ez-flex.form-config__config-options {
234
239
  /*private*/
235
240
  left: calc(100% / 1 * -2);
236
241
  }
237
- }
242
+ }
@@ -38,6 +38,7 @@ export class SnkFormConfig {
38
38
  this.dataUnit = undefined;
39
39
  this.configManager = undefined;
40
40
  this.messagesBuilder = undefined;
41
+ this.ignoreReadOnlyFormFields = undefined;
41
42
  }
42
43
  observeConfigManager() {
43
44
  this.loadConfig(this._sortableTimer);
@@ -67,7 +68,7 @@ export class SnkFormConfig {
67
68
  }
68
69
  }
69
70
  getConfig() {
70
- let config = this.configManager.getConfig(false, this.dataUnit);
71
+ let config = this.configManager.getConfig(this.dataUnit, this.ignoreReadOnlyFormFields);
71
72
  if (config.fields && config.fields.length === 0) {
72
73
  config = undefined;
73
74
  }
@@ -192,7 +193,12 @@ export class SnkFormConfig {
192
193
  this._optionFormConfigChanged = false;
193
194
  this.configManager.saveConfig(this.buildConfigToSave())
194
195
  .then(savedConfig => {
196
+ var _a;
195
197
  ApplicationUtils.info(this.getMessage("snkFormConfig.info.successfullyConfigSaved"), { iconName: "check" });
198
+ const userOption = (_a = this._formConfigOptions) === null || _a === void 0 ? void 0 : _a.find((config) => {
199
+ return config.origin === UserConfigType.USER;
200
+ });
201
+ this.setFormConfig(userOption);
196
202
  this.configChange.emit(savedConfig);
197
203
  });
198
204
  }
@@ -529,9 +535,12 @@ export class SnkFormConfig {
529
535
  switch (this._optionFormConfigSelected.origin) {
530
536
  case UserConfigType.DEFAULT:
531
537
  config = await this.configManager.fetchDefaultConfig();
538
+ if (!config) {
539
+ config = this.configManager.getEmptyConfig();
540
+ }
532
541
  break;
533
- case UserConfigType.DEFAULT:
534
- config = await this.configManager.fetchDefaultConfig();
542
+ default:
543
+ config = this.getConfig();
535
544
  break;
536
545
  }
537
546
  if (config != undefined) {
@@ -670,7 +679,7 @@ export class SnkFormConfig {
670
679
  }
671
680
  }
672
681
  getLayoutFormConfig() {
673
- var _a, _b;
682
+ var _a, _b, _c;
674
683
  if (((_a = this._formConfig) === null || _a === void 0 ? void 0 : _a.fields) == undefined) {
675
684
  return;
676
685
  }
@@ -683,7 +692,11 @@ export class SnkFormConfig {
683
692
  if (hasField == undefined) {
684
693
  fields.push(field);
685
694
  const fieldMD = this.dataUnit.getField(field.name);
686
- if (fieldMD === null || fieldMD === void 0 ? void 0 : fieldMD.visible) {
695
+ /**
696
+ * Quando um campo é ocultado pelo dev, mas queremos manter ele na config precisamos fazer essa tratativa.
697
+ */
698
+ const visibleOnConfig = ((_b = fieldMD === null || fieldMD === void 0 ? void 0 : fieldMD.properties) === null || _b === void 0 ? void 0 : _b.visibleOnConfig) === true && (fieldMD === null || fieldMD === void 0 ? void 0 : fieldMD.visible) === false;
699
+ if ((fieldMD === null || fieldMD === void 0 ? void 0 : fieldMD.visible) || visibleOnConfig) {
687
700
  if (field.label == undefined || field.label === "") {
688
701
  field.label = fieldMD.label;
689
702
  }
@@ -699,7 +712,7 @@ export class SnkFormConfig {
699
712
  visible = configTabs[0].visible;
700
713
  }
701
714
  }
702
- const tabLabel = ((_b = field.tab) === null || _b === void 0 ? void 0 : _b.label) || field.tab;
715
+ const tabLabel = ((_c = field.tab) === null || _c === void 0 ? void 0 : _c.label) || field.tab;
703
716
  if (visible !== null) {
704
717
  tab = { tab: tabLabel, groups: [], visible };
705
718
  }
@@ -734,6 +747,9 @@ export class SnkFormConfig {
734
747
  if (layoutFormConfig == undefined) {
735
748
  layoutFormConfig = [];
736
749
  }
750
+ if (this._formConfig.defaultConfiguration) {
751
+ return layoutFormConfig;
752
+ }
737
753
  return this._formConfig.tabs.map((tab) => {
738
754
  return layoutFormConfig.find(config => { var _a, _b; return ((_a = tab.label) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === ((_b = config.tab) === null || _b === void 0 ? void 0 : _b.toLowerCase()); })
739
755
  || { tab: tab.label, groups: [], visible: tab.visible };
@@ -781,8 +797,16 @@ export class SnkFormConfig {
781
797
  for (const field of this._formConfig.fields) {
782
798
  fieldsFormConfig.push(field);
783
799
  }
784
- const listFieldsAvailable = fieldsMetadata.filter(({ name: _nameFieldMetadado, visible: _visibleMetadado }) => _visibleMetadado === true
785
- && fieldsFormConfig.some(({ name: _nameFieldForm }) => _nameFieldForm === _nameFieldMetadado) === false);
800
+ const listFieldsAvailable = fieldsMetadata.filter(({ name: _nameFieldMetadado, visible: _visibleMetadado, properties }) => {
801
+ const hasCfg = fieldsFormConfig.some(({ name: _nameFieldForm }) => _nameFieldForm === _nameFieldMetadado);
802
+ /**
803
+ * Quando a visibilidade de um campo é alterada pelo dataunit, mas o desenvolvedor deseja que o mesmo continue
804
+ * sendo apresentado no configurador, precisamos fazer essa tratativa, verificando se o campo não tem configuração
805
+ */
806
+ if (!hasCfg && properties.visibleOnConfig === true && !_visibleMetadado)
807
+ return properties.visibleOnConfig;
808
+ return _visibleMetadado === true && hasCfg === false;
809
+ });
786
810
  this._fieldsAvailable = listFieldsAvailable;
787
811
  this._listEnabledFields = listFieldsAvailable;
788
812
  if (((_b = this._filterFieldsAvailable) === null || _b === void 0 ? void 0 : _b.value) != undefined) {
@@ -1055,6 +1079,23 @@ export class SnkFormConfig {
1055
1079
  "tags": [],
1056
1080
  "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
1057
1081
  }
1082
+ },
1083
+ "ignoreReadOnlyFormFields": {
1084
+ "type": "boolean",
1085
+ "mutable": false,
1086
+ "complexType": {
1087
+ "original": "boolean",
1088
+ "resolved": "boolean",
1089
+ "references": {}
1090
+ },
1091
+ "required": false,
1092
+ "optional": true,
1093
+ "docs": {
1094
+ "tags": [],
1095
+ "text": "Ignora os campos \"somente leitura\" no modo de inser\u00E7\u00E3o."
1096
+ },
1097
+ "attribute": "ignore-read-only-form-fields",
1098
+ "reflect": false
1058
1099
  }
1059
1100
  };
1060
1101
  }
@@ -136,11 +136,13 @@ export class SnkConfigOptions {
136
136
  return h(TagName, Object.assign({ value: value, enabled: enabled, label: label, "data-field-name": name, key: name, onEzChange: (evt) => this.onChange(evt === null || evt === void 0 ? void 0 : evt.detail) }, (this.getConditionalAttributes(userInterface, required, options, precision, prettyPrecision, mode))));
137
137
  }
138
138
  getConditionalAttributes(userInterface, required, options, precision, prettyPrecision, mode) {
139
+ const useSearchPlus = userInterface == UserInterface.SEARCHPLUS;
139
140
  switch (userInterface) {
140
141
  case UserInterface.SEARCH:
142
+ case UserInterface.SEARCHPLUS:
141
143
  return {
142
144
  suppressEmptyOption: required,
143
- optionLoader: (searchArgument) => this.onSearch(searchArgument)
145
+ optionLoader: (searchArgument) => this.onSearch(searchArgument, { useSearchPlus })
144
146
  };
145
147
  case UserInterface.OPTIONSELECTOR:
146
148
  return {
@@ -173,9 +175,9 @@ export class SnkConfigOptions {
173
175
  this.fieldConfig.defaultValue.value = this.getValidatedValue(fieldValue);
174
176
  this.configOptionsChanged.emit(this.fieldConfig);
175
177
  }
176
- onSearch(searchArgument) {
178
+ onSearch(searchArgument, ctxOptions) {
177
179
  if (this._application != undefined && this.fieldConfig != undefined) {
178
- return this._application.executeSearch(searchArgument, this.fieldConfig.name, this.dataUnit);
180
+ return this._application.executeSearch(searchArgument, this.fieldConfig.name, this.dataUnit, ctxOptions);
179
181
  }
180
182
  }
181
183
  buildField(descriptor, config) {
@@ -1,11 +1,13 @@
1
1
  :host {
2
2
  --snk-grid-min-height: 300px;
3
+ --snk-grid-padding: var(--space--small);
3
4
  }
4
5
 
5
6
  .snk-grid__container {
6
7
  display: flex;
7
8
  height: 100%;
8
9
  width: 100%;
10
+ padding: var(--snk-grid-padding);
9
11
  }
10
12
 
11
13
  .snk-grid__header {
@@ -30,4 +32,10 @@
30
32
 
31
33
  .snk-grid-container__without-shadow {
32
34
  --ezgrid__container--shadow: unset;
35
+ }
36
+
37
+ .snk-grid-container__footer {
38
+ background-color: var(--background--xlight, #FFF);
39
+ border-radius: 0 0 var(--border--radius-medium) var(--border--radius-medium);
40
+ box-shadow: var(--shadow--small);
33
41
  }