@sankhyalabs/sankhyablocks 10.1.0-dev.5 → 10.1.0-dev.51

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 (452) hide show
  1. package/LICENSE +4 -1
  2. package/dist/cjs/{ConfigStorage-72f34bd4.js → ConfigStorage-a1fab5ca.js} +19 -2
  3. package/dist/cjs/ContinuousInsertUtils-1ae0c6ac.js +41 -0
  4. package/dist/cjs/{DataFetcher-991b0349.js → DataFetcher-384d2ce8.js} +2 -2751
  5. package/dist/cjs/{FormConfigHelper-e253a418.js → FormConfigHelper-28fe4668.js} +3 -1
  6. package/dist/cjs/{ISave-ebf6b4ed.js → ISave-ecbe9336.js} +1 -1
  7. package/dist/cjs/ImageUtils-d6139911.js +144 -0
  8. package/dist/cjs/{PersonalizedFilterUtils-7259cf65.js → PersonalizedFilterUtils-eccb267a.js} +13 -0
  9. package/dist/cjs/{SnkFormConfigManager-cdbb29d4.js → SnkFormConfigManager-44386305.js} +5 -5
  10. package/dist/cjs/SnkMessageBuilder-a9300ebe.js +2833 -0
  11. package/dist/cjs/{SnkMultiSelectionListDataSource-011bec79.js → SnkMultiSelectionListDataSource-293bc3d2.js} +61 -47
  12. package/dist/cjs/{auth-fetcher-c3cac878.js → auth-fetcher-6b134ec4.js} +1 -1
  13. package/dist/cjs/config-header.cjs.entry.js +1 -1
  14. package/dist/cjs/configs-button.cjs.entry.js +1 -1
  15. package/dist/cjs/css-shim-a27d231b.js +6 -0
  16. package/dist/cjs/{dataunit-fetcher-8bf469e7.js → dataunit-fetcher-b9822794.js} +66 -6
  17. package/dist/cjs/dom-ff96a4bc.js +75 -0
  18. package/dist/cjs/field-config_2.cjs.entry.js +3 -3
  19. package/dist/cjs/fields-layout.cjs.entry.js +6 -6
  20. package/dist/cjs/fields-selector.cjs.entry.js +3 -3
  21. package/dist/cjs/{form-config-fetcher-c7af90d8.js → form-config-fetcher-45d1964c.js} +19 -1
  22. package/dist/cjs/guides-configurator.cjs.entry.js +3 -3
  23. package/dist/cjs/{index-1cf293c1.js → index-1894343a.js} +1529 -177
  24. package/dist/cjs/{index-13d05f03.js → index-f0fe7e6e.js} +90 -21
  25. package/dist/cjs/loader.cjs.js +16 -2
  26. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +6 -5
  27. package/dist/cjs/sankhyablocks.cjs.js +132 -4
  28. package/dist/cjs/shadow-css-7e3e0ab1.js +389 -0
  29. package/dist/cjs/snk-actions-button_9.cjs.entry.js +166 -116
  30. package/dist/cjs/snk-actions-form.cjs.entry.js +1 -1
  31. package/dist/cjs/snk-application.cjs.entry.js +29 -9
  32. package/dist/cjs/snk-attach.cjs.entry.js +63 -25
  33. package/dist/cjs/snk-client-confirm.cjs.entry.js +1 -1
  34. package/dist/cjs/snk-configurator.cjs.entry.js +3 -1
  35. package/dist/cjs/snk-crud.cjs.entry.js +350 -109
  36. package/dist/cjs/snk-custom-slot-elements.cjs.entry.js +1 -1
  37. package/dist/cjs/snk-custom-slot-guide.cjs.entry.js +40 -0
  38. package/dist/cjs/snk-data-exporter.cjs.entry.js +9 -7
  39. package/dist/cjs/{snk-data-unit-7d587ad5.js → snk-data-unit-4b6dc396.js} +21 -12
  40. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -4
  41. package/dist/cjs/snk-default-filter.cjs.entry.js +1 -1
  42. package/dist/cjs/snk-detail-view.cjs.entry.js +27 -20
  43. package/dist/cjs/snk-entity-list.cjs.entry.js +1 -1
  44. package/dist/cjs/snk-entity-search.cjs.entry.js +211 -0
  45. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +2 -2
  46. package/dist/cjs/snk-expression-group_2.cjs.entry.js +2 -2
  47. package/dist/cjs/{snk-filter-advanced-mode_2.cjs.entry.js → snk-filter-advanced-mode_3.cjs.entry.js} +41 -3
  48. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +147 -94
  49. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  50. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  51. package/dist/cjs/snk-filter-detail.cjs.entry.js +3 -3
  52. package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +2 -2
  53. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +5 -4
  54. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +1 -1
  55. package/dist/cjs/snk-filter-number.cjs.entry.js +11 -7
  56. package/dist/cjs/snk-filter-period.cjs.entry.js +14 -7
  57. package/dist/cjs/snk-filter-search.cjs.entry.js +1 -1
  58. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -2
  59. package/dist/cjs/snk-form-summary.cjs.entry.js +1 -1
  60. package/dist/cjs/snk-form-view.cjs.entry.js +70 -8
  61. package/dist/cjs/snk-form_2.cjs.entry.js +22 -11
  62. package/dist/cjs/snk-grid.cjs.entry.js +76 -34
  63. package/dist/cjs/{snk-guides-viewer-366d5c32.js → snk-guides-viewer-b4ca3437.js} +78 -214
  64. package/dist/cjs/snk-guides-viewer.cjs.entry.js +11 -18
  65. package/dist/cjs/snk-image-input.cjs.entry.js +160 -0
  66. package/dist/cjs/snk-layout-form-config.cjs.entry.js +72 -0
  67. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +1 -1
  68. package/dist/cjs/snk-personalized-filter.cjs.entry.js +8 -7
  69. package/dist/cjs/snk-pesquisa.cjs.entry.js +6 -6
  70. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  71. package/dist/cjs/snk-simple-crud.cjs.entry.js +30 -35
  72. package/dist/cjs/snk-taskbar.cjs.entry.js +183 -126
  73. package/dist/cjs/{sortable.esm-9a110bb7.js → sortable.esm-b87669ab.js} +76 -90
  74. package/dist/cjs/taskbar-elements-80eddec8.js +152 -0
  75. package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
  76. package/dist/collection/collection-manifest.json +9 -0
  77. package/dist/collection/components/snk-actions-button/actions/executor/launch-screen.executor.js +6 -3
  78. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -3
  79. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +1 -0
  80. package/dist/collection/components/snk-application/snk-application.js +20 -2
  81. package/dist/collection/components/snk-attach/snk-attach.css +29 -7
  82. package/dist/collection/components/snk-attach/snk-attach.js +94 -19
  83. package/dist/collection/components/snk-configurator/snk-configurator.js +2 -0
  84. package/dist/collection/components/snk-crud/snk-crud.css +50 -0
  85. package/dist/collection/components/snk-crud/snk-crud.js +165 -98
  86. package/dist/collection/components/snk-crud/subcomponents/GuideBuilder.js +1 -1
  87. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +15 -7
  88. package/dist/collection/components/snk-crud/subcomponents/snk-entity-search.css +17 -0
  89. package/dist/collection/components/snk-crud/subcomponents/snk-entity-search.js +330 -0
  90. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +90 -8
  91. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +22 -8
  92. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +90 -205
  93. package/dist/collection/components/snk-crud/utils/taskbarUtils.js +144 -0
  94. package/dist/collection/components/snk-custom-slot-guide/snk-custom-slot-guide.css +3 -0
  95. package/dist/collection/components/snk-custom-slot-guide/snk-custom-slot-guide.js +95 -0
  96. package/dist/collection/components/snk-data-exporter/exporter-email-sender/snk-exporter-email-sender.js +1 -1
  97. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +20 -1
  98. package/dist/collection/components/snk-data-unit/snk-data-unit.js +9 -0
  99. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +13 -9
  100. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-period.js +14 -7
  101. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +1 -1
  102. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +1 -1
  103. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.css +5 -1
  104. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +28 -2
  105. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +7 -1
  106. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +22 -8
  107. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -6
  108. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +166 -78
  109. package/dist/collection/components/snk-form-config/FormConfigHelper.js +3 -1
  110. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +3 -3
  111. package/dist/collection/components/snk-form-config/field-item/field-config/field-config.css +1 -0
  112. package/dist/collection/components/snk-form-config/fields-layout/fields-layout.css +16 -0
  113. package/dist/collection/components/snk-form-config/fields-layout/fields-layout.js +4 -4
  114. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.css +3 -4
  115. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.js +2 -2
  116. package/dist/collection/components/snk-form-config/snk-form-config.js +15 -5
  117. package/dist/collection/components/snk-grid/snk-grid.css +24 -3
  118. package/dist/collection/components/snk-grid/snk-grid.js +183 -22
  119. package/dist/collection/components/snk-grid-config/snk-grid-config.js +153 -51
  120. package/dist/collection/components/snk-image-input/snk-image-input.css +3 -0
  121. package/dist/collection/components/snk-image-input/snk-image-input.js +338 -0
  122. package/dist/collection/components/snk-image-input/utils/ImageUtils.js +135 -0
  123. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +1 -1
  124. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +1 -1
  125. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +1 -1
  126. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.js +13 -0
  127. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +0 -4
  128. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +35 -23
  129. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +8 -0
  130. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +38 -2
  131. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +54 -37
  132. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.js +27 -1
  133. package/dist/collection/components/snk-taskbar/processor/simple-taskbar-processor.js +55 -0
  134. package/dist/collection/components/snk-taskbar/snk-taskbar.css +44 -1
  135. package/dist/collection/components/snk-taskbar/snk-taskbar.js +248 -132
  136. package/dist/collection/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.css +12 -0
  137. package/dist/collection/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.js +19 -0
  138. package/dist/collection/lib/configs/ConfigStorage.js +5 -0
  139. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +40 -3
  140. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +24 -2
  141. package/dist/collection/lib/http/data-fetcher/fetchers/grid-config-fetcher.js +12 -0
  142. package/dist/collection/lib/http/data-fetcher/fetchers/resource-fetcher.js +18 -0
  143. package/dist/collection/lib/message/SnkMessageBuilder.js +11 -2
  144. package/dist/collection/lib/message/messageResourceEnUSUtils.js +2 -0
  145. package/dist/collection/lib/message/messageResourceEsESUtils.js +2 -0
  146. package/dist/collection/lib/message/messageResourcePtBRUtils.js +2 -0
  147. package/dist/collection/lib/message/resources/en-us/snk-crud.msg.js +9 -1
  148. package/dist/collection/lib/message/resources/en-us/snk-form.msg.js +1 -0
  149. package/dist/collection/lib/message/resources/en-us/snk-image-input.msg.js +11 -0
  150. package/dist/collection/lib/message/resources/en-us/snk-layout-form-config.msg.js +10 -2
  151. package/dist/collection/lib/message/resources/es-es/snk-crud.msg.js +9 -1
  152. package/dist/collection/lib/message/resources/es-es/snk-form.msg.js +1 -0
  153. package/dist/collection/lib/message/resources/es-es/snk-image-input.msg.js +11 -0
  154. package/dist/collection/lib/message/resources/es-es/snk-layout-form-config.msg.js +8 -0
  155. package/dist/collection/lib/message/resources/pt-br/snk-configurator.msg.js +1 -1
  156. package/dist/collection/lib/message/resources/pt-br/snk-crud.msg.js +9 -1
  157. package/dist/collection/lib/message/resources/pt-br/snk-form.msg.js +1 -0
  158. package/dist/collection/lib/message/resources/pt-br/snk-image-input.msg.js +11 -0
  159. package/dist/collection/lib/message/resources/pt-br/snk-layout-form-config.msg.js +10 -2
  160. package/dist/components/ConfigStorage.js +17 -0
  161. package/dist/components/ContinuousInsertUtils.js +1 -1
  162. package/dist/components/DataFetcher.js +3 -2731
  163. package/dist/components/PersonalizedFilterUtils.js +13 -0
  164. package/dist/components/SnkFormConfigManager.js +3 -3
  165. package/dist/components/SnkMessageBuilder.js +2831 -0
  166. package/dist/components/dataunit-fetcher.js +65 -5
  167. package/dist/components/field-config2.js +4 -2
  168. package/dist/components/fields-layout2.js +4 -4
  169. package/dist/components/form-config-fetcher.js +18 -0
  170. package/dist/components/guides-configurator2.js +2 -2
  171. package/dist/components/index.d.ts +4 -0
  172. package/dist/components/index.js +4 -0
  173. package/dist/components/index2.js +90 -21
  174. package/dist/components/snk-actions-button2.js +12 -6
  175. package/dist/components/snk-application2.js +22 -2
  176. package/dist/components/snk-attach2.js +70 -28
  177. package/dist/components/snk-configurator2.js +2 -0
  178. package/dist/components/snk-crud.js +433 -176
  179. package/dist/components/snk-custom-slot-guide.d.ts +11 -0
  180. package/dist/components/snk-custom-slot-guide.js +55 -0
  181. package/dist/components/snk-data-exporter2.js +3 -1
  182. package/dist/components/snk-data-unit2.js +10 -1
  183. package/dist/components/snk-detail-view2.js +221 -318
  184. package/dist/components/snk-entity-search.d.ts +11 -0
  185. package/dist/components/snk-entity-search.js +6 -0
  186. package/dist/components/snk-entity-search2.js +231 -0
  187. package/dist/components/snk-exporter-email-sender2.js +1 -1
  188. package/dist/components/snk-filter-bar2.js +116 -80
  189. package/dist/components/snk-filter-detail2.js +1 -1
  190. package/dist/components/snk-filter-item2.js +9 -3
  191. package/dist/components/snk-filter-modal2.js +22 -9
  192. package/dist/components/snk-filter-number.js +12 -8
  193. package/dist/components/snk-filter-period.js +13 -6
  194. package/dist/components/snk-filter-text.js +1 -1
  195. package/dist/components/snk-form-config2.js +15 -5
  196. package/dist/components/snk-form-view2.js +79 -10
  197. package/dist/components/snk-grid-config2.js +109 -50
  198. package/dist/components/snk-grid2.js +116 -63
  199. package/dist/components/snk-image-input.d.ts +11 -0
  200. package/dist/components/snk-image-input.js +6 -0
  201. package/dist/components/snk-image-input2.js +316 -0
  202. package/dist/components/snk-layout-form-config2.js +1 -1
  203. package/dist/components/snk-personalized-filter2.js +1 -1
  204. package/dist/components/snk-pesquisa2.js +0 -1
  205. package/dist/components/snk-simple-crud2.js +47 -46
  206. package/dist/components/snk-taskbar-skeleton.d.ts +11 -0
  207. package/dist/components/snk-taskbar-skeleton.js +6 -0
  208. package/dist/components/snk-taskbar-skeleton2.js +29 -0
  209. package/dist/components/snk-taskbar2.js +256 -176
  210. package/dist/components/snk-view-representation2.js +1 -1
  211. package/dist/components/sortable.esm.js +76 -90
  212. package/dist/components/taskbar-actions-button2.js +21 -2
  213. package/dist/components/taskbar-split-button2.js +10 -1
  214. package/dist/esm/{ConfigStorage-22324b6b.js → ConfigStorage-76872695.js} +19 -2
  215. package/dist/esm/ContinuousInsertUtils-bce77dc1.js +39 -0
  216. package/dist/esm/{DataFetcher-450828a0.js → DataFetcher-e60f8d53.js} +3 -2731
  217. package/dist/esm/{FormConfigHelper-e89ca25c.js → FormConfigHelper-d09669f3.js} +3 -1
  218. package/dist/esm/{ISave-61153166.js → ISave-4929c071.js} +1 -1
  219. package/dist/esm/ImageUtils-efbea0e4.js +138 -0
  220. package/dist/esm/{PersonalizedFilterUtils-2db38ff2.js → PersonalizedFilterUtils-d2439a9a.js} +13 -0
  221. package/dist/esm/{SnkFormConfigManager-b5a92e12.js → SnkFormConfigManager-83f6b22f.js} +5 -5
  222. package/dist/esm/SnkMessageBuilder-1eb7a1af.js +2831 -0
  223. package/dist/esm/{SnkMultiSelectionListDataSource-d7ce2e54.js → SnkMultiSelectionListDataSource-f6cabd15.js} +55 -41
  224. package/dist/esm/{auth-fetcher-eef9d01e.js → auth-fetcher-1a31c1e4.js} +1 -1
  225. package/dist/esm/config-header.entry.js +1 -1
  226. package/dist/esm/configs-button.entry.js +1 -1
  227. package/dist/esm/css-shim-9f2d321e.js +4 -0
  228. package/dist/esm/{dataunit-fetcher-da9596f6.js → dataunit-fetcher-c176e002.js} +65 -5
  229. package/dist/esm/dom-64053c71.js +73 -0
  230. package/dist/esm/field-config_2.entry.js +3 -3
  231. package/dist/esm/fields-layout.entry.js +6 -6
  232. package/dist/esm/fields-selector.entry.js +3 -3
  233. package/dist/esm/{form-config-fetcher-8d0a5e1c.js → form-config-fetcher-b44b2727.js} +19 -1
  234. package/dist/esm/guides-configurator.entry.js +3 -3
  235. package/dist/esm/{index-479e1293.js → index-04f73a26.js} +1521 -177
  236. package/dist/esm/{index-446f9341.js → index-ea250be6.js} +90 -21
  237. package/dist/esm/loader.js +17 -3
  238. package/dist/esm/pesquisa-grid_2.entry.js +6 -5
  239. package/dist/esm/sankhyablocks.js +133 -5
  240. package/dist/esm/shadow-css-98135883.js +387 -0
  241. package/dist/esm/snk-actions-button_9.entry.js +167 -117
  242. package/dist/esm/snk-actions-form.entry.js +1 -1
  243. package/dist/esm/snk-application.entry.js +28 -8
  244. package/dist/esm/snk-attach.entry.js +62 -24
  245. package/dist/esm/snk-client-confirm.entry.js +1 -1
  246. package/dist/esm/snk-configurator.entry.js +3 -1
  247. package/dist/esm/snk-crud.entry.js +342 -101
  248. package/dist/esm/snk-custom-slot-elements.entry.js +1 -1
  249. package/dist/esm/snk-custom-slot-guide.entry.js +36 -0
  250. package/dist/esm/snk-data-exporter.entry.js +9 -7
  251. package/dist/esm/{snk-data-unit-99616a07.js → snk-data-unit-d8cfa950.js} +12 -3
  252. package/dist/esm/snk-data-unit.entry.js +5 -4
  253. package/dist/esm/snk-default-filter.entry.js +1 -1
  254. package/dist/esm/snk-detail-view.entry.js +25 -18
  255. package/dist/esm/snk-entity-list.entry.js +1 -1
  256. package/dist/esm/snk-entity-search.entry.js +207 -0
  257. package/dist/esm/snk-exporter-email-sender.entry.js +2 -2
  258. package/dist/esm/snk-expression-group_2.entry.js +2 -2
  259. package/dist/esm/{snk-filter-advanced-mode_2.entry.js → snk-filter-advanced-mode_3.entry.js} +41 -4
  260. package/dist/esm/snk-filter-bar_4.entry.js +148 -95
  261. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  262. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  263. package/dist/esm/snk-filter-detail.entry.js +3 -3
  264. package/dist/esm/snk-filter-field-search_2.entry.js +2 -2
  265. package/dist/esm/snk-filter-modal-item.entry.js +5 -4
  266. package/dist/esm/snk-filter-multi-select.entry.js +1 -1
  267. package/dist/esm/snk-filter-number.entry.js +11 -7
  268. package/dist/esm/snk-filter-period.entry.js +14 -7
  269. package/dist/esm/snk-filter-search.entry.js +1 -1
  270. package/dist/esm/snk-filter-text.entry.js +2 -2
  271. package/dist/esm/snk-form-summary.entry.js +1 -1
  272. package/dist/esm/snk-form-view.entry.js +71 -9
  273. package/dist/esm/snk-form_2.entry.js +22 -11
  274. package/dist/esm/snk-grid.entry.js +73 -31
  275. package/dist/esm/{snk-guides-viewer-240de636.js → snk-guides-viewer-cc37535b.js} +79 -215
  276. package/dist/esm/snk-guides-viewer.entry.js +11 -18
  277. package/dist/esm/snk-image-input.entry.js +156 -0
  278. package/dist/esm/snk-layout-form-config.entry.js +68 -0
  279. package/dist/esm/snk-personalized-filter-editor.entry.js +1 -1
  280. package/dist/esm/snk-personalized-filter.entry.js +8 -7
  281. package/dist/esm/snk-pesquisa.entry.js +6 -6
  282. package/dist/esm/snk-print-selector.entry.js +1 -1
  283. package/dist/esm/snk-simple-crud.entry.js +28 -33
  284. package/dist/esm/snk-taskbar.entry.js +184 -127
  285. package/dist/esm/{sortable.esm-842f85a3.js → sortable.esm-bc277c12.js} +76 -90
  286. package/dist/esm/taskbar-elements-63651ca7.js +149 -0
  287. package/dist/esm/teste-pesquisa.entry.js +1 -1
  288. package/dist/sankhyablocks/{p-7f7fe6c4.entry.js → p-0a160fb5.entry.js} +1 -1
  289. package/dist/sankhyablocks/p-0afc64df.entry.js +1 -0
  290. package/dist/sankhyablocks/p-10f27dc6.entry.js +1 -0
  291. package/dist/sankhyablocks/p-134702f6.entry.js +1 -0
  292. package/dist/sankhyablocks/{p-162bddae.entry.js → p-175c9576.entry.js} +1 -1
  293. package/dist/sankhyablocks/p-20f03230.entry.js +1 -0
  294. package/dist/sankhyablocks/p-26f1919e.entry.js +1 -0
  295. package/dist/sankhyablocks/p-2af8aca3.js +1 -0
  296. package/dist/sankhyablocks/p-2c9d0870.js +2 -0
  297. package/dist/sankhyablocks/{p-cb4343c4.entry.js → p-2cc2526e.entry.js} +1 -1
  298. package/dist/sankhyablocks/{p-75af335e.entry.js → p-2ebda226.entry.js} +1 -1
  299. package/dist/sankhyablocks/p-3072136e.js +1 -0
  300. package/dist/sankhyablocks/p-33492640.entry.js +1 -0
  301. package/dist/sankhyablocks/{p-002d4d2b.js → p-3704bf1b.js} +1 -1
  302. package/dist/sankhyablocks/p-3870748a.js +28 -0
  303. package/dist/sankhyablocks/p-3a35917e.entry.js +1 -0
  304. package/dist/sankhyablocks/{p-7d6f1285.js → p-3c990841.js} +2 -2
  305. package/dist/sankhyablocks/{p-49ddc27a.entry.js → p-438a225f.entry.js} +1 -1
  306. package/dist/sankhyablocks/p-4d04bc75.entry.js +1 -0
  307. package/dist/sankhyablocks/{p-840fb68c.js → p-4f7adf97.js} +2 -2
  308. package/dist/sankhyablocks/p-554c0e54.js +1 -0
  309. package/dist/sankhyablocks/{p-27482793.entry.js → p-5aae5c74.entry.js} +1 -1
  310. package/dist/sankhyablocks/p-68c1a093.js +1 -0
  311. package/dist/sankhyablocks/p-6ae7543b.entry.js +1 -0
  312. package/dist/sankhyablocks/p-6e278003.js +60 -0
  313. package/dist/sankhyablocks/{p-825098c1.entry.js → p-752c57f4.entry.js} +1 -1
  314. package/dist/sankhyablocks/{p-e258de96.entry.js → p-76729994.entry.js} +1 -1
  315. package/dist/sankhyablocks/p-771b137e.js +1 -0
  316. package/dist/sankhyablocks/p-77f608bc.entry.js +1 -0
  317. package/dist/sankhyablocks/p-82bcb4cf.entry.js +1 -0
  318. package/dist/sankhyablocks/p-855ccf64.entry.js +1 -0
  319. package/dist/sankhyablocks/{p-118c221e.js → p-8b4d6719.js} +1 -1
  320. package/dist/sankhyablocks/{p-3d41f5a8.entry.js → p-8d946600.entry.js} +1 -1
  321. package/dist/sankhyablocks/p-8fe740b7.entry.js +11 -0
  322. package/dist/sankhyablocks/{p-96d45943.entry.js → p-90ae6c2e.entry.js} +1 -1
  323. package/dist/sankhyablocks/p-95af0bb1.entry.js +1 -0
  324. package/dist/sankhyablocks/p-95b36bd3.entry.js +1 -0
  325. package/dist/sankhyablocks/{p-0b9a42ad.entry.js → p-9742ea0e.entry.js} +1 -1
  326. package/dist/sankhyablocks/{p-2fdac5e6.entry.js → p-9e109f5e.entry.js} +1 -1
  327. package/dist/sankhyablocks/p-9e77e136.js +1 -0
  328. package/dist/sankhyablocks/p-9e7dc97d.entry.js +1 -0
  329. package/dist/sankhyablocks/p-a2a9f520.entry.js +1 -0
  330. package/dist/sankhyablocks/p-a46ac091.js +1 -0
  331. package/dist/sankhyablocks/p-a73b6b00.js +1 -0
  332. package/dist/sankhyablocks/p-a905712a.entry.js +1 -0
  333. package/dist/sankhyablocks/{p-92cfc028.js → p-ab5e12fa.js} +1 -1
  334. package/dist/sankhyablocks/{p-180716b2.entry.js → p-ae326d06.entry.js} +1 -1
  335. package/dist/sankhyablocks/p-af673291.js +1 -0
  336. package/dist/sankhyablocks/p-aff2d081.entry.js +1 -0
  337. package/dist/sankhyablocks/p-b0a357b4.entry.js +1 -0
  338. package/dist/sankhyablocks/p-b555ce38.entry.js +1 -0
  339. package/dist/sankhyablocks/p-bab4cde4.entry.js +1 -0
  340. package/dist/sankhyablocks/p-c3ec6642.js +19 -0
  341. package/dist/sankhyablocks/p-ca3728c0.entry.js +1 -0
  342. package/dist/sankhyablocks/p-cbb8e351.js +7 -0
  343. package/dist/sankhyablocks/{p-c3dbf441.entry.js → p-cc64239c.entry.js} +1 -1
  344. package/dist/sankhyablocks/{p-471b34f4.entry.js → p-cd00a3d1.entry.js} +1 -1
  345. package/dist/sankhyablocks/p-ce8ccd72.entry.js +1 -0
  346. package/dist/sankhyablocks/{p-4c763b10.entry.js → p-d657f71f.entry.js} +1 -1
  347. package/dist/sankhyablocks/p-d9ec8c4b.entry.js +1 -0
  348. package/dist/sankhyablocks/p-da455c82.js +12 -0
  349. package/dist/sankhyablocks/p-e5a3711f.js +1 -0
  350. package/dist/sankhyablocks/{p-9a63f3f7.entry.js → p-e737fd5a.entry.js} +1 -1
  351. package/dist/sankhyablocks/p-e8df1dea.entry.js +1 -0
  352. package/dist/sankhyablocks/p-ee56dda6.entry.js +1 -0
  353. package/dist/sankhyablocks/p-ef9343c3.entry.js +1 -0
  354. package/dist/sankhyablocks/{p-667cab42.entry.js → p-f152ef98.entry.js} +1 -1
  355. package/dist/sankhyablocks/p-f1bbf065.entry.js +1 -0
  356. package/dist/sankhyablocks/p-f5ad0720.js +1 -0
  357. package/dist/sankhyablocks/{p-7e250432.entry.js → p-f7170e10.entry.js} +1 -1
  358. package/dist/sankhyablocks/{p-7345782c.entry.js → p-f921270b.entry.js} +1 -1
  359. package/dist/sankhyablocks/p-fec88660.entry.js +1 -0
  360. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  361. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +4 -0
  362. package/dist/types/components/snk-application/snk-application.d.ts +1 -1
  363. package/dist/types/components/snk-attach/snk-attach.d.ts +22 -4
  364. package/dist/types/components/snk-crud/snk-crud.d.ts +33 -11
  365. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +2 -2
  366. package/dist/types/components/snk-crud/subcomponents/snk-entity-search.d.ts +62 -0
  367. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +12 -0
  368. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +13 -25
  369. package/dist/types/components/snk-crud/utils/taskbarUtils.d.ts +13 -0
  370. package/dist/types/components/snk-custom-slot-guide/snk-custom-slot-guide.d.ts +16 -0
  371. package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +4 -0
  372. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +1 -0
  373. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-number.d.ts +1 -1
  374. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-period.d.ts +1 -0
  375. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +5 -1
  376. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +2 -1
  377. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +33 -16
  378. package/dist/types/components/snk-form-config/FormConfigHelper.d.ts +1 -1
  379. package/dist/types/components/snk-form-config/fields-layout/fields-layout.d.ts +2 -2
  380. package/dist/types/components/snk-form-config/guides-configurator/guides-configurator.d.ts +1 -1
  381. package/dist/types/components/snk-form-config/snk-form-config.d.ts +2 -1
  382. package/dist/types/components/snk-grid/snk-grid.d.ts +30 -1
  383. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +11 -0
  384. package/dist/types/components/snk-image-input/snk-image-input.d.ts +57 -0
  385. package/dist/types/components/snk-image-input/utils/ImageUtils.d.ts +15 -0
  386. package/dist/types/components/snk-personalized-filter/interfaces/IParameter.d.ts +1 -0
  387. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +0 -1
  388. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +4 -1
  389. package/dist/types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.d.ts +6 -0
  390. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +29 -2
  391. package/dist/types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.d.ts +5 -0
  392. package/dist/types/components/snk-taskbar/processor/simple-taskbar-processor.d.ts +31 -0
  393. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +32 -21
  394. package/dist/types/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.d.ts +3 -0
  395. package/dist/types/components.d.ts +347 -5
  396. package/dist/types/lib/configs/ConfigStorage.d.ts +1 -0
  397. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -0
  398. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.d.ts +2 -1
  399. package/dist/types/lib/http/data-fetcher/fetchers/grid-config-fetcher.d.ts +1 -0
  400. package/dist/types/lib/http/data-fetcher/fetchers/resource-fetcher.d.ts +1 -0
  401. package/dist/types/lib/message/resources/en-us/snk-image-input.msg.d.ts +1 -0
  402. package/dist/types/lib/message/resources/es-es/snk-image-input.msg.d.ts +1 -0
  403. package/dist/types/lib/message/resources/pt-br/snk-image-input.msg.d.ts +1 -0
  404. package/package.json +7 -8
  405. package/react/components.d.ts +4 -0
  406. package/react/components.js +4 -0
  407. package/react/components.js.map +1 -1
  408. package/dist/cjs/snk-simple-bar.cjs.entry.js +0 -45
  409. package/dist/cjs/taskbar-elements-fb5d1e08.js +0 -132
  410. package/dist/cjs/taskbar-processor-2fba34a8.js +0 -53
  411. package/dist/esm/snk-simple-bar.entry.js +0 -41
  412. package/dist/esm/taskbar-elements-faaf5d8f.js +0 -129
  413. package/dist/esm/taskbar-processor-3436124c.js +0 -51
  414. package/dist/sankhyablocks/p-093f58fa.entry.js +0 -1
  415. package/dist/sankhyablocks/p-0948dc0a.entry.js +0 -11
  416. package/dist/sankhyablocks/p-1a0caadb.js +0 -1
  417. package/dist/sankhyablocks/p-1a9c5684.entry.js +0 -1
  418. package/dist/sankhyablocks/p-1d589380.entry.js +0 -1
  419. package/dist/sankhyablocks/p-21107f0d.entry.js +0 -1
  420. package/dist/sankhyablocks/p-28f50632.js +0 -1
  421. package/dist/sankhyablocks/p-39be771c.js +0 -1
  422. package/dist/sankhyablocks/p-3ed04f0d.entry.js +0 -1
  423. package/dist/sankhyablocks/p-4963dd2a.entry.js +0 -1
  424. package/dist/sankhyablocks/p-51833248.js +0 -7
  425. package/dist/sankhyablocks/p-55798617.js +0 -1
  426. package/dist/sankhyablocks/p-55f6fef2.entry.js +0 -1
  427. package/dist/sankhyablocks/p-56f16390.entry.js +0 -1
  428. package/dist/sankhyablocks/p-58683e28.js +0 -60
  429. package/dist/sankhyablocks/p-5ea893c5.entry.js +0 -1
  430. package/dist/sankhyablocks/p-60dd1d27.entry.js +0 -1
  431. package/dist/sankhyablocks/p-62aef37a.js +0 -1
  432. package/dist/sankhyablocks/p-62e9b9b8.entry.js +0 -1
  433. package/dist/sankhyablocks/p-669bb869.entry.js +0 -1
  434. package/dist/sankhyablocks/p-6ee2ca7a.entry.js +0 -1
  435. package/dist/sankhyablocks/p-7cac3870.entry.js +0 -1
  436. package/dist/sankhyablocks/p-86e54841.entry.js +0 -1
  437. package/dist/sankhyablocks/p-88b337fe.entry.js +0 -1
  438. package/dist/sankhyablocks/p-91005a00.entry.js +0 -1
  439. package/dist/sankhyablocks/p-91a9abb6.entry.js +0 -1
  440. package/dist/sankhyablocks/p-988afe78.js +0 -1
  441. package/dist/sankhyablocks/p-ada013c0.entry.js +0 -1
  442. package/dist/sankhyablocks/p-b7e891cc.entry.js +0 -1
  443. package/dist/sankhyablocks/p-b987e15d.js +0 -1
  444. package/dist/sankhyablocks/p-c35fc941.js +0 -26
  445. package/dist/sankhyablocks/p-c4fcf1fb.entry.js +0 -1
  446. package/dist/sankhyablocks/p-c98c79c3.entry.js +0 -1
  447. package/dist/sankhyablocks/p-cadf4846.entry.js +0 -1
  448. package/dist/sankhyablocks/p-d8d8169b.js +0 -2
  449. package/dist/sankhyablocks/p-e91c3c57.entry.js +0 -1
  450. package/dist/sankhyablocks/p-ea729922.entry.js +0 -1
  451. package/dist/sankhyablocks/p-ec5fbad8.js +0 -1
  452. package/dist/sankhyablocks/p-f5e942b7.entry.js +0 -1
@@ -9,55 +9,259 @@ import './filter-item-type.enum.js';
9
9
  import './form-config-fetcher.js';
10
10
  import { V as VIEW_MODE } from './constants.js';
11
11
  import { A as AutorizationType } from './auth-fetcher.js';
12
- import { S as ServicesNumberingConfig, d as defineCustomElement$b } from './snk-numbering-config2.js';
13
- import { T as TaskbarElement, d as defineCustomElement$5 } from './snk-taskbar2.js';
14
- import { d as defineCustomElement$I } from './config-header2.js';
15
- import { d as defineCustomElement$H } from './configs-button2.js';
16
- import { d as defineCustomElement$G } from './field-config2.js';
17
- import { d as defineCustomElement$F } from './field-item2.js';
18
- import { d as defineCustomElement$E } from './fields-layout2.js';
19
- import { d as defineCustomElement$D } from './fields-selector2.js';
20
- import { d as defineCustomElement$C } from './guides-configurator2.js';
21
- import { d as defineCustomElement$B } from './snk-actions-button2.js';
22
- import { d as defineCustomElement$A } from './snk-attach2.js';
23
- import { d as defineCustomElement$z } from './snk-configurator2.js';
24
- import { d as defineCustomElement$y } from './snk-data-exporter2.js';
25
- import { d as defineCustomElement$x } from './snk-data-unit2.js';
26
- import { d as defineCustomElement$w } from './snk-default-filter2.js';
27
- import { d as defineCustomElement$d, a as defineCustomElement$v } from './snk-detail-view2.js';
28
- import { d as defineCustomElement$u } from './snk-exporter-email-sender2.js';
29
- import { d as defineCustomElement$t } from './snk-expression-group2.js';
30
- import { d as defineCustomElement$s } from './snk-expression-item2.js';
31
- import { d as defineCustomElement$r } from './snk-filter-advanced-mode2.js';
32
- import { d as defineCustomElement$q } from './snk-filter-assistent-mode2.js';
33
- import { d as defineCustomElement$p } from './snk-filter-bar2.js';
34
- import { d as defineCustomElement$o } from './snk-filter-detail2.js';
35
- import { d as defineCustomElement$n } from './snk-filter-field-search2.js';
36
- import { d as defineCustomElement$m } from './snk-filter-item2.js';
37
- import { d as defineCustomElement$l } from './snk-filter-modal2.js';
38
- import { d as defineCustomElement$k } from './snk-filter-modal-item2.js';
39
- import { d as defineCustomElement$j } from './snk-filter-param-config2.js';
40
- import { d as defineCustomElement$i } from './snk-form-config2.js';
41
- import { d as defineCustomElement$h } from './snk-form-summary2.js';
42
- import { d as defineCustomElement$g } from './snk-form-view2.js';
43
- import { d as defineCustomElement$f } from './snk-grid2.js';
44
- import { d as defineCustomElement$e } from './snk-grid-config2.js';
45
- import { d as defineCustomElement$c } from './snk-layout-form-config2.js';
46
- import { d as defineCustomElement$a } from './snk-personalized-filter2.js';
47
- import { d as defineCustomElement$9 } from './snk-select-box2.js';
48
- import { d as defineCustomElement$8 } from './snk-simple-bar2.js';
49
- import { d as defineCustomElement$7 } from './snk-simple-crud2.js';
50
- import { d as defineCustomElement$6 } from './snk-simple-form-config2.js';
12
+ import { S as ServicesNumberingConfig, d as defineCustomElement$c } from './snk-numbering-config2.js';
13
+ import { T as TaskbarElement, d as defineCustomElement$6 } from './snk-taskbar2.js';
14
+ import { v as validateFilters, d as defineCustomElement$n } from './snk-filter-modal2.js';
15
+ import { buildFieldSearch } from '@sankhyalabs/ezui/dist/collection/utils';
16
+ import { C as ContinuousInsertUtils } from './ContinuousInsertUtils.js';
17
+ import { d as defineCustomElement$L } from './config-header2.js';
18
+ import { d as defineCustomElement$K } from './configs-button2.js';
19
+ import { d as defineCustomElement$J } from './field-config2.js';
20
+ import { d as defineCustomElement$I } from './field-item2.js';
21
+ import { d as defineCustomElement$H } from './fields-layout2.js';
22
+ import { d as defineCustomElement$G } from './fields-selector2.js';
23
+ import { d as defineCustomElement$F } from './guides-configurator2.js';
24
+ import { d as defineCustomElement$E } from './snk-actions-button2.js';
25
+ import { d as defineCustomElement$D } from './snk-attach2.js';
26
+ import { d as defineCustomElement$C } from './snk-configurator2.js';
27
+ import { d as defineCustomElement$B } from './snk-data-exporter2.js';
28
+ import { d as defineCustomElement$A } from './snk-data-unit2.js';
29
+ import { d as defineCustomElement$z } from './snk-default-filter2.js';
30
+ import { d as defineCustomElement$f, a as defineCustomElement$y } from './snk-detail-view2.js';
31
+ import { d as defineCustomElement$x } from './snk-entity-search2.js';
32
+ import { d as defineCustomElement$w } from './snk-exporter-email-sender2.js';
33
+ import { d as defineCustomElement$v } from './snk-expression-group2.js';
34
+ import { d as defineCustomElement$u } from './snk-expression-item2.js';
35
+ import { d as defineCustomElement$t } from './snk-filter-advanced-mode2.js';
36
+ import { d as defineCustomElement$s } from './snk-filter-assistent-mode2.js';
37
+ import { d as defineCustomElement$r } from './snk-filter-bar2.js';
38
+ import { d as defineCustomElement$q } from './snk-filter-detail2.js';
39
+ import { d as defineCustomElement$p } from './snk-filter-field-search2.js';
40
+ import { d as defineCustomElement$o } from './snk-filter-item2.js';
41
+ import { d as defineCustomElement$m } from './snk-filter-modal-item2.js';
42
+ import { d as defineCustomElement$l } from './snk-filter-param-config2.js';
43
+ import { d as defineCustomElement$k } from './snk-form-config2.js';
44
+ import { d as defineCustomElement$j } from './snk-form-summary2.js';
45
+ import { d as defineCustomElement$i } from './snk-form-view2.js';
46
+ import { d as defineCustomElement$h } from './snk-grid2.js';
47
+ import { d as defineCustomElement$g } from './snk-grid-config2.js';
48
+ import { d as defineCustomElement$e } from './snk-image-input2.js';
49
+ import { d as defineCustomElement$d } from './snk-layout-form-config2.js';
50
+ import { d as defineCustomElement$b } from './snk-personalized-filter2.js';
51
+ import { d as defineCustomElement$a } from './snk-select-box2.js';
52
+ import { d as defineCustomElement$9 } from './snk-simple-bar2.js';
53
+ import { d as defineCustomElement$8 } from './snk-simple-crud2.js';
54
+ import { d as defineCustomElement$7 } from './snk-simple-form-config2.js';
55
+ import { d as defineCustomElement$5 } from './snk-taskbar-skeleton2.js';
51
56
  import { d as defineCustomElement$4 } from './snk-view-representation2.js';
52
57
  import { d as defineCustomElement$3 } from './taskbar-actions-button2.js';
53
58
  import { d as defineCustomElement$2 } from './taskbar-split-button2.js';
54
59
 
55
- const snkCrudCss = ".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%}";
60
+ class SimpleTaskbarProcessor {
61
+ /**
62
+ * Cria uma nova instância do processador de taskbar.
63
+ * @param defaultButtons - Array com os botões padrão a serem exibidos
64
+ */
65
+ constructor(defaultButtons) {
66
+ this._defaultButtons = [];
67
+ this._defaultButtons = [...defaultButtons];
68
+ }
69
+ /**
70
+ * Processa a taskbar aplicando regras de visibilidade e habilitação.
71
+ * @param taskbarID - Identificador único da taskbar
72
+ * @param taskbarManager - Gerenciador de taskbar com regras customizadas
73
+ * @param dataState - Estado atual dos dados
74
+ * @param disabledButtons - Array de botões desabilitados
75
+ * @param invisibleButtons - Array de botões invisíveis
76
+ */
77
+ process(taskbarID, taskbarManager, dataState, disabledButtons = [], invisibleButtons = []) {
78
+ var _a;
79
+ this.taskbarID = taskbarID;
80
+ this.customButtons = new Map();
81
+ this.buttonsArray = [];
82
+ this.disabledButtons = [...disabledButtons];
83
+ (_a = this.getButtonsArray(taskbarManager, dataState)) === null || _a === void 0 ? void 0 : _a.forEach((btnDef) => {
84
+ let buttonName;
85
+ if (typeof btnDef === "string") {
86
+ buttonName = btnDef;
87
+ }
88
+ else {
89
+ this.customButtons.set(btnDef.name, btnDef);
90
+ buttonName = btnDef.name;
91
+ }
92
+ if (!invisibleButtons.includes(buttonName)) {
93
+ if (!this.isEnabled(taskbarManager, buttonName, dataState, disabledButtons)) {
94
+ this.disabledButtons.push(buttonName);
95
+ }
96
+ this.buttonsArray.push(buttonName);
97
+ }
98
+ });
99
+ this.buttons = this.buttonsArray.join(",");
100
+ }
101
+ getButtonsArray(taskbarManager, dataState) {
102
+ if (taskbarManager) {
103
+ return taskbarManager.getButtons(this.taskbarID, dataState, [...this._defaultButtons]);
104
+ }
105
+ return this._defaultButtons;
106
+ }
107
+ isEnabled(taskbarManager, buttonName, dataState, disabled) {
108
+ const originalValue = !disabled.includes(buttonName);
109
+ if (taskbarManager && taskbarManager.isEnabled) {
110
+ return taskbarManager.isEnabled(this.taskbarID, dataState, buttonName, originalValue);
111
+ }
112
+ return originalValue;
113
+ }
114
+ }
115
+
116
+ const DEFAULT_TASKBAR_BUTTONS = [
117
+ TaskbarElement.FORM_MODE,
118
+ TaskbarElement.PREVIOUS,
119
+ TaskbarElement.NEXT,
120
+ TaskbarElement.REFRESH,
121
+ TaskbarElement.SPACER,
122
+ TaskbarElement.ACTIONS_BUTTON,
123
+ TaskbarElement.DATA_EXPORTER,
124
+ TaskbarElement.ATTACH,
125
+ TaskbarElement.CLONE,
126
+ TaskbarElement.UPDATE,
127
+ TaskbarElement.REMOVE,
128
+ TaskbarElement.INSERT,
129
+ TaskbarElement.CONFIGURATOR,
130
+ TaskbarElement.MORE_OPTIONS,
131
+ ];
132
+ var CustomTaskbarButton;
133
+ (function (CustomTaskbarButton) {
134
+ CustomTaskbarButton["FILTER"] = "FILTER";
135
+ CustomTaskbarButton["ENTITY_SEARCH"] = "ENTITY_SEARCH";
136
+ })(CustomTaskbarButton || (CustomTaskbarButton = {}));
137
+ /**
138
+ * Insere os botões customizados à esquerda do elemento SPACER na lista de botões.
139
+ * Caso o SPACER não seja encontrado, os botões são inseridos no início da lista.
140
+ */
141
+ function insertCustomButtonsBeforeSpacer(buttons, customButtons) {
142
+ const spacerIndex = buttons.findIndex(btn => btn === TaskbarElement.SPACER || (typeof btn === 'string' && btn === 'SPACER'));
143
+ if (spacerIndex > -1) {
144
+ return [
145
+ ...buttons.slice(0, spacerIndex),
146
+ ...customButtons,
147
+ ...buttons.slice(spacerIndex),
148
+ ];
149
+ }
150
+ return [...customButtons, ...buttons];
151
+ }
152
+ function buildNativeTaskbarManager(currentViewMode, mergeTaskbarManager, messagesBuilder) {
153
+ var _a, _b;
154
+ const CUSTOM_BUTTONS = [
155
+ {
156
+ name: CustomTaskbarButton.FILTER,
157
+ hint: (_a = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage("snkCrud.customButtons.filter")) !== null && _a !== void 0 ? _a : "Abre o painel de filtros",
158
+ iconName: "filter",
159
+ },
160
+ {
161
+ name: CustomTaskbarButton.ENTITY_SEARCH,
162
+ hint: (_b = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage("snkCrud.customButtons.entitySearch")) !== null && _b !== void 0 ? _b : "Busca na entidade",
163
+ iconName: "search",
164
+ },
165
+ ];
166
+ const EDITION_MODE_BUTTONS = [
167
+ TaskbarElement.CANCEL,
168
+ TaskbarElement.SAVE,
169
+ ];
170
+ return {
171
+ getButtons: (taskbarID, dataState, defaultButtons) => {
172
+ var _a, _b;
173
+ if (!taskbarID) {
174
+ console.warn('taskbarID não fornecido');
175
+ return [];
176
+ }
177
+ const isInEditionMode = (dataState === null || dataState === void 0 ? void 0 : dataState.insertionMode) || (dataState === null || dataState === void 0 ? void 0 : dataState.isDirty);
178
+ if (isInEditionMode) {
179
+ return EDITION_MODE_BUTTONS;
180
+ }
181
+ if (currentViewMode === VIEW_MODE.FORM) {
182
+ const indexFormMode = defaultButtons.indexOf(TaskbarElement.FORM_MODE);
183
+ if (indexFormMode > -1) {
184
+ defaultButtons = [
185
+ ...defaultButtons.slice(0, indexFormMode),
186
+ TaskbarElement.GRID_MODE,
187
+ ...defaultButtons.slice(indexFormMode + 1)
188
+ ];
189
+ }
190
+ }
191
+ if (((_b = (_a = dataState === null || dataState === void 0 ? void 0 : dataState.selectionInfo) === null || _a === void 0 ? void 0 : _a.records) === null || _b === void 0 ? void 0 : _b.length) > 1) {
192
+ const indexUpdate = defaultButtons.indexOf(TaskbarElement.UPDATE);
193
+ if (indexUpdate > -1) {
194
+ defaultButtons = [
195
+ ...defaultButtons.slice(0, indexUpdate),
196
+ TaskbarElement.UPDATE_MULTIPLE,
197
+ ...defaultButtons.slice(indexUpdate + 1)
198
+ ];
199
+ }
200
+ }
201
+ const defaultsWithCustomButtons = insertCustomButtonsBeforeSpacer(defaultButtons, CUSTOM_BUTTONS);
202
+ if (mergeTaskbarManager === null || mergeTaskbarManager === void 0 ? void 0 : mergeTaskbarManager.getButtons) {
203
+ return mergeTaskbarManager.getButtons(taskbarID, dataState, defaultsWithCustomButtons);
204
+ }
205
+ return defaultsWithCustomButtons;
206
+ },
207
+ isEnabled: (_, dataState, buttonName, originalValue) => {
208
+ var _a;
209
+ if (!dataState) {
210
+ return originalValue;
211
+ }
212
+ const hasSelectedRecord = dataState.selectedRecord !== undefined;
213
+ const buttonsRequiringSelection = [
214
+ TaskbarElement.UPDATE,
215
+ TaskbarElement.REMOVE,
216
+ TaskbarElement.ATTACH,
217
+ TaskbarElement.CLONE,
218
+ ];
219
+ if (!hasSelectedRecord && buttonsRequiringSelection.includes(buttonName)) {
220
+ return false;
221
+ }
222
+ return (_a = mergeTaskbarManager === null || mergeTaskbarManager === void 0 ? void 0 : mergeTaskbarManager.isEnabled(_, dataState, buttonName, originalValue)) !== null && _a !== void 0 ? _a : originalValue;
223
+ },
224
+ getMoreOptions(taskbarId, configName, dataState, currentActions) {
225
+ var _a;
226
+ return (_a = mergeTaskbarManager === null || mergeTaskbarManager === void 0 ? void 0 : mergeTaskbarManager.getMoreOptions) === null || _a === void 0 ? void 0 : _a.call(mergeTaskbarManager, taskbarId, configName, dataState, currentActions);
227
+ },
228
+ };
229
+ }
230
+ function getHeaderTaskbarId(dataState, presentationMode) {
231
+ var _a;
232
+ const hasSelectedRecord = dataState && !!((_a = dataState.selectionInfo) === null || _a === void 0 ? void 0 : _a.length);
233
+ const taskbarIdPrefixLookup = {
234
+ primary: "snkGridHeaderTaskbar",
235
+ secondary: "snkGridHeaderTaskbar",
236
+ singleTaskbar: "snkGridHeaderTaskbar.singleTaskbar",
237
+ };
238
+ const taskbarIdPrefix = taskbarIdPrefixLookup[presentationMode];
239
+ let headerTaskbarId = hasSelectedRecord ? `${taskbarIdPrefix}.selected` : `${taskbarIdPrefix}.unselected`;
240
+ if ((dataState === null || dataState === void 0 ? void 0 : dataState.isDirty) && presentationMode === PresentationMode.SINGLE_TASKBAR) {
241
+ headerTaskbarId = "snkGridHeaderTaskbar.singleTaskbar.finish_edition";
242
+ }
243
+ return headerTaskbarId;
244
+ }
245
+ function getTopTaskBarId(dataState, presentationMode) {
246
+ const suffixLookup = {
247
+ primary: '',
248
+ secondary: '.secondary',
249
+ singleTaskbar: '.singleTaskbar',
250
+ };
251
+ const sufix = suffixLookup[presentationMode];
252
+ if (dataState === null || dataState === void 0 ? void 0 : dataState.isDirty) {
253
+ return `snkGridTopTaskbar.finish_edition${sufix}`;
254
+ }
255
+ return `snkGridTopTaskbar.regular${sufix}`;
256
+ }
257
+
258
+ const snkCrudCss = ".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%;overflow-y:auto;scrollbar-gutter:stable both-edges}snk-grid.sc-snk-crud{--snk-grid-padding:0 var(--space--6, 6px) var(--space--6, 6px) var(--space--6, 6px)}stack-item.sc-snk-crud.sc-snk-crud{display:grid;min-height:100%}.snk-crud__header.sc-snk-crud{margin-bottom:var(--space--10, 10px)}.snk-crud__grid-stack-item.sc-snk-crud{display:flex;flex-direction:column;height:100%;width:100%;padding:0 var(--space--2, 2px)}.snk-crud__header-top.sc-snk-crud{display:flex;justify-content:space-between;align-items:center;padding:var(--space--8, 8px);padding-top:var(--space--12, 12px)}.snk-crud__header-bottom.sc-snk-crud{display:flex;justify-content:space-between;align-items:center;padding:0 var(--space--8, 8px) 0 var(--space--6, 6px)}.snk-crud__header-bottom.sc-snk-crud>snk-taskbar.sc-snk-crud{padding-bottom:var(--space--8, 8px);margin-left:var(--space--12, 12px)}.snk-crud--hidden.sc-snk-crud{display:none !important}ez-record-navigation.sc-snk-crud,ez-grid-pagination.sc-snk-crud{margin-bottom:var(--space--8, 8px)}";
56
259
 
57
260
  const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
58
261
  constructor() {
59
262
  super();
60
263
  this.__registerHost();
264
+ this.snkShowGuide = createEvent(this, "snkShowGuide", 7);
61
265
  this.actionClick = createEvent(this, "actionClick", 7);
62
266
  this.configuratorSave = createEvent(this, "configuratorSave", 7);
63
267
  this.configuratorCancel = createEvent(this, "configuratorCancel", 7);
@@ -67,63 +271,37 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
67
271
  this._viewHistory = [];
68
272
  this._customEditors = new Map();
69
273
  this._customRenders = new Map();
70
- this.loadEntitySuggestions = async (argument) => {
71
- var _a;
72
- const value = (_a = argument === null || argument === void 0 ? void 0 : argument.argument) !== null && _a !== void 0 ? _a : '';
73
- const mode = (argument === null || argument === void 0 ? void 0 : argument.mode) || "PREDICTIVE";
74
- if (!value || value.trim().length === 0) {
75
- return [];
76
- }
77
- try {
78
- this._showMoreOnSearch = false;
79
- const entityName = this._snkDataUnit.entityName;
80
- if (mode === "PREDICTIVE") {
81
- return await this.handlePredictiveSearch(value, entityName);
82
- }
83
- return await this._application.executePreparedSearch(mode, value, this.buildSearchOptions(entityName));
84
- }
85
- catch (error) {
86
- console.error('Erro ao carregar sugestões de entidades:', error);
87
- return [];
88
- }
89
- };
90
- this.searchEntitySelect = async (item) => {
91
- if (!this._entityPKField || !item) {
92
- return;
93
- }
94
- try {
95
- const pk = [{ name: this._entityPKField, value: item.value }];
96
- await this.refreshDataUnitByPk(pk);
97
- }
98
- catch (error) {
99
- console.error('Erro ao selecionar entidade:', error);
100
- }
101
- };
274
+ this._taskbarProcessor = new SimpleTaskbarProcessor(DEFAULT_TASKBAR_BUTTONS);
275
+ this._taskbarCustomProcessor = new SimpleTaskbarProcessor([]);
102
276
  this.dataUnitInterceptor = {
103
- interceptAction: (action) => {
104
- if (action.type === Action.DATA_SAVED) {
105
- action = this.interceptDataSaved(action);
277
+ interceptAction: async (action) => {
278
+ switch (action.type) {
279
+ case Action.DATA_SAVED:
280
+ return this.interceptDataSaved(action);
281
+ case Action.LOADING_DATA:
282
+ return await this.interceptLoadData(action);
283
+ default:
284
+ return action;
106
285
  }
107
- return action;
108
286
  },
109
287
  };
110
288
  this._dataUnit = undefined;
111
289
  this._dataState = undefined;
112
- this._suppressEntitySearch = false;
113
290
  this.attachmentRegisterKey = undefined;
114
291
  this._currentViewMode = VIEW_MODE.GRID;
115
292
  this._canEdit = undefined;
116
293
  this._resourceID = undefined;
117
294
  this.customContainerId = `SNK-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
118
295
  this.numberingConfig = undefined;
119
- this._showMoreOnSearch = false;
120
- this._entityPKField = undefined;
296
+ this._filterMode = 'regular';
297
+ this._enableContinuousInsert = false;
298
+ this._headerVisible = true;
121
299
  this.enableLockManagerLoadingComp = false;
122
300
  this.enableLockManagerTaskbarClick = false;
123
301
  this.configName = undefined;
124
302
  this.filterBarTitle = undefined;
125
303
  this.selectionToastConfig = undefined;
126
- this.showActionButtons = false;
304
+ this.showActionButtons = true;
127
305
  this.actionsList = undefined;
128
306
  this.taskbarManager = undefined;
129
307
  this.recordsValidator = undefined;
@@ -150,6 +328,9 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
150
328
  this.showEntitySearch = true;
151
329
  this.disableNumberingConfig = false;
152
330
  }
331
+ handleActionClick(evt) {
332
+ this.executeAction(evt.detail);
333
+ }
153
334
  /**
154
335
  * Usado para alternar a visão entre GRID e FORM externamente.
155
336
  */
@@ -247,6 +428,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
247
428
  this.setViewMode(VIEW_MODE.FORM);
248
429
  }
249
430
  async executeAction(act) {
431
+ var _a;
250
432
  switch (act) {
251
433
  case TaskbarElement.GRID_MODE:
252
434
  return this.setViewMode(VIEW_MODE.GRID);
@@ -259,13 +441,13 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
259
441
  case TaskbarElement.CONFIGURATOR:
260
442
  return this._snkConfigurator.open();
261
443
  case TaskbarElement.ATTACH:
262
- return this.setViewMode(VIEW_MODE.ATTACHMENT);
444
+ return this._snkAttach.open();
445
+ case CustomTaskbarButton.FILTER:
446
+ return (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.showFilterModal();
447
+ case CustomTaskbarButton.ENTITY_SEARCH:
448
+ return this.openSearchPopover();
263
449
  }
264
450
  }
265
- backView() {
266
- const lastView = this._viewHistory.at(-2) || VIEW_MODE.GRID;
267
- this.setViewMode(lastView);
268
- }
269
451
  setViewMode(viewMode) {
270
452
  this._viewStack.show(viewMode);
271
453
  this._currentViewMode = viewMode;
@@ -327,6 +509,16 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
327
509
  this._customEditors.delete(fieldName);
328
510
  }
329
511
  }
512
+ initializeTaskbarProcessor() {
513
+ const nativeTaskbarManager = buildNativeTaskbarManager(this._currentViewMode, this.taskbarManager, this.messagesBuilder);
514
+ const topTaskbarId = getTopTaskBarId(this._dataState, this.presentationMode);
515
+ this._taskbarProcessor.process(topTaskbarId, nativeTaskbarManager, this._dataState, undefined, []);
516
+ const headerTaskbarId = getHeaderTaskbarId(this._dataState, this.presentationMode);
517
+ this._taskbarCustomProcessor.process(headerTaskbarId, this.taskbarManager, this._dataState, undefined, []);
518
+ }
519
+ componentWillRender() {
520
+ this.initializeTaskbarProcessor();
521
+ }
330
522
  componentDidRender() {
331
523
  this.setCustomRenders();
332
524
  this.setCustomEditors();
@@ -362,6 +554,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
362
554
  if (!this.configName) {
363
555
  this.configName = this._application.configName;
364
556
  }
557
+ this.initContinuousInsertUtils();
365
558
  }
366
559
  componentDidLoad() {
367
560
  this.initKeyboardManager();
@@ -443,49 +636,6 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
443
636
  var _a;
444
637
  (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
445
638
  }
446
- async handlePredictiveSearch(argument, entityName) {
447
- var _a, _b;
448
- const response = await this._application.executePreparedSearchWithFullResponse(argument, this.buildSearchOptions(entityName, 5));
449
- this._showMoreOnSearch = (_a = response === null || response === void 0 ? void 0 : response.hasMore) !== null && _a !== void 0 ? _a : false;
450
- this._entityPKField = response === null || response === void 0 ? void 0 : response.pkField;
451
- return (_b = response === null || response === void 0 ? void 0 : response.data) !== null && _b !== void 0 ? _b : [];
452
- }
453
- async refreshDataUnitByPk(pks) {
454
- try {
455
- const pkField = pks[0].name;
456
- const pkValue = pks[0].value;
457
- // Criar filtro para a busca específica
458
- const quickFilter = {
459
- term: '',
460
- filter: {
461
- name: '',
462
- params: [],
463
- expression: `(${pkField} = ${pkValue})`
464
- }
465
- };
466
- // Carregar dados com o filtro aplicado diretamente
467
- await this._dataUnit.loadData(quickFilter);
468
- // Navegar para o formulário se houver apenas um registro
469
- if (this._dataUnit.records.length === 1) {
470
- this._dataUnit.selectFirst();
471
- this.gridToForm(true);
472
- }
473
- }
474
- catch (error) {
475
- console.error('Erro ao atualizar dataset:', error);
476
- }
477
- }
478
- buildSearchOptions(entityName, limit) {
479
- return {
480
- entity: entityName,
481
- entityDescription: entityName,
482
- executeOnOpen: true,
483
- searchOptions: {
484
- localEntityName: entityName,
485
- limit,
486
- }
487
- };
488
- }
489
639
  async toggleView() {
490
640
  const currentView = await this._viewStack.getSelectedIndex();
491
641
  this.setViewMode(VIEW_MODE.GRID === currentView ? VIEW_MODE.FORM : VIEW_MODE.GRID);
@@ -529,6 +679,17 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
529
679
  this.updateNumberingConfigAfterInsert(action);
530
680
  return action;
531
681
  }
682
+ async interceptLoadData(action) {
683
+ var _a;
684
+ const hasInvalidFilters = !validateFilters((_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.filterConfig);
685
+ if (hasInvalidFilters) {
686
+ const errorTitle = this.messagesBuilder.getMessage("snkGrid.requiredFiltersNotFilled.title", {});
687
+ const errorMessage = this.messagesBuilder.getMessage("snkGrid.requiredFiltersNotFilled.message", {});
688
+ await this._application.error(errorTitle, errorMessage);
689
+ return;
690
+ }
691
+ return action;
692
+ }
532
693
  onDataUnitReady() {
533
694
  var _a;
534
695
  (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.addInterceptor(this.dataUnitInterceptor);
@@ -548,6 +709,12 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
548
709
  }
549
710
  this.onDataUnitReady();
550
711
  }
712
+ initContinuousInsertUtils() {
713
+ this._continuousInsertUtils = new ContinuousInsertUtils(this._application, this._resourceID, this.configName);
714
+ if (this.enableGridInsert) {
715
+ this._continuousInsertUtils.getConfig().then(value => this._enableContinuousInsert = value);
716
+ }
717
+ }
551
718
  async loadNumberingConfig() {
552
719
  if (this.numberingConfig || !this._snkDataUnit || !this._snkDataUnit.entityName || this.disableNumberingConfig) {
553
720
  return;
@@ -592,18 +759,93 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
592
759
  }
593
760
  this.configuratorCancel.emit();
594
761
  }
595
- renderDynamicSearch(slotName) {
762
+ renderCustomGuideSlots() {
763
+ if (!this.customGuidesConfig)
764
+ return;
765
+ return this.customGuidesConfig.map(g => h("slot", { name: g.id }));
766
+ }
767
+ getColumnSearch(item) {
768
+ if (this._columnSearch != undefined) {
769
+ return this._columnSearch;
770
+ }
771
+ this._columnSearch = buildFieldSearch(item, ({ argument }) => new Promise(accept => {
772
+ this._snkGrid.filterColumns(argument).then((columns) => {
773
+ accept(columns
774
+ .filter(column => !column.hidden)
775
+ .map(column => ({ label: column.label, value: column.name })));
776
+ });
777
+ }), (option) => {
778
+ if (option != undefined) {
779
+ this._snkGrid.locateColumn(option.value);
780
+ }
781
+ });
782
+ return this._columnSearch;
783
+ }
784
+ buildTaskbarCustomActionsList() {
785
+ return [this.buildSearchColumnTaskbarAction()];
786
+ }
787
+ buildSearchColumnTaskbarAction() {
788
+ return {
789
+ value: StringUtils.generateUUID(),
790
+ label: this.messagesBuilder.getMessage('snkGrid.findColumn', {}),
791
+ disableCloseOnSelect: true,
792
+ eagerInitialize: true,
793
+ itemBuilder: (_, item) => this.getColumnSearch(item),
794
+ };
795
+ }
796
+ isGridInsertActive() {
797
+ return this.enableGridInsert && this._dataUnit.hasNewRecord();
798
+ }
799
+ getActionsList() {
800
+ const hardList = [];
801
+ if (this.enableGridInsert) {
802
+ hardList.push(this._continuousInsertUtils.actionContinuousInsert(this._enableContinuousInsert, () => {
803
+ this._enableContinuousInsert = !this._enableContinuousInsert;
804
+ this._continuousInsertUtils.handleSaveConfig(this._enableContinuousInsert);
805
+ }));
806
+ }
807
+ if (this.isGridInsertActive())
808
+ return hardList;
809
+ if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
810
+ const taskbarID = getTopTaskBarId(this._dataState, this.presentationMode);
811
+ return hardList.concat(this.taskbarManager.getMoreOptions(taskbarID, this.configName, this._dataState, this.actionsList));
812
+ }
813
+ return hardList.concat(this.actionsList);
814
+ }
815
+ async openSearchPopover() {
816
+ if (!this._popoverSearchEntity) {
817
+ return;
818
+ }
819
+ const buttonElement = this._element.querySelector(`[data-taskbar-element="${CustomTaskbarButton.ENTITY_SEARCH}"]`);
820
+ await this._popoverSearchEntity.showUnder(buttonElement);
821
+ }
822
+ handleLoadedSearch(evt) {
823
+ if (evt.detail.length === 1) {
824
+ this._dataUnit.selectFirst();
825
+ this.gridToForm(true);
826
+ }
827
+ }
828
+ renderDynamicSearch() {
596
829
  var _a;
597
- if (this._suppressEntitySearch || !this.showEntitySearch || ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.insertionMode) === true)
830
+ if (!this.showEntitySearch)
598
831
  return;
599
- return (h("div", { slot: slotName, class: "entity-search-container", style: { position: 'relative', display: 'inline-block', marginLeft: '10px', minWidth: '200px' } }, h("ez-search", { label: "Buscar registros", optionLoader: this.loadEntitySuggestions, onEzChange: (evt) => this.searchEntitySelect(evt.detail), mode: "slim", showMore: this._showMoreOnSearch, suppressEmptyOption: true, suppressInputPersist: true })));
832
+ return (h("snk-entity-search", { ref: (ref) => this._popoverSearchEntity = ref, dataUnit: this._dataUnit, entityName: (_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.entityName, messagesBuilder: this.messagesBuilder, onLoaded: (evt) => this.handleLoadedSearch(evt) }));
833
+ }
834
+ handleFilterConfigUpdated(filterConfig) {
835
+ if (!filterConfig.length) {
836
+ return;
837
+ }
838
+ if (filterConfig.length === 1 && filterConfig[0].id === 'PERSONALIZED_FILTER_GROUP') {
839
+ this._filterMode = filterConfig[0].groupedItems.length > 0 ? 'regular' : 'button';
840
+ return;
841
+ }
600
842
  }
601
843
  render() {
602
844
  if (this._resourceID == undefined) {
603
845
  return;
604
846
  }
605
847
  this._snkDataUnit.ignoreSaveMessage = (this._currentViewMode === VIEW_MODE.GRID && !this.enableGridInsert);
606
- return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", { class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full ez-padding--medium' }, h("snk-grid", { ref: (ref) => this._snkGrid = ref, class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full', filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, strategyExporter: this.strategyExporter, multipleEditionEnabled: this.multipleEditionEnabled, paginationCounterMode: this.paginationCounterMode }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }), this.renderDynamicSearch("GRID_HEADER_DYNAMIC_SEARCH"))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, customGuidesConfig: this.customGuidesConfig, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), onFormConfigVisibilityChanged: evt => this._suppressEntitySearch = evt.detail, presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName, enableGridInsert: this.enableGridInsert, getCustomTitle: this.setCustomFormTitle, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), this.renderDynamicSearch("GUIDES_VIEWER_DYNAMIC_SEARCH"), h("slot", { name: "SnkFormTaskBar" }))), h("stack-item", { tabIndex: "0" }, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, entityName: this._snkDataUnit.entityName, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId, layoutFormConfig: this.layoutFormConfig })), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
848
+ return (h(Host, null, h("header", { class: { 'snk-crud--hidden': !this._headerVisible, 'snk-crud__header': true } }, h("div", { class: "snk-crud__header-top" }, h("snk-taskbar", { "data-element-id": "grid_top", key: "snkGridTopTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, resourceID: this._resourceID, primaryButton: "INSERT", overflowStrategy: "hiddenItems", alignRigth: true, actionsList: this.getActionsList(), customActionsList: this.buildTaskbarCustomActionsList(), sizeButtons: 'medium' })), h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, title: this.filterBarTitle, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this._resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, mode: this._filterMode, hideFilterButton: true, sizeChips: 'default' })), h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", { class: 'snk-crud__grid-stack-item' }, h("snk-grid", { ref: (ref) => this._snkGrid = ref, class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full', filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, strategyExporter: this.strategyExporter, multipleEditionEnabled: this.multipleEditionEnabled, paginationCounterMode: this.paginationCounterMode, hideHeader: true, hideGridTaskbar: true }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, customGuidesConfig: this.customGuidesConfig, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName, enableGridInsert: this.enableGridInsert, getCustomTitle: this.setCustomFormTitle, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields, onFormConfigVisibilityChanged: evt => this._headerVisible = !evt.detail }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), this.renderCustomGuideSlots(), h("slot", { name: "SnkFormTaskBar" })))), h("snk-attach", { ref: (ref) => this._snkAttach = ref, registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName }), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, entityName: this._snkDataUnit.entityName, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId, layoutFormConfig: this.layoutFormConfig }), this.renderDynamicSearch(), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
607
849
  }
608
850
  get _element() { return this; }
609
851
  static get watchers() { return {
@@ -644,15 +886,15 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
644
886
  "disableNumberingConfig": [4, "disable-numbering-config"],
645
887
  "_dataUnit": [32],
646
888
  "_dataState": [32],
647
- "_suppressEntitySearch": [32],
648
889
  "attachmentRegisterKey": [32],
649
890
  "_currentViewMode": [32],
650
891
  "_canEdit": [32],
651
892
  "_resourceID": [32],
652
893
  "customContainerId": [32],
653
894
  "numberingConfig": [32],
654
- "_showMoreOnSearch": [32],
655
- "_entityPKField": [32],
895
+ "_filterMode": [32],
896
+ "_enableContinuousInsert": [32],
897
+ "_headerVisible": [32],
656
898
  "goToView": [64],
657
899
  "openConfigurator": [64],
658
900
  "closeConfigurator": [64],
@@ -665,12 +907,12 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
665
907
  "setFieldProp": [64],
666
908
  "getNumberingConfig": [64],
667
909
  "updateNumberingConfig": [64]
668
- }]);
910
+ }, [[0, "actionClick", "handleActionClick"]]]);
669
911
  function defineCustomElement$1() {
670
912
  if (typeof customElements === "undefined") {
671
913
  return;
672
914
  }
673
- const components = ["snk-crud", "config-header", "configs-button", "field-config", "field-item", "fields-layout", "fields-selector", "guides-configurator", "snk-actions-button", "snk-attach", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-default-filter", "snk-detail-view", "snk-exporter-email-sender", "snk-expression-group", "snk-expression-item", "snk-filter-advanced-mode", "snk-filter-assistent-mode", "snk-filter-bar", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-modal", "snk-filter-modal-item", "snk-filter-param-config", "snk-form-config", "snk-form-summary", "snk-form-view", "snk-grid", "snk-grid-config", "snk-guides-viewer", "snk-layout-form-config", "snk-numbering-config", "snk-personalized-filter", "snk-select-box", "snk-simple-bar", "snk-simple-crud", "snk-simple-form-config", "snk-taskbar", "snk-view-representation", "taskbar-actions-button", "taskbar-split-button"];
915
+ const components = ["snk-crud", "config-header", "configs-button", "field-config", "field-item", "fields-layout", "fields-selector", "guides-configurator", "snk-actions-button", "snk-attach", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-default-filter", "snk-detail-view", "snk-entity-search", "snk-exporter-email-sender", "snk-expression-group", "snk-expression-item", "snk-filter-advanced-mode", "snk-filter-assistent-mode", "snk-filter-bar", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-modal", "snk-filter-modal-item", "snk-filter-param-config", "snk-form-config", "snk-form-summary", "snk-form-view", "snk-grid", "snk-grid-config", "snk-guides-viewer", "snk-image-input", "snk-layout-form-config", "snk-numbering-config", "snk-personalized-filter", "snk-select-box", "snk-simple-bar", "snk-simple-crud", "snk-simple-form-config", "snk-taskbar", "snk-taskbar-skeleton", "snk-view-representation", "taskbar-actions-button", "taskbar-split-button"];
674
916
  components.forEach(tagName => { switch (tagName) {
675
917
  case "snk-crud":
676
918
  if (!customElements.get(tagName)) {
@@ -679,200 +921,215 @@ function defineCustomElement$1() {
679
921
  break;
680
922
  case "config-header":
681
923
  if (!customElements.get(tagName)) {
682
- defineCustomElement$I();
924
+ defineCustomElement$L();
683
925
  }
684
926
  break;
685
927
  case "configs-button":
686
928
  if (!customElements.get(tagName)) {
687
- defineCustomElement$H();
929
+ defineCustomElement$K();
688
930
  }
689
931
  break;
690
932
  case "field-config":
691
933
  if (!customElements.get(tagName)) {
692
- defineCustomElement$G();
934
+ defineCustomElement$J();
693
935
  }
694
936
  break;
695
937
  case "field-item":
696
938
  if (!customElements.get(tagName)) {
697
- defineCustomElement$F();
939
+ defineCustomElement$I();
698
940
  }
699
941
  break;
700
942
  case "fields-layout":
701
943
  if (!customElements.get(tagName)) {
702
- defineCustomElement$E();
944
+ defineCustomElement$H();
703
945
  }
704
946
  break;
705
947
  case "fields-selector":
706
948
  if (!customElements.get(tagName)) {
707
- defineCustomElement$D();
949
+ defineCustomElement$G();
708
950
  }
709
951
  break;
710
952
  case "guides-configurator":
711
953
  if (!customElements.get(tagName)) {
712
- defineCustomElement$C();
954
+ defineCustomElement$F();
713
955
  }
714
956
  break;
715
957
  case "snk-actions-button":
716
958
  if (!customElements.get(tagName)) {
717
- defineCustomElement$B();
959
+ defineCustomElement$E();
718
960
  }
719
961
  break;
720
962
  case "snk-attach":
721
963
  if (!customElements.get(tagName)) {
722
- defineCustomElement$A();
964
+ defineCustomElement$D();
723
965
  }
724
966
  break;
725
967
  case "snk-configurator":
726
968
  if (!customElements.get(tagName)) {
727
- defineCustomElement$z();
969
+ defineCustomElement$C();
728
970
  }
729
971
  break;
730
972
  case "snk-data-exporter":
731
973
  if (!customElements.get(tagName)) {
732
- defineCustomElement$y();
974
+ defineCustomElement$B();
733
975
  }
734
976
  break;
735
977
  case "snk-data-unit":
736
978
  if (!customElements.get(tagName)) {
737
- defineCustomElement$x();
979
+ defineCustomElement$A();
738
980
  }
739
981
  break;
740
982
  case "snk-default-filter":
741
983
  if (!customElements.get(tagName)) {
742
- defineCustomElement$w();
984
+ defineCustomElement$z();
743
985
  }
744
986
  break;
745
987
  case "snk-detail-view":
746
988
  if (!customElements.get(tagName)) {
747
- defineCustomElement$v();
989
+ defineCustomElement$y();
990
+ }
991
+ break;
992
+ case "snk-entity-search":
993
+ if (!customElements.get(tagName)) {
994
+ defineCustomElement$x();
748
995
  }
749
996
  break;
750
997
  case "snk-exporter-email-sender":
751
998
  if (!customElements.get(tagName)) {
752
- defineCustomElement$u();
999
+ defineCustomElement$w();
753
1000
  }
754
1001
  break;
755
1002
  case "snk-expression-group":
756
1003
  if (!customElements.get(tagName)) {
757
- defineCustomElement$t();
1004
+ defineCustomElement$v();
758
1005
  }
759
1006
  break;
760
1007
  case "snk-expression-item":
761
1008
  if (!customElements.get(tagName)) {
762
- defineCustomElement$s();
1009
+ defineCustomElement$u();
763
1010
  }
764
1011
  break;
765
1012
  case "snk-filter-advanced-mode":
766
1013
  if (!customElements.get(tagName)) {
767
- defineCustomElement$r();
1014
+ defineCustomElement$t();
768
1015
  }
769
1016
  break;
770
1017
  case "snk-filter-assistent-mode":
771
1018
  if (!customElements.get(tagName)) {
772
- defineCustomElement$q();
1019
+ defineCustomElement$s();
773
1020
  }
774
1021
  break;
775
1022
  case "snk-filter-bar":
776
1023
  if (!customElements.get(tagName)) {
777
- defineCustomElement$p();
1024
+ defineCustomElement$r();
778
1025
  }
779
1026
  break;
780
1027
  case "snk-filter-detail":
781
1028
  if (!customElements.get(tagName)) {
782
- defineCustomElement$o();
1029
+ defineCustomElement$q();
783
1030
  }
784
1031
  break;
785
1032
  case "snk-filter-field-search":
786
1033
  if (!customElements.get(tagName)) {
787
- defineCustomElement$n();
1034
+ defineCustomElement$p();
788
1035
  }
789
1036
  break;
790
1037
  case "snk-filter-item":
791
1038
  if (!customElements.get(tagName)) {
792
- defineCustomElement$m();
1039
+ defineCustomElement$o();
793
1040
  }
794
1041
  break;
795
1042
  case "snk-filter-modal":
796
1043
  if (!customElements.get(tagName)) {
797
- defineCustomElement$l();
1044
+ defineCustomElement$n();
798
1045
  }
799
1046
  break;
800
1047
  case "snk-filter-modal-item":
801
1048
  if (!customElements.get(tagName)) {
802
- defineCustomElement$k();
1049
+ defineCustomElement$m();
803
1050
  }
804
1051
  break;
805
1052
  case "snk-filter-param-config":
806
1053
  if (!customElements.get(tagName)) {
807
- defineCustomElement$j();
1054
+ defineCustomElement$l();
808
1055
  }
809
1056
  break;
810
1057
  case "snk-form-config":
811
1058
  if (!customElements.get(tagName)) {
812
- defineCustomElement$i();
1059
+ defineCustomElement$k();
813
1060
  }
814
1061
  break;
815
1062
  case "snk-form-summary":
816
1063
  if (!customElements.get(tagName)) {
817
- defineCustomElement$h();
1064
+ defineCustomElement$j();
818
1065
  }
819
1066
  break;
820
1067
  case "snk-form-view":
821
1068
  if (!customElements.get(tagName)) {
822
- defineCustomElement$g();
1069
+ defineCustomElement$i();
823
1070
  }
824
1071
  break;
825
1072
  case "snk-grid":
826
1073
  if (!customElements.get(tagName)) {
827
- defineCustomElement$f();
1074
+ defineCustomElement$h();
828
1075
  }
829
1076
  break;
830
1077
  case "snk-grid-config":
831
1078
  if (!customElements.get(tagName)) {
832
- defineCustomElement$e();
1079
+ defineCustomElement$g();
833
1080
  }
834
1081
  break;
835
1082
  case "snk-guides-viewer":
836
1083
  if (!customElements.get(tagName)) {
837
- defineCustomElement$d();
1084
+ defineCustomElement$f();
1085
+ }
1086
+ break;
1087
+ case "snk-image-input":
1088
+ if (!customElements.get(tagName)) {
1089
+ defineCustomElement$e();
838
1090
  }
839
1091
  break;
840
1092
  case "snk-layout-form-config":
841
1093
  if (!customElements.get(tagName)) {
842
- defineCustomElement$c();
1094
+ defineCustomElement$d();
843
1095
  }
844
1096
  break;
845
1097
  case "snk-numbering-config":
846
1098
  if (!customElements.get(tagName)) {
847
- defineCustomElement$b();
1099
+ defineCustomElement$c();
848
1100
  }
849
1101
  break;
850
1102
  case "snk-personalized-filter":
851
1103
  if (!customElements.get(tagName)) {
852
- defineCustomElement$a();
1104
+ defineCustomElement$b();
853
1105
  }
854
1106
  break;
855
1107
  case "snk-select-box":
856
1108
  if (!customElements.get(tagName)) {
857
- defineCustomElement$9();
1109
+ defineCustomElement$a();
858
1110
  }
859
1111
  break;
860
1112
  case "snk-simple-bar":
861
1113
  if (!customElements.get(tagName)) {
862
- defineCustomElement$8();
1114
+ defineCustomElement$9();
863
1115
  }
864
1116
  break;
865
1117
  case "snk-simple-crud":
866
1118
  if (!customElements.get(tagName)) {
867
- defineCustomElement$7();
1119
+ defineCustomElement$8();
868
1120
  }
869
1121
  break;
870
1122
  case "snk-simple-form-config":
871
1123
  if (!customElements.get(tagName)) {
872
- defineCustomElement$6();
1124
+ defineCustomElement$7();
873
1125
  }
874
1126
  break;
875
1127
  case "snk-taskbar":
1128
+ if (!customElements.get(tagName)) {
1129
+ defineCustomElement$6();
1130
+ }
1131
+ break;
1132
+ case "snk-taskbar-skeleton":
876
1133
  if (!customElements.get(tagName)) {
877
1134
  defineCustomElement$5();
878
1135
  }