@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-131882.2 → 0.0.0-bugfix-dev-KB-174860.0

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 (443) hide show
  1. package/LICENSE +4 -1
  2. package/dist/cjs/{ConfigStorage-d9d24844.js → ConfigStorage-156bfcac.js} +19 -2
  3. package/dist/cjs/ContinuousInsertUtils-1ae0c6ac.js +41 -0
  4. package/dist/cjs/{DataFetcher-3a8ea521.js → DataFetcher-d13b4637.js} +2803 -2
  5. package/dist/cjs/FormConfigHelper-c5f5473a.js +342 -0
  6. package/dist/cjs/{ISave-a66bb65e.js → ISave-55d9dcc3.js} +1 -1
  7. package/dist/cjs/{ImageUtils-5e3f406b.js → ImageUtils-d6139911.js} +5 -3
  8. package/dist/cjs/{PersonalizedFilterUtils-eccb267a.js → PersonalizedFilterUtils-263e4d24.js} +52 -5
  9. package/dist/cjs/{SnkFormConfigManager-c88cf1e9.js → SnkFormConfigManager-5cb9a39c.js} +2 -2
  10. package/dist/cjs/{SnkMultiSelectionListDataSource-f53b60c4.js → SnkMultiSelectionListDataSource-5c5badfc.js} +146 -74
  11. package/dist/cjs/{auth-fetcher-faa61f64.js → auth-fetcher-d1715459.js} +1 -1
  12. package/dist/cjs/{dataunit-fetcher-6febd6c4.js → dataunit-fetcher-fae710c5.js} +68 -110
  13. package/dist/cjs/fields-layout.cjs.entry.js +1 -1
  14. package/dist/cjs/fields-selector.cjs.entry.js +1 -1
  15. package/dist/cjs/{filter-type.enum-2bb46d2a.js → filter-type.enum-b3b388af.js} +7 -0
  16. package/dist/cjs/{form-config-fetcher-72cf0e3d.js → form-config-fetcher-bbebdcb8.js} +41 -5
  17. package/dist/cjs/guides-configurator.cjs.entry.js +2 -2
  18. package/dist/cjs/index-1894343a.js +28 -40
  19. package/dist/cjs/{index-e3e39724.js → index-bc950921.js} +6 -0
  20. package/dist/cjs/loader.cjs.js +1 -1
  21. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +5 -6
  22. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  23. package/dist/cjs/{snk-actions-button_8.cjs.entry.js → snk-actions-button_9.cjs.entry.js} +151 -63
  24. package/dist/cjs/snk-application.cjs.entry.js +8 -9
  25. package/dist/cjs/snk-attach_11.cjs.entry.js +2958 -0
  26. package/dist/cjs/snk-configurator.cjs.entry.js +2 -0
  27. package/dist/cjs/snk-crud.cjs.entry.js +140 -99
  28. package/dist/cjs/snk-data-exporter.cjs.entry.js +61 -16
  29. package/dist/cjs/{snk-data-unit-94757628.js → snk-data-unit-32237a2d.js} +11 -11
  30. package/dist/cjs/snk-data-unit.cjs.entry.js +3 -4
  31. package/dist/cjs/snk-detail-view.cjs.entry.js +28 -20
  32. package/dist/cjs/snk-dynaform-config-header_5.cjs.entry.js +739 -0
  33. package/dist/cjs/snk-dynaform-detail-view_2.cjs.entry.js +961 -0
  34. package/dist/cjs/snk-dynaform-field-config_2.cjs.entry.js +327 -0
  35. package/dist/cjs/snk-dynaform-guides-view-2c7c6ce4.js +1094 -0
  36. package/dist/cjs/snk-dynaform-guides-view.cjs.entry.js +23 -0
  37. package/dist/cjs/snk-dynaform.cjs.entry.js +679 -0
  38. package/dist/cjs/snk-entity-search.cjs.entry.js +211 -0
  39. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  40. package/dist/cjs/{snk-expression-group_2.cjs.entry.js → snk-expression-group_4.cjs.entry.js} +421 -18
  41. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +137 -121
  42. package/dist/cjs/snk-filter-search.cjs.entry.js +10 -0
  43. package/dist/cjs/snk-form-view.cjs.entry.js +1 -4
  44. package/dist/cjs/snk-form_2.cjs.entry.js +4 -5
  45. package/dist/cjs/snk-grid.cjs.entry.js +53 -21
  46. package/dist/cjs/{snk-guides-viewer-315f8580.js → snk-guides-viewer-67b9cca9.js} +38 -161
  47. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -17
  48. package/dist/cjs/snk-layout-form-config.cjs.entry.js +5 -6
  49. package/dist/cjs/snk-pesquisa.cjs.entry.js +5 -6
  50. package/dist/cjs/snk-taskbar.cjs.entry.js +182 -125
  51. package/dist/cjs/{sortable.esm-9a110bb7.js → sortable.esm-b87669ab.js} +76 -90
  52. package/dist/cjs/taskbar-elements-25f800b3.js +152 -0
  53. package/dist/cjs/taskbarUtils-99aaa01f.js +236 -0
  54. package/dist/collection/collection-manifest.json +19 -0
  55. package/dist/collection/components/snk-actions-button/actions/executor/launch-screen.executor.js +6 -3
  56. package/dist/collection/components/snk-actions-button/snk-actions-button.js +30 -6
  57. package/dist/collection/components/snk-attach/snk-attach.css +29 -7
  58. package/dist/collection/components/snk-attach/snk-attach.js +93 -18
  59. package/dist/collection/components/snk-configurator/snk-configurator.js +2 -0
  60. package/dist/collection/components/snk-crud/snk-crud.css +55 -0
  61. package/dist/collection/components/snk-crud/snk-crud.js +147 -94
  62. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +4 -1
  63. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +18 -7
  64. package/dist/collection/components/snk-crud/subcomponents/snk-entity-search.css +17 -0
  65. package/dist/collection/components/snk-crud/subcomponents/snk-entity-search.js +330 -0
  66. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +0 -3
  67. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +22 -8
  68. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +36 -152
  69. package/dist/collection/components/snk-crud/utils/taskbarUtils.js +163 -0
  70. package/dist/collection/components/snk-data-exporter/exporter-email-sender/snk-exporter-email-sender.js +1 -1
  71. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +2 -2
  72. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +78 -23
  73. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +28 -5
  74. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +43 -2
  75. package/dist/collection/components/snk-dynaform/interfaces/PropsCustomEditor.js +1 -0
  76. package/dist/collection/components/snk-dynaform/interfaces/PropsCustomRender.js +1 -0
  77. package/dist/collection/components/snk-dynaform/snk-dynaform.css +69 -0
  78. package/dist/collection/components/snk-dynaform/snk-dynaform.js +1661 -0
  79. package/dist/collection/components/snk-dynaform/subcomponents/CardFormResizeObserver.js +26 -0
  80. package/dist/collection/components/snk-dynaform/subcomponents/GuideBuilder.js +51 -0
  81. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.css +182 -0
  82. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.js +1015 -0
  83. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.css +98 -0
  84. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.js +590 -0
  85. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-guides-view/snk-dynaform-guides-view.css +321 -0
  86. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-guides-view/snk-dynaform-guides-view.js +1587 -0
  87. package/dist/collection/components/snk-dynaform-form-config/FormConfigHelper.js +325 -0
  88. package/dist/collection/components/snk-dynaform-form-config/SnkFormConfigManager.js +219 -0
  89. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-config-header.css +17 -0
  90. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-config-header.js +236 -0
  91. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-configs-button/snk-dynaform-configs-button.css +41 -0
  92. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-configs-button/snk-dynaform-configs-button.js +170 -0
  93. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-config/snk-dynaform-field-config.css +22 -0
  94. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-config/snk-dynaform-field-config.js +408 -0
  95. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-item.css +88 -0
  96. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-item.js +209 -0
  97. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-layout/snk-dynaform-fields-layout.css +167 -0
  98. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-layout/snk-dynaform-fields-layout.js +655 -0
  99. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-selector/snk-dynaform-fields-selector.css +42 -0
  100. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-selector/snk-dynaform-fields-selector.js +171 -0
  101. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-form-config.css +66 -0
  102. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-form-config.js +557 -0
  103. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-guides-configurator/snk-dynaform-guides-configurator.css +80 -0
  104. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-guides-configurator/snk-dynaform-guides-configurator.js +326 -0
  105. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +30 -0
  106. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +9 -3
  107. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.css +2 -2
  108. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +24 -4
  109. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +6 -1
  110. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +8 -5
  111. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -6
  112. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +148 -77
  113. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.css +0 -1
  114. package/dist/collection/components/snk-grid/snk-grid.css +21 -5
  115. package/dist/collection/components/snk-grid/snk-grid.js +161 -7
  116. package/dist/collection/components/snk-grid-config/snk-grid-config.js +111 -44
  117. package/dist/collection/components/snk-image-input/snk-image-input.js +15 -3
  118. package/dist/collection/components/snk-image-input/utils/ImageUtils.js +5 -3
  119. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +1 -1
  120. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +8 -0
  121. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +38 -2
  122. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +51 -35
  123. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.js +27 -1
  124. package/dist/collection/components/snk-taskbar/processor/simple-taskbar-processor.js +55 -0
  125. package/dist/collection/components/snk-taskbar/snk-taskbar.css +44 -1
  126. package/dist/collection/components/snk-taskbar/snk-taskbar.js +248 -132
  127. package/dist/collection/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.css +12 -0
  128. package/dist/collection/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.js +19 -0
  129. package/dist/collection/lib/@types/index.js +6 -0
  130. package/dist/collection/lib/configs/ConfigStorage.js +5 -0
  131. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +1 -1
  132. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +51 -4
  133. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +15 -104
  134. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +22 -4
  135. package/dist/collection/lib/http/data-fetcher/fetchers/grid-config-fetcher.js +12 -0
  136. package/dist/collection/lib/http/data-fetcher/fetchers/resource-fetcher.js +18 -0
  137. package/dist/collection/lib/message/resources/en-us/dataUnitDataLoaderHelper.msg.js +0 -13
  138. package/dist/collection/lib/message/resources/en-us/snk-crud.msg.js +12 -0
  139. package/dist/collection/lib/message/resources/es-es/dataUnitDataLoaderHelper.msg.js +0 -13
  140. package/dist/collection/lib/message/resources/es-es/snk-crud.msg.js +12 -0
  141. package/dist/collection/lib/message/resources/pt-br/dataUnitDataLoaderHelper.msg.js +0 -13
  142. package/dist/collection/lib/message/resources/pt-br/snk-crud.msg.js +12 -0
  143. package/dist/collection/lib/utils/CrudUtils.js +7 -4
  144. package/dist/components/ConfigStorage.js +17 -0
  145. package/dist/components/ContinuousInsertUtils.js +86 -28
  146. package/dist/components/ISave.js +6 -0
  147. package/dist/components/SnkMessageBuilder.js +36 -39
  148. package/dist/components/dataunit-fetcher.js +67 -109
  149. package/dist/components/form-config-fetcher.js +40 -4
  150. package/dist/components/guides-configurator2.js +1 -1
  151. package/dist/components/index.d.ts +14 -0
  152. package/dist/components/index.js +14 -0
  153. package/dist/components/snk-actions-button2.js +15 -9
  154. package/dist/components/snk-attach2.js +67 -26
  155. package/dist/components/snk-configurator2.js +2 -0
  156. package/dist/components/snk-crud.js +229 -175
  157. package/dist/components/snk-data-exporter2.js +56 -9
  158. package/dist/components/snk-detail-view2.js +174 -267
  159. package/dist/components/snk-dynaform-config-header.d.ts +11 -0
  160. package/dist/components/snk-dynaform-config-header.js +6 -0
  161. package/dist/components/snk-dynaform-config-header2.js +103 -0
  162. package/dist/components/snk-dynaform-configs-button.d.ts +11 -0
  163. package/dist/components/snk-dynaform-configs-button.js +6 -0
  164. package/dist/components/snk-dynaform-configs-button2.js +76 -0
  165. package/dist/components/snk-dynaform-detail-view.d.ts +11 -0
  166. package/dist/components/snk-dynaform-detail-view.js +6 -0
  167. package/dist/components/snk-dynaform-detail-view2.js +2213 -0
  168. package/dist/components/snk-dynaform-field-config.d.ts +11 -0
  169. package/dist/components/snk-dynaform-field-config.js +6 -0
  170. package/dist/components/snk-dynaform-field-config2.js +605 -0
  171. package/dist/components/snk-dynaform-field-item.d.ts +11 -0
  172. package/dist/components/snk-dynaform-field-item.js +6 -0
  173. package/dist/components/snk-dynaform-field-item2.js +96 -0
  174. package/dist/components/snk-dynaform-fields-layout.d.ts +11 -0
  175. package/dist/components/snk-dynaform-fields-layout.js +6 -0
  176. package/dist/components/snk-dynaform-fields-layout2.js +428 -0
  177. package/dist/components/snk-dynaform-fields-selector.d.ts +11 -0
  178. package/dist/components/snk-dynaform-fields-selector.js +6 -0
  179. package/dist/components/snk-dynaform-fields-selector2.js +104 -0
  180. package/dist/components/snk-dynaform-form-config.d.ts +11 -0
  181. package/dist/components/snk-dynaform-form-config.js +6 -0
  182. package/dist/components/snk-dynaform-form-config2.js +430 -0
  183. package/dist/components/snk-dynaform-form-view.d.ts +11 -0
  184. package/dist/components/snk-dynaform-form-view.js +6 -0
  185. package/dist/components/snk-dynaform-form-view2.js +272 -0
  186. package/dist/components/snk-dynaform-guides-configurator.d.ts +11 -0
  187. package/dist/components/snk-dynaform-guides-configurator.js +6 -0
  188. package/dist/components/snk-dynaform-guides-configurator2.js +173 -0
  189. package/dist/components/snk-dynaform-guides-view.d.ts +11 -0
  190. package/dist/components/snk-dynaform-guides-view.js +6 -0
  191. package/dist/components/snk-dynaform.d.ts +11 -0
  192. package/dist/components/snk-dynaform.js +1007 -0
  193. package/dist/components/snk-entity-search.d.ts +11 -0
  194. package/dist/components/snk-entity-search.js +6 -0
  195. package/dist/components/snk-entity-search2.js +231 -0
  196. package/dist/components/snk-exporter-email-sender2.js +1 -1
  197. package/dist/components/snk-filter-bar2.js +98 -79
  198. package/dist/components/snk-filter-detail2.js +9 -3
  199. package/dist/components/snk-filter-item2.js +5 -5
  200. package/dist/components/snk-filter-modal2.js +8 -5
  201. package/dist/components/snk-filter-search.js +12 -1
  202. package/dist/components/snk-form-view2.js +0 -3
  203. package/dist/components/snk-grid-config2.js +92 -44
  204. package/dist/components/snk-grid2.js +95 -50
  205. package/dist/components/snk-image-input2.js +20 -6
  206. package/dist/components/snk-personalized-filter2.js +1 -1
  207. package/dist/components/snk-simple-crud2.js +29 -23
  208. package/dist/components/snk-taskbar-skeleton.d.ts +11 -0
  209. package/dist/components/snk-taskbar-skeleton.js +6 -0
  210. package/dist/components/snk-taskbar-skeleton2.js +29 -0
  211. package/dist/components/snk-taskbar2.js +253 -174
  212. package/dist/components/sortable.esm.js +76 -90
  213. package/dist/components/taskbar-actions-button2.js +21 -2
  214. package/dist/components/taskbar-split-button2.js +10 -1
  215. package/dist/components/taskbarUtils.js +229 -0
  216. package/dist/esm/{ConfigStorage-d15d2014.js → ConfigStorage-0d1c0695.js} +19 -2
  217. package/dist/esm/ContinuousInsertUtils-bce77dc1.js +39 -0
  218. package/dist/esm/{DataFetcher-1dd7e8c0.js → DataFetcher-70de9419.js} +2803 -3
  219. package/dist/esm/FormConfigHelper-efc29480.js +328 -0
  220. package/dist/esm/{ISave-498c4831.js → ISave-f5704813.js} +1 -1
  221. package/dist/esm/{ImageUtils-8fc8d905.js → ImageUtils-efbea0e4.js} +5 -3
  222. package/dist/esm/{PersonalizedFilterUtils-d2439a9a.js → PersonalizedFilterUtils-45b5803c.js} +49 -2
  223. package/dist/esm/{SnkFormConfigManager-86befa68.js → SnkFormConfigManager-e7f05f79.js} +2 -2
  224. package/dist/esm/{SnkMultiSelectionListDataSource-6e9496f0.js → SnkMultiSelectionListDataSource-6ac291a9.js} +141 -69
  225. package/dist/esm/{auth-fetcher-69cbda8d.js → auth-fetcher-e34880e5.js} +1 -1
  226. package/dist/esm/{dataunit-fetcher-21c43ec7.js → dataunit-fetcher-d26e4a08.js} +68 -110
  227. package/dist/esm/fields-layout.entry.js +1 -1
  228. package/dist/esm/fields-selector.entry.js +1 -1
  229. package/dist/esm/{filter-type.enum-f6a8fe23.js → filter-type.enum-62b7fe88.js} +8 -1
  230. package/dist/esm/{form-config-fetcher-fcc7b62f.js → form-config-fetcher-98c42169.js} +41 -5
  231. package/dist/esm/guides-configurator.entry.js +2 -2
  232. package/dist/esm/index-04f73a26.js +28 -40
  233. package/dist/esm/{index-b40568ff.js → index-c6721886.js} +6 -0
  234. package/dist/esm/loader.js +1 -1
  235. package/dist/esm/pesquisa-grid_2.entry.js +5 -6
  236. package/dist/esm/sankhyablocks.js +1 -1
  237. package/dist/esm/{snk-actions-button_8.entry.js → snk-actions-button_9.entry.js} +152 -65
  238. package/dist/esm/snk-application.entry.js +7 -8
  239. package/dist/esm/snk-attach_11.entry.js +2944 -0
  240. package/dist/esm/snk-configurator.entry.js +2 -0
  241. package/dist/esm/snk-crud.entry.js +140 -99
  242. package/dist/esm/snk-data-exporter.entry.js +61 -16
  243. package/dist/esm/{snk-data-unit-3b06a0f3.js → snk-data-unit-ff57ac90.js} +2 -2
  244. package/dist/esm/snk-data-unit.entry.js +3 -4
  245. package/dist/esm/snk-detail-view.entry.js +26 -18
  246. package/dist/esm/snk-dynaform-config-header_5.entry.js +731 -0
  247. package/dist/esm/snk-dynaform-detail-view_2.entry.js +956 -0
  248. package/dist/esm/snk-dynaform-field-config_2.entry.js +322 -0
  249. package/dist/esm/snk-dynaform-guides-view-0dfbefc1.js +1091 -0
  250. package/dist/esm/snk-dynaform-guides-view.entry.js +15 -0
  251. package/dist/esm/snk-dynaform.entry.js +675 -0
  252. package/dist/esm/snk-entity-search.entry.js +207 -0
  253. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  254. package/dist/esm/{snk-expression-group_2.entry.js → snk-expression-group_4.entry.js} +405 -4
  255. package/dist/esm/snk-filter-bar_4.entry.js +112 -96
  256. package/dist/esm/snk-filter-search.entry.js +10 -0
  257. package/dist/esm/snk-form-view.entry.js +1 -4
  258. package/dist/esm/snk-form_2.entry.js +4 -5
  259. package/dist/esm/snk-grid.entry.js +50 -18
  260. package/dist/esm/{snk-guides-viewer-a4e31f63.js → snk-guides-viewer-31a0a23d.js} +39 -162
  261. package/dist/esm/snk-guides-viewer.entry.js +8 -17
  262. package/dist/esm/snk-layout-form-config.entry.js +5 -6
  263. package/dist/esm/snk-pesquisa.entry.js +5 -6
  264. package/dist/esm/snk-taskbar.entry.js +183 -126
  265. package/dist/esm/{sortable.esm-842f85a3.js → sortable.esm-bc277c12.js} +76 -90
  266. package/dist/esm/taskbar-elements-ba9d6889.js +149 -0
  267. package/dist/esm/taskbarUtils-cb9db0d9.js +230 -0
  268. package/dist/sankhyablocks/{p-32ad76cc.js → p-097d75b3.js} +2 -2
  269. package/dist/sankhyablocks/p-0dbd53d9.js +1 -0
  270. package/dist/sankhyablocks/p-12579574.entry.js +1 -0
  271. package/dist/sankhyablocks/p-1d31aec3.entry.js +1 -0
  272. package/dist/sankhyablocks/{p-2cc2526e.entry.js → p-1d7d5814.entry.js} +1 -1
  273. package/dist/sankhyablocks/p-24b059ee.entry.js +1 -0
  274. package/dist/sankhyablocks/p-250b273e.entry.js +1 -0
  275. package/dist/sankhyablocks/p-26f1919e.entry.js +1 -0
  276. package/dist/sankhyablocks/p-2a83f20e.entry.js +1 -0
  277. package/dist/sankhyablocks/p-2c4f7fdd.entry.js +1 -0
  278. package/dist/sankhyablocks/p-2ec98523.js +1 -0
  279. package/dist/sankhyablocks/p-449dfe55.entry.js +1 -0
  280. package/dist/sankhyablocks/p-46d7e2de.js +1 -0
  281. package/dist/sankhyablocks/p-4dd574d6.js +1 -0
  282. package/dist/sankhyablocks/p-541c72ec.entry.js +1 -0
  283. package/dist/sankhyablocks/p-58709cf9.js +1 -0
  284. package/dist/sankhyablocks/p-5aeae67f.js +1 -0
  285. package/dist/sankhyablocks/p-5d50f59a.entry.js +1 -0
  286. package/dist/sankhyablocks/p-5ef0e9a8.entry.js +1 -0
  287. package/dist/sankhyablocks/p-6d3bcabf.entry.js +1 -0
  288. package/dist/sankhyablocks/p-6f60df43.js +1 -0
  289. package/dist/sankhyablocks/p-846d8f79.entry.js +1 -0
  290. package/dist/sankhyablocks/{p-e30acdca.entry.js → p-855ccf64.entry.js} +1 -1
  291. package/dist/sankhyablocks/p-885262ce.entry.js +1 -0
  292. package/dist/sankhyablocks/p-8d1ef77a.js +60 -0
  293. package/dist/sankhyablocks/{p-9114e869.js → p-8d81c8d3.js} +2 -2
  294. package/dist/sankhyablocks/p-8f5dd87d.entry.js +1 -0
  295. package/dist/sankhyablocks/p-90037547.js +1 -0
  296. package/dist/sankhyablocks/{p-7150eacf.entry.js → p-9742ea0e.entry.js} +1 -1
  297. package/dist/sankhyablocks/p-9e02a785.js +1 -0
  298. package/dist/sankhyablocks/{p-6564180d.entry.js → p-9e7dc97d.entry.js} +1 -1
  299. package/dist/sankhyablocks/p-a25ab2ff.entry.js +1 -0
  300. package/dist/sankhyablocks/p-a696bbcd.entry.js +1 -0
  301. package/dist/sankhyablocks/{p-88b0797e.entry.js → p-a9012341.entry.js} +2 -2
  302. package/dist/sankhyablocks/p-abcb646d.js +1 -0
  303. package/dist/sankhyablocks/{p-4ff3b494.js → p-af673291.js} +1 -1
  304. package/dist/sankhyablocks/p-bd2a845c.js +1 -0
  305. package/dist/sankhyablocks/p-c4b34e2b.entry.js +1 -0
  306. package/dist/sankhyablocks/{p-7e9f8fa4.js → p-c9440c8a.js} +1 -1
  307. package/dist/sankhyablocks/p-ca3728c0.entry.js +1 -0
  308. package/dist/sankhyablocks/p-cbb8e351.js +7 -0
  309. package/dist/sankhyablocks/p-cd153f71.entry.js +1 -0
  310. package/dist/sankhyablocks/p-ce8ccd72.entry.js +1 -0
  311. package/dist/sankhyablocks/p-ddb160eb.entry.js +1 -0
  312. package/dist/sankhyablocks/p-e5a3711f.js +1 -0
  313. package/dist/sankhyablocks/{p-2b882835.entry.js → p-e737fd5a.entry.js} +1 -1
  314. package/dist/sankhyablocks/{p-362e6e8c.js → p-eac48627.js} +1 -1
  315. package/dist/sankhyablocks/p-ec7c87bb.js +28 -0
  316. package/dist/sankhyablocks/p-fb6e3c65.entry.js +1 -0
  317. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  318. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +4 -0
  319. package/dist/types/components/snk-attach/snk-attach.d.ts +22 -4
  320. package/dist/types/components/snk-crud/snk-crud.d.ts +28 -10
  321. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +3 -2
  322. package/dist/types/components/snk-crud/subcomponents/snk-entity-search.d.ts +62 -0
  323. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +4 -18
  324. package/dist/types/components/snk-crud/utils/taskbarUtils.d.ts +13 -0
  325. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +8 -0
  326. package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +4 -0
  327. package/dist/types/components/snk-data-exporter/structure/ItemBuilder.d.ts +16 -0
  328. package/dist/types/components/snk-dynaform/interfaces/PropsCustomEditor.d.ts +4 -0
  329. package/dist/types/components/snk-dynaform/interfaces/PropsCustomRender.d.ts +4 -0
  330. package/dist/types/components/snk-dynaform/subcomponents/CardFormResizeObserver.d.ts +1 -0
  331. package/dist/types/components/snk-dynaform/subcomponents/GuideBuilder.d.ts +14 -0
  332. package/dist/types/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.d.ts +169 -0
  333. package/dist/types/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.d.ts +108 -0
  334. package/dist/types/components/snk-dynaform-form-config/FormConfigHelper.d.ts +36 -0
  335. package/dist/types/components/snk-dynaform-form-config/SnkFormConfigManager.d.ts +35 -0
  336. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-config-header.d.ts +23 -0
  337. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-configs-button/snk-dynaform-configs-button.d.ts +19 -0
  338. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-config/snk-dynaform-field-config.d.ts +56 -0
  339. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-fields-layout/snk-dynaform-fields-layout.d.ts +74 -0
  340. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-fields-selector/snk-dynaform-fields-selector.d.ts +21 -0
  341. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-form-config.d.ts +95 -0
  342. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-guides-configurator/snk-dynaform-guides-configurator.d.ts +35 -0
  343. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +1 -0
  344. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +1 -1
  345. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +5 -1
  346. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +33 -16
  347. package/dist/types/components/snk-grid/snk-grid.d.ts +29 -1
  348. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +7 -0
  349. package/dist/types/components/snk-image-input/snk-image-input.d.ts +1 -0
  350. package/dist/types/components/snk-image-input/utils/ImageUtils.d.ts +1 -1
  351. package/dist/types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.d.ts +6 -0
  352. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +29 -2
  353. package/dist/types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.d.ts +5 -0
  354. package/dist/types/components/snk-taskbar/processor/simple-taskbar-processor.d.ts +31 -0
  355. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +32 -21
  356. package/dist/types/components/snk-taskbar/subcomponents/snk-taskbar-skeleton.d.ts +3 -0
  357. package/dist/types/components.d.ts +2503 -1188
  358. package/dist/types/lib/@types/index.d.ts +6 -0
  359. package/dist/types/lib/configs/ConfigStorage.d.ts +1 -0
  360. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -0
  361. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +3 -1
  362. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +2 -0
  363. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +1 -0
  364. package/dist/types/lib/http/data-fetcher/fetchers/grid-config-fetcher.d.ts +1 -0
  365. package/dist/types/lib/http/data-fetcher/fetchers/resource-fetcher.d.ts +1 -0
  366. package/package.json +11 -8
  367. package/react/components.d.ts +14 -0
  368. package/react/components.js +14 -0
  369. package/react/components.js.map +1 -1
  370. package/dist/cjs/SnkMessageBuilder-d9558dba.js +0 -2809
  371. package/dist/cjs/default-filters-a09bf82b.js +0 -8
  372. package/dist/cjs/index-62760a9c.js +0 -49
  373. package/dist/cjs/index-8d94b7e0.js +0 -7
  374. package/dist/cjs/snk-attach.cjs.entry.js +0 -911
  375. package/dist/cjs/snk-default-filter.cjs.entry.js +0 -77
  376. package/dist/cjs/snk-filter-advanced-mode_2.cjs.entry.js +0 -61
  377. package/dist/cjs/snk-filter-detail.cjs.entry.js +0 -198
  378. package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +0 -408
  379. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +0 -109
  380. package/dist/cjs/snk-image-input.cjs.entry.js +0 -148
  381. package/dist/cjs/snk-personalized-filter.cjs.entry.js +0 -358
  382. package/dist/cjs/snk-simple-bar.cjs.entry.js +0 -45
  383. package/dist/cjs/snk-simple-crud.cjs.entry.js +0 -865
  384. package/dist/cjs/taskbar-elements-a94d4318.js +0 -133
  385. package/dist/cjs/taskbar-processor-2fba34a8.js +0 -53
  386. package/dist/esm/SnkMessageBuilder-c0bc4424.js +0 -2807
  387. package/dist/esm/default-filters-50105e43.js +0 -8
  388. package/dist/esm/index-620ac460.js +0 -7
  389. package/dist/esm/index-8acbae97.js +0 -49
  390. package/dist/esm/snk-attach.entry.js +0 -907
  391. package/dist/esm/snk-default-filter.entry.js +0 -73
  392. package/dist/esm/snk-filter-advanced-mode_2.entry.js +0 -56
  393. package/dist/esm/snk-filter-detail.entry.js +0 -194
  394. package/dist/esm/snk-filter-field-search_2.entry.js +0 -403
  395. package/dist/esm/snk-filter-modal-item.entry.js +0 -105
  396. package/dist/esm/snk-image-input.entry.js +0 -144
  397. package/dist/esm/snk-personalized-filter.entry.js +0 -354
  398. package/dist/esm/snk-simple-bar.entry.js +0 -41
  399. package/dist/esm/snk-simple-crud.entry.js +0 -861
  400. package/dist/esm/taskbar-elements-97541bdd.js +0 -130
  401. package/dist/esm/taskbar-processor-3436124c.js +0 -51
  402. package/dist/sankhyablocks/p-07619e85.entry.js +0 -1
  403. package/dist/sankhyablocks/p-0d15b109.entry.js +0 -1
  404. package/dist/sankhyablocks/p-0f3698af.js +0 -1
  405. package/dist/sankhyablocks/p-10cad767.entry.js +0 -1
  406. package/dist/sankhyablocks/p-17653b22.entry.js +0 -1
  407. package/dist/sankhyablocks/p-1a0caadb.js +0 -1
  408. package/dist/sankhyablocks/p-25540da8.js +0 -1
  409. package/dist/sankhyablocks/p-27d6590e.js +0 -1
  410. package/dist/sankhyablocks/p-27e0cd68.entry.js +0 -1
  411. package/dist/sankhyablocks/p-2a356340.entry.js +0 -1
  412. package/dist/sankhyablocks/p-438a225f.entry.js +0 -1
  413. package/dist/sankhyablocks/p-45a830d9.js +0 -1
  414. package/dist/sankhyablocks/p-48c580b9.entry.js +0 -1
  415. package/dist/sankhyablocks/p-4a8d0917.entry.js +0 -1
  416. package/dist/sankhyablocks/p-4cdfa0e4.entry.js +0 -1
  417. package/dist/sankhyablocks/p-4fe8380b.entry.js +0 -1
  418. package/dist/sankhyablocks/p-51833248.js +0 -7
  419. package/dist/sankhyablocks/p-68c1a093.js +0 -1
  420. package/dist/sankhyablocks/p-6a4b21dd.js +0 -1
  421. package/dist/sankhyablocks/p-72d62f22.js +0 -1
  422. package/dist/sankhyablocks/p-73b455e1.entry.js +0 -1
  423. package/dist/sankhyablocks/p-84345e7a.js +0 -1
  424. package/dist/sankhyablocks/p-8bb4e86b.entry.js +0 -1
  425. package/dist/sankhyablocks/p-9c1ff75e.entry.js +0 -1
  426. package/dist/sankhyablocks/p-a9839628.js +0 -26
  427. package/dist/sankhyablocks/p-b25777fa.entry.js +0 -1
  428. package/dist/sankhyablocks/p-b568c1d4.js +0 -1
  429. package/dist/sankhyablocks/p-b9970342.js +0 -60
  430. package/dist/sankhyablocks/p-bdf0077f.js +0 -1
  431. package/dist/sankhyablocks/p-c8043a53.entry.js +0 -1
  432. package/dist/sankhyablocks/p-c860552e.entry.js +0 -1
  433. package/dist/sankhyablocks/p-cc64239c.entry.js +0 -1
  434. package/dist/sankhyablocks/p-cd00a3d1.entry.js +0 -1
  435. package/dist/sankhyablocks/p-e0a6818c.js +0 -1
  436. package/dist/sankhyablocks/p-e0e3914e.entry.js +0 -1
  437. package/dist/sankhyablocks/p-ebce5394.entry.js +0 -1
  438. package/dist/sankhyablocks/p-ef9343c3.entry.js +0 -1
  439. package/dist/sankhyablocks/p-f1110b78.entry.js +0 -1
  440. package/dist/sankhyablocks/p-f1bf7248.entry.js +0 -1
  441. package/dist/sankhyablocks/p-f1d541e9.entry.js +0 -1
  442. package/dist/sankhyablocks/p-f2472d12.entry.js +0 -1
  443. package/dist/sankhyablocks/p-f4184ce7.js +0 -1
@@ -1,14 +1,13 @@
1
- import { D as DataFetcher } from './DataFetcher-1dd7e8c0.js';
2
- import './ISave-498c4831.js';
1
+ import { D as DataFetcher } from './DataFetcher-70de9419.js';
2
+ import './ISave-f5704813.js';
3
3
  import { SortMode, ApplicationContext, ObjectUtils, StringUtils, NumberUtils, DataType, UserInterface as UserInterface$1, DateUtils } from '@sankhyalabs/core';
4
- import { D as DataExporterOption } from './index-b40568ff.js';
4
+ import { D as DataExporterOption } from './index-c6721886.js';
5
5
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
6
6
  import { UserInterface } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
7
- import { P as PreloadManager } from './dataunit-fetcher-21c43ec7.js';
7
+ import { P as PreloadManager } from './dataunit-fetcher-d26e4a08.js';
8
8
  import './filter-item-type.enum-d45e026f.js';
9
- import './form-config-fetcher-fcc7b62f.js';
9
+ import './form-config-fetcher-98c42169.js';
10
10
  import './constants-7b422de0.js';
11
- import { h } from './index-04f73a26.js';
12
11
  import { g as getSelectedRecordsIDsInfo } from './GetSelectedRecordsIDsInfo-9fa41508.js';
13
12
  import { I as IExportType } from './IFetchDataExporterParams-d73bed3d.js';
14
13
  import InMemoryFilterColumnDataSource from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource';
@@ -20,10 +19,13 @@ class CrudUtils {
20
19
  .columns
21
20
  .filter(col => col.ascending != undefined)
22
21
  .sort((colA, colB) => colA.orderIndex - colB.orderIndex)
23
- .map(({ name: field, ascending }) => {
24
- const { dataType } = dataUnit.getField(field);
25
- return { field, dataType, mode: ascending ? SortMode.ASC : SortMode.DESC };
26
- });
22
+ .reduce((sortings, { name: field, ascending }) => {
23
+ const fieldMD = dataUnit.getField(field);
24
+ if (fieldMD) {
25
+ sortings.push({ field, dataType: fieldMD.dataType, mode: ascending ? SortMode.ASC : SortMode.DESC });
26
+ }
27
+ return sortings;
28
+ }, []);
27
29
  }
28
30
  }
29
31
  static parseCrudResults(entities, onlyFirst) {
@@ -146,41 +148,6 @@ class RmPrecisionCustomValueFormatter {
146
148
  }
147
149
  }
148
150
 
149
- class ContinuousInsertUtils {
150
- constructor(snkApplication, resourceID, configName) {
151
- this.snkApplication = snkApplication;
152
- this.keyConfigEnableContinuousInsert = `${resourceID}enableContinuousInsert${configName ? configName : ''}`;
153
- }
154
- handleSaveConfig(enableContinuousInsert) {
155
- return this.snkApplication.saveConfig(this.keyConfigEnableContinuousInsert, enableContinuousInsert);
156
- }
157
- getConfig() {
158
- return this.snkApplication.getConfig(this.keyConfigEnableContinuousInsert).then(value => {
159
- if (value) {
160
- return value == "true" ? true : false;
161
- }
162
- return false;
163
- }).catch(() => {
164
- return false;
165
- });
166
- }
167
- getMessage(key, params) {
168
- var _a, _b;
169
- return (_b = (_a = this.snkApplication) === null || _a === void 0 ? void 0 : _a.messagesBuilder) === null || _b === void 0 ? void 0 : _b.getMessage(key, params);
170
- }
171
- actionContinuousInsert(enableContinuousInsert, handleEnableContinuousInsert) {
172
- return {
173
- value: StringUtils.generateUUID(),
174
- label: enableContinuousInsert ? this.getMessage('continuousInsertUtils.actions.disable') : this.getMessage('continuousInsertUtils.actions.enable'),
175
- enabled: true,
176
- itemBuilder: () => {
177
- return (h("div", { class: "ez-dropdown__item-wrapper", onClick: handleEnableContinuousInsert },
178
- h("span", { class: "ez-dropdown__item-label" }, enableContinuousInsert ? this.getMessage('continuousInsertUtils.actions.disable') : this.getMessage('continuousInsertUtils.actions.enable'))));
179
- },
180
- };
181
- }
182
- }
183
-
184
151
  class CommonsExporter {
185
152
  constructor(dataUnit, grid) {
186
153
  this.MAX_WIDTH_COD = 60;
@@ -198,44 +165,46 @@ class CommonsExporter {
198
165
  return this.columnsState;
199
166
  }
200
167
  async buildColumnsMetadata(gridColumns) {
201
- var _a, _b, _c;
168
+ var _a;
202
169
  const columnsMetadata = [];
170
+ const searchPlusDescriptionIds = this.collectSearchPlusDescriptionIds(gridColumns);
171
+ const gridColumnsByName = new Map(gridColumns.map(column => [column.name, column]));
203
172
  for (const column of gridColumns) {
173
+ if (this.isHiddenColumn(column)) {
174
+ continue;
175
+ }
204
176
  /**
205
- * TODO: Analisar e criar uma melhor forma de tratar essa validação do "RECDESP".
177
+ * A grid adiciona uma coluna auxiliar para a descrição de campos SEARCHPLUS
178
+ * (ex.: "ENTITYNAME.DESCRIPTIONFIELD"). A descrição já é emitida ao processar
179
+ * o próprio SEARCHPLUS, então pulamos a auxiliar para evitar duplicar a coluna.
206
180
  */
207
- if (column.hidden && column.name !== "RECDESP") {
181
+ if (searchPlusDescriptionIds.has(column.name)) {
208
182
  continue;
209
183
  }
210
184
  const fieldData = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(column.name);
211
185
  const customFormatter = await this.grid.getCustomValueFormatter(column.name);
212
- const isUserInterfaceSEARCH = (fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface) === UserInterface.SEARCH;
213
- const widthColumnDefault = 60;
214
- const labelColumn = isUserInterfaceSEARCH ? "Cód. " : column.label;
215
- let descriptionColumn = undefined;
186
+ const isSearchField = this.isSearchUserInterface(fieldData);
187
+ const labelColumn = isSearchField ? "Cód. " : column.label;
216
188
  let columnData = {
217
189
  id: column.name,
218
190
  label: labelColumn,
219
- width: isUserInterfaceSEARCH ? (labelColumn.length * this.DEFAULT_FONT_SIZE) : column.width,
191
+ width: isSearchField ? (labelColumn.length * this.DEFAULT_FONT_SIZE) : column.width,
220
192
  type: fieldData === null || fieldData === void 0 ? void 0 : fieldData.dataType,
221
193
  userInterface: fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface,
222
194
  customFormatter
223
195
  };
224
- if (isUserInterfaceSEARCH && ((_b = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties) === null || _b === void 0 ? void 0 : _b.DESCRIPTIONFIELD) != undefined) {
225
- const labelDescription = (_c = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties) === null || _c === void 0 ? void 0 : _c.DESCRIPTIONENTITY;
226
- const mergedFrom = fieldData.properties.mergedFrom;
227
- const descriptionField = `${fieldData.properties.ENTITYNAME}.${fieldData.properties.DESCRIPTIONFIELD}`;
228
- descriptionColumn = {
229
- id: `${mergedFrom ? (mergedFrom + ".") : ""}${descriptionField}`,
230
- label: labelDescription,
231
- width: isUserInterfaceSEARCH && labelDescription ? (labelDescription.length * this.DEFAULT_FONT_SIZE - widthColumnDefault) : column.width,
232
- type: DataType.TEXT,
233
- userInterface: UserInterface.LONGTEXT,
234
- descriptionFrom: fieldData.name
235
- };
236
- const newWidth = this.getWidthByMetaData(column === null || column === void 0 ? void 0 : column.width, columnData === null || columnData === void 0 ? void 0 : columnData.width, descriptionColumn === null || descriptionColumn === void 0 ? void 0 : descriptionColumn.width);
237
- columnData = Object.assign(Object.assign({}, columnData), { width: newWidth === null || newWidth === void 0 ? void 0 : newWidth.codWidth });
238
- descriptionColumn = Object.assign(Object.assign({}, descriptionColumn), { width: newWidth === null || newWidth === void 0 ? void 0 : newWidth.descWidth, label: (descriptionColumn === null || descriptionColumn === void 0 ? void 0 : descriptionColumn.label) || (column === null || column === void 0 ? void 0 : column.label) });
196
+ let descriptionColumn = isSearchField ? this.buildDescriptionColumn(fieldData, column) : undefined;
197
+ if (descriptionColumn) {
198
+ const realDescriptionColumn = gridColumnsByName.get(descriptionColumn.id);
199
+ if (realDescriptionColumn === null || realDescriptionColumn === void 0 ? void 0 : realDescriptionColumn.width) {
200
+ columnData = Object.assign(Object.assign({}, columnData), { width: Math.min(columnData.width, this.MAX_WIDTH_COD) });
201
+ descriptionColumn = Object.assign(Object.assign({}, descriptionColumn), { width: realDescriptionColumn.width, label: (descriptionColumn === null || descriptionColumn === void 0 ? void 0 : descriptionColumn.label) || (column === null || column === void 0 ? void 0 : column.label) });
202
+ }
203
+ else {
204
+ const newWidth = this.getWidthByMetaData(column === null || column === void 0 ? void 0 : column.width, columnData === null || columnData === void 0 ? void 0 : columnData.width, descriptionColumn === null || descriptionColumn === void 0 ? void 0 : descriptionColumn.width);
205
+ columnData = Object.assign(Object.assign({}, columnData), { width: newWidth === null || newWidth === void 0 ? void 0 : newWidth.codWidth });
206
+ descriptionColumn = Object.assign(Object.assign({}, descriptionColumn), { width: newWidth === null || newWidth === void 0 ? void 0 : newWidth.descWidth, label: (descriptionColumn === null || descriptionColumn === void 0 ? void 0 : descriptionColumn.label) || (column === null || column === void 0 ? void 0 : column.label) });
207
+ }
239
208
  }
240
209
  columnsMetadata.push(columnData);
241
210
  if (descriptionColumn)
@@ -243,6 +212,59 @@ class CommonsExporter {
243
212
  }
244
213
  return columnsMetadata || [];
245
214
  }
215
+ collectSearchPlusDescriptionIds(gridColumns) {
216
+ var _a;
217
+ const descriptionIds = new Set();
218
+ for (const column of gridColumns) {
219
+ if (this.isHiddenColumn(column)) {
220
+ continue;
221
+ }
222
+ const fieldData = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(column.name);
223
+ if (!this.isSearchUserInterface(fieldData)) {
224
+ continue;
225
+ }
226
+ const descriptionId = this.buildDescriptionColumnId(fieldData);
227
+ if (descriptionId) {
228
+ descriptionIds.add(descriptionId);
229
+ }
230
+ }
231
+ return descriptionIds;
232
+ }
233
+ /**
234
+ * TODO: Analisar e criar uma melhor forma de tratar essa validação do "RECDESP".
235
+ */
236
+ isHiddenColumn(column) {
237
+ return column.hidden && column.name !== "RECDESP";
238
+ }
239
+ isSearchUserInterface(fieldData) {
240
+ return (fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface) === UserInterface.SEARCH
241
+ || (fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface) === UserInterface.SEARCHPLUS;
242
+ }
243
+ buildDescriptionColumnId(fieldData) {
244
+ const properties = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties;
245
+ if ((properties === null || properties === void 0 ? void 0 : properties.DESCRIPTIONFIELD) == undefined) {
246
+ return undefined;
247
+ }
248
+ const descriptionField = `${properties.ENTITYNAME}.${properties.DESCRIPTIONFIELD}`;
249
+ return properties.mergedFrom ? `${properties.mergedFrom}.${descriptionField}` : descriptionField;
250
+ }
251
+ buildDescriptionColumn(fieldData, column) {
252
+ var _a;
253
+ const id = this.buildDescriptionColumnId(fieldData);
254
+ if (!id) {
255
+ return undefined;
256
+ }
257
+ const labelDescription = (_a = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties) === null || _a === void 0 ? void 0 : _a.DESCRIPTIONENTITY;
258
+ const widthColumnDefault = 60;
259
+ return {
260
+ id,
261
+ label: labelDescription,
262
+ width: labelDescription ? (labelDescription.length * this.DEFAULT_FONT_SIZE - widthColumnDefault) : column.width,
263
+ type: DataType.TEXT,
264
+ userInterface: UserInterface.LONGTEXT,
265
+ descriptionFrom: fieldData.name
266
+ };
267
+ }
246
268
  getWidthByMetaData(maxWidth, widthCod, widthDescription) {
247
269
  const totalCurrentWidth = widthCod + widthDescription;
248
270
  const codPercentage = widthCod / totalCurrentWidth;
@@ -333,6 +355,56 @@ class ClientSideExporterProvider extends CommonsExporter {
333
355
  }
334
356
  }
335
357
 
358
+ class TaskbarProcessor {
359
+ constructor(defaultButtons) {
360
+ this._defaultButtons = defaultButtons;
361
+ }
362
+ process(taskbarId, taskbarManager, dataState, disabledButtons = [], invisibleButtons = []) {
363
+ var _a;
364
+ this.customButtons = new Map();
365
+ this.buttons = "";
366
+ this.disabledButtons = [].concat(disabledButtons);
367
+ (_a = this.getButtonsArray(taskbarId, taskbarManager, dataState)) === null || _a === void 0 ? void 0 : _a.forEach(btnDef => {
368
+ let buttonName;
369
+ if (typeof btnDef === "string") {
370
+ buttonName = btnDef;
371
+ }
372
+ else {
373
+ const customBtn = btnDef;
374
+ this.customButtons.set(customBtn.name, customBtn);
375
+ buttonName = customBtn.name;
376
+ }
377
+ if (!invisibleButtons.includes(buttonName)) {
378
+ if (!this.isEnabled(taskbarId, taskbarManager, buttonName, dataState, disabledButtons)) {
379
+ this.disabledButtons.push(buttonName);
380
+ }
381
+ if (this.buttons.length > 0) {
382
+ this.buttons += ",";
383
+ }
384
+ this.buttons += buttonName;
385
+ }
386
+ });
387
+ }
388
+ getButtonsArray(taskbarId, taskbarManager, dataState) {
389
+ const defaults = this.getButtonsFromKey(taskbarId);
390
+ if (taskbarManager) {
391
+ return taskbarManager.getButtons(taskbarId, dataState, [...defaults]);
392
+ }
393
+ return defaults;
394
+ }
395
+ getButtonsFromKey(taskbarId) {
396
+ const btnsValue = this._defaultButtons[taskbarId];
397
+ return typeof btnsValue === 'function' ? btnsValue() : btnsValue;
398
+ }
399
+ isEnabled(taskbarId, taskbarManager, buttonName, dataState, disabled) {
400
+ const originalValue = disabled.includes(buttonName) ? false : true;
401
+ if (taskbarManager && taskbarManager.isEnabled) {
402
+ return taskbarManager.isEnabled(taskbarId, dataState, buttonName, originalValue);
403
+ }
404
+ return originalValue;
405
+ }
406
+ }
407
+
336
408
  class SnkMultiSelectionListDataSource {
337
409
  setDataUnit(dataUnit) {
338
410
  this._dataUnit = dataUnit;
@@ -371,4 +443,4 @@ class SnkMultiSelectionListDataSource {
371
443
  }
372
444
  }
373
445
 
374
- export { CommonsExporter as C, RmPrecisionCustomValueFormatter as R, SnkMultiSelectionListDataSource as S, CrudUtils as a, ContinuousInsertUtils as b, ClientSideExporterProvider as c };
446
+ export { CommonsExporter as C, RmPrecisionCustomValueFormatter as R, SnkMultiSelectionListDataSource as S, TaskbarProcessor as T, CrudUtils as a, ClientSideExporterProvider as b };
@@ -1,5 +1,5 @@
1
1
  import { ObjectUtils } from '@sankhyalabs/core';
2
- import { R as ResourceFetcher } from './form-config-fetcher-fcc7b62f.js';
2
+ import { R as ResourceFetcher } from './form-config-fetcher-98c42169.js';
3
3
 
4
4
  class AuthFetcher extends ResourceFetcher {
5
5
  getData(resourceID) {
@@ -1,11 +1,10 @@
1
1
  import { ObjectUtils, DataUnit, DataUnitInMemoryLoader, ApplicationContext, StringUtils, UserInterface, DataUnitStorage, DataType, ChangeOperation } from '@sankhyalabs/core';
2
- import { D as DataFetcher, d as dist } from './DataFetcher-1dd7e8c0.js';
2
+ import { D as DataFetcher, d as dist } from './DataFetcher-70de9419.js';
3
3
  import { DISTINCT_FILTER_NAME_PREFIX } from '@sankhyalabs/ezui/dist/collection/utils/constants';
4
4
  import { DataUnitTransient } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
5
5
  import { ColumnFilterManager } from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
6
6
  import SortingUtils from '@sankhyalabs/core/dist/utils/SortingUtils';
7
7
  import { R as ResourceIDUtils } from './ResourceIDUtils-a114189a.js';
8
- import { S as SnkMessageBuilder } from './SnkMessageBuilder-c0bc4424.js';
9
8
 
10
9
  class ArrayRepository {
11
10
  constructor(equalsFunction) {
@@ -136,6 +135,9 @@ class PreloadManager {
136
135
  const columnFilters = ColumnFilterManager.getColumnFilters(request.filters, fieldName);
137
136
  filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
138
137
  }
138
+ if (onlyLabel) {
139
+ return Promise.resolve(this.compileDistinctByLabel(dataUnit, fieldName, filterFunction));
140
+ }
139
141
  return new Promise((accept, reject) => {
140
142
  PreloadManager.getRepository(dataUnit).distict(record => {
141
143
  if (filterFunction != undefined && !filterFunction(record)) {
@@ -146,9 +148,6 @@ class PreloadManager {
146
148
  return { key: null, value: null };
147
149
  }
148
150
  let value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
149
- if ((fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label) && onlyLabel) {
150
- return { key: fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label, value: dataUnit.getFormattedValue(fieldName, value) };
151
- }
152
151
  return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
153
152
  })
154
153
  .then(result => {
@@ -161,6 +160,43 @@ class PreloadManager {
161
160
  .catch(reason => reject(reason));
162
161
  });
163
162
  }
163
+ static compileDistinctByLabel(dataUnit, fieldName, filterFunction) {
164
+ const groupedOptions = new Map();
165
+ const cachedRecords = PreloadManager.getRepository(dataUnit).getFromCache();
166
+ cachedRecords.forEach(record => {
167
+ if (filterFunction != undefined && !filterFunction(record)) {
168
+ return;
169
+ }
170
+ const fieldValue = record[fieldName];
171
+ if (fieldValue == undefined) {
172
+ const nullKey = '';
173
+ if (!groupedOptions.has(nullKey)) {
174
+ groupedOptions.set(nullKey, {
175
+ values: new Set([null]),
176
+ option: { label: null, value: null, check: true },
177
+ });
178
+ }
179
+ return;
180
+ }
181
+ const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
182
+ const label = (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label) ? fieldValue.label : dataUnit.getFormattedValue(fieldName, fieldValue);
183
+ const key = String(label !== null && label !== void 0 ? label : '');
184
+ let grouped = groupedOptions.get(key);
185
+ if (!grouped) {
186
+ grouped = {
187
+ values: new Set(),
188
+ option: { label, value, check: true },
189
+ };
190
+ groupedOptions.set(key, grouped);
191
+ }
192
+ grouped.values.add(value);
193
+ });
194
+ return Array.from(groupedOptions.values()).map(grouped => {
195
+ const option = grouped.option;
196
+ option.__multiValues = Array.from(grouped.values.values());
197
+ return grouped.option;
198
+ });
199
+ }
164
200
  static async loadData(dataUnit, request, loadFromServer) {
165
201
  try {
166
202
  if (PreloadManager.isCacheEnabled(dataUnit)) {
@@ -236,7 +272,17 @@ class PreloadManager {
236
272
  });
237
273
  }
238
274
  static getCachedRecords(dataUnit) {
239
- return PreloadManager.getRepository(dataUnit).getFromCache();
275
+ const records = PreloadManager.getRepository(dataUnit).getFromCache();
276
+ const request = dataUnit.getLastLoadRequest();
277
+ if (request == undefined) {
278
+ return records;
279
+ }
280
+ const columnFilters = ColumnFilterManager.getColumnFilters(request.filters, "");
281
+ const filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
282
+ if (filterFunction == undefined) {
283
+ return records;
284
+ }
285
+ return records.filter(filterFunction);
240
286
  }
241
287
  }
242
288
  PreloadManager._repositories = new Map();
@@ -513,115 +559,27 @@ class DatasetStrategy {
513
559
  }
514
560
  }
515
561
 
516
- async function showAskCancelPaginationPopup() {
517
- return new Promise((resolve) => {
518
- const messagesBuilder = new SnkMessageBuilder();
519
- const { checkboxContainer, checkbox } = buildCheckboxContainer(messagesBuilder);
520
- const popup = builPopup(resolve, checkbox, messagesBuilder);
521
- const contentContainer = buildContentContainer();
522
- const actionsContainer = buildActionsContainer();
523
- contentContainer.appendChild(checkboxContainer);
524
- contentContainer.appendChild(buildMessage(messagesBuilder));
525
- actionsContainer.appendChild(buildContinuePaginationBtn(popup, checkbox, resolve, messagesBuilder));
526
- actionsContainer.appendChild(buildCancelPaginationBtn(popup, resolve, messagesBuilder));
527
- contentContainer.appendChild(actionsContainer);
528
- popup.appendChild(contentContainer);
529
- document.body.appendChild(popup);
530
- });
531
- }
532
- function buildCheckboxContainer(messagesBuilder) {
533
- const checkboxContainer = document.createElement('div');
534
- checkboxContainer.style.marginBottom = '14px';
535
- checkboxContainer.style.display = 'flex';
536
- checkboxContainer.style.alignItems = 'center';
537
- const { checkbox, checkboxLabel } = buildCheckbox(messagesBuilder);
538
- checkboxContainer.appendChild(checkbox);
539
- checkboxContainer.appendChild(checkboxLabel);
540
- return { checkboxContainer, checkbox };
541
- }
542
- function buildCheckbox(messagesBuilder) {
543
- const checkbox = document.createElement('input');
544
- checkbox.type = 'checkbox';
545
- checkbox.id = 'loadAll';
546
- const checkboxLabel = document.createElement('label');
547
- checkboxLabel.htmlFor = 'loadAll';
548
- checkboxLabel.textContent = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage("dataUnitDataLoaderHelper.checkbox.loadAll");
549
- checkboxLabel.style.marginLeft = '5px';
550
- return { checkbox, checkboxLabel };
551
- }
552
- function buildActionsContainer() {
553
- const actionsContainer = document.createElement('div');
554
- actionsContainer.style.display = 'flex';
555
- actionsContainer.style.flexDirection = 'row';
556
- actionsContainer.style.justifyContent = 'end';
557
- actionsContainer.style.gap = '5px';
558
- return actionsContainer;
559
- }
560
- function buildContentContainer() {
561
- const contentContainer = document.createElement('div');
562
- contentContainer.style.display = 'flex';
563
- contentContainer.style.flexDirection = 'column';
564
- contentContainer.style.fontFamily = 'var(--font-pattern, Roboto)';
565
- contentContainer.style.fontSize = 'var(--text--medium)';
566
- return contentContainer;
567
- }
568
- function buildMessage(messagesBuilder) {
569
- const message = document.createElement('div');
570
- const line1 = document.createElement('p');
571
- const line2 = document.createElement('p');
572
- const line3 = document.createElement('p');
573
- line3.style.fontWeight = 'var(--text-weight--large, 600)';
574
- line1.textContent = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage("dataUnitDataLoaderHelper.pagination.line1");
575
- line2.textContent = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage("dataUnitDataLoaderHelper.pagination.line2");
576
- line3.textContent = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage("dataUnitDataLoaderHelper.pagination.line3");
577
- message.appendChild(line1);
578
- message.appendChild(line2);
579
- message.appendChild(line3);
580
- return message;
581
- }
582
- function buildCancelPaginationBtn(popup, resolve, messagesBuilder) {
583
- const cancelPaginationBtn = document.createElement('ez-button');
584
- cancelPaginationBtn.label = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage("dataUnitDataLoaderHelper.buttons.cancel");
585
- cancelPaginationBtn.size = 'medium';
586
- cancelPaginationBtn.classList.add('ez-button--primary');
587
- cancelPaginationBtn.onclick = () => {
588
- document.body.removeChild(popup);
589
- resolve(CancelPaginationResponse.CANCEL);
590
- };
591
- return cancelPaginationBtn;
592
- }
593
- function buildContinuePaginationBtn(popup, checkBox, resolve, messagesBuilder) {
594
- const continuePaginationBtn = document.createElement('ez-button');
595
- continuePaginationBtn.label = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage("dataUnitDataLoaderHelper.buttons.continue");
596
- continuePaginationBtn.size = 'medium';
597
- continuePaginationBtn.onclick = () => {
598
- document.body.removeChild(popup);
599
- resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
600
- };
601
- return continuePaginationBtn;
602
- }
603
- function builPopup(resolve, checkBox, messagesBuilder) {
604
- const popup = document.createElement('ez-popup');
605
- popup.opened = true;
606
- popup.size = 'x-small';
607
- popup.ezTitle = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage("dataUnitDataLoaderHelper.pagination.title");
608
- popup.heightMode = "auto";
609
- popup.addEventListener('ezClosePopup', () => {
610
- document.body.removeChild(popup);
611
- resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
612
- }, { once: true });
613
- popup.addEventListener('ezPopupAction', () => {
614
- document.body.removeChild(popup);
615
- resolve(CancelPaginationResponse.CANCEL);
616
- }, { once: true });
617
- return popup;
618
- }
562
+ const ASK_CANCEL_PAGINATION_EVENT = 'ez-grid-pagination:ask-cancel';
619
563
  var CancelPaginationResponse;
620
564
  (function (CancelPaginationResponse) {
621
565
  CancelPaginationResponse["CANCEL"] = "CANCEL";
622
566
  CancelPaginationResponse["CONTINUE"] = "CONTINUE";
623
567
  CancelPaginationResponse["LOAD_ALL"] = "LOAD_ALL";
624
568
  })(CancelPaginationResponse || (CancelPaginationResponse = {}));
569
+ async function showAskCancelPaginationPopup(dataUnit) {
570
+ return new Promise((resolve) => {
571
+ const detail = {
572
+ dataUnitName: dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.name,
573
+ resolve,
574
+ };
575
+ const event = new CustomEvent(ASK_CANCEL_PAGINATION_EVENT, {
576
+ detail,
577
+ bubbles: false,
578
+ composed: false,
579
+ });
580
+ document.dispatchEvent(event);
581
+ });
582
+ }
625
583
 
626
584
  class DataUnitDataLoader {
627
585
  constructor() { }
@@ -686,7 +644,7 @@ class DataUnitDataLoader {
686
644
  let newLoadingInfo = this.buildNewLoadingInfo(responseLoadingInfo);
687
645
  if (this.canProceedPagination(responseLoadingInfo))
688
646
  return this.recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result);
689
- const confirm = await showAskCancelPaginationPopup();
647
+ const confirm = await showAskCancelPaginationPopup(dataUnit);
690
648
  if (confirm === CancelPaginationResponse.CANCEL)
691
649
  return this.handlePaginationCanceled(dataUnit, result);
692
650
  if (confirm === CancelPaginationResponse.LOAD_ALL) {
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, e as createEvent, i as forceUpdate, h, f as Host, g as getElement } from './index-04f73a26.js';
2
2
  import { StringUtils, ObjectUtils } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
4
- import { S as Sortable } from './sortable.esm-842f85a3.js';
4
+ import { S as Sortable } from './sortable.esm-bc277c12.js';
5
5
  import { a as TAB_NAMES, G as GROUP_NAMES } from './constants-7b422de0.js';
6
6
  import { S as SORTABLE_PATH, f as getFieldsStructure, I as ID_AVAILABLE_FIELDS } from './FormConfigHelper-d09669f3.js';
7
7
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, e as createEvent, h, f as Host, g as getElement } from './index-04f73a26.js';
2
- import { S as Sortable } from './sortable.esm-842f85a3.js';
2
+ import { S as Sortable } from './sortable.esm-bc277c12.js';
3
3
  import { I as ID_AVAILABLE_FIELDS } from './FormConfigHelper-d09669f3.js';
4
4
  import { ArrayUtils } from '@sankhyalabs/core';
5
5
  import './constants-7b422de0.js';
@@ -1,3 +1,10 @@
1
+ var ActionDefaultFilter;
2
+ (function (ActionDefaultFilter) {
3
+ ActionDefaultFilter["EDIT"] = "edit";
4
+ ActionDefaultFilter["REMOVE"] = "remove";
5
+ ActionDefaultFilter["CREATE"] = "create";
6
+ })(ActionDefaultFilter || (ActionDefaultFilter = {}));
7
+
1
8
  var FilterType;
2
9
  (function (FilterType) {
3
10
  FilterType["QUICK_FILTER"] = "QUICK_FILTER";
@@ -7,4 +14,4 @@ var FilterType;
7
14
  })(FilterType || (FilterType = {}));
8
15
  const FilterType$1 = FilterType;
9
16
 
10
- export { FilterType$1 as F };
17
+ export { ActionDefaultFilter as A, FilterType$1 as F };
@@ -1,4 +1,4 @@
1
- import { d as dist, D as DataFetcher } from './DataFetcher-1dd7e8c0.js';
1
+ import { d as dist, D as DataFetcher } from './DataFetcher-70de9419.js';
2
2
  import { ObjectUtils } from '@sankhyalabs/core';
3
3
 
4
4
  class ResourceFetcher {
@@ -18,6 +18,9 @@ class ResourceFetcher {
18
18
  resource
19
19
  }
20
20
  }`);
21
+ this.templateByQuery.set("deleteResource", dist.gql `mutation($name: String!) {
22
+ $queryAlias$: deleteResource(name: $name)
23
+ }`);
21
24
  }
22
25
  loadResource(name) {
23
26
  if (ResourceFetcher._loadingResource.has(name)) {
@@ -61,6 +64,21 @@ class ResourceFetcher {
61
64
  });
62
65
  });
63
66
  }
67
+ deleteResource(name) {
68
+ return new Promise((resolve, reject) => {
69
+ DataFetcher.get()
70
+ .callGraphQL({
71
+ values: { name },
72
+ query: this.templateByQuery.get("deleteResource")
73
+ })
74
+ .then(() => {
75
+ resolve();
76
+ })
77
+ .catch((error) => {
78
+ reject(error);
79
+ });
80
+ });
81
+ }
64
82
  }
65
83
  ResourceFetcher._loadingResource = new Map();
66
84
 
@@ -91,6 +109,22 @@ class FormConfigFetcher extends ResourceFetcher {
91
109
  }
92
110
  }`);
93
111
  }
112
+ getDistinctTabs(config) {
113
+ const fieldTabs = config.fields.map((field, index) => ({
114
+ label: field.tab,
115
+ name: field.tab,
116
+ order: index,
117
+ visible: true,
118
+ isDetail: false,
119
+ isCustom: false,
120
+ }));
121
+ return fieldTabs.reduce((total, item) => {
122
+ if (!total.some((tab) => tab.name === item.name)) {
123
+ return [...total, item];
124
+ }
125
+ return total;
126
+ }, []);
127
+ }
94
128
  loadFormConfig(formName, resourceID) {
95
129
  return new Promise((accept, reject) => {
96
130
  Promise.all([
@@ -100,14 +134,16 @@ class FormConfigFetcher extends ResourceFetcher {
100
134
  this.loadResource(this.getPath(resourceID, formName, "defaultValues"))
101
135
  ])
102
136
  .then(([configAsString, formCardState, summary, defaultValues]) => {
137
+ var _a;
103
138
  let config;
104
139
  if (configAsString != undefined) {
105
140
  config = Object.assign(Object.assign({}, JSON.parse(configAsString)), { emptyConfig: false });
106
- const { tabs, fields } = config;
107
- if (tabs) {
108
- const allTabs = new Map(tabs.map(t => [t.label, t]));
109
- fields === null || fields === void 0 ? void 0 : fields.forEach(f => { var _a; return f.tab = ((_a = allTabs.get(this.getTabName(f.tab))) === null || _a === void 0 ? void 0 : _a.label) || allTabs.get(this.getTabName(f.tab)); });
141
+ if (!config.tabs) {
142
+ config.tabs = (_a = this.getDistinctTabs(config)) !== null && _a !== void 0 ? _a : [];
110
143
  }
144
+ const { tabs, fields } = config;
145
+ const allTabs = new Map(tabs.map(t => [t.label, t]));
146
+ fields === null || fields === void 0 ? void 0 : fields.forEach(f => { var _a; return f.tab = ((_a = allTabs.get(this.getTabName(f.tab))) === null || _a === void 0 ? void 0 : _a.label) || allTabs.get(this.getTabName(f.tab)); });
111
147
  config.fields = fields === null || fields === void 0 ? void 0 : fields.map((field) => {
112
148
  if ("readonly" in field) {
113
149
  const readOnly = field['readonly'] === true;
@@ -1,10 +1,10 @@
1
1
  import { r as registerInstance, e as createEvent, h, g as getElement } from './index-04f73a26.js';
2
2
  import { ObjectUtils, ArrayUtils } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
4
- import { S as Sortable } from './sortable.esm-842f85a3.js';
4
+ import { S as Sortable } from './sortable.esm-bc277c12.js';
5
5
  import { a as TAB_NAMES } from './constants-7b422de0.js';
6
6
 
7
- const guidesConfiguratorCss = ".ezSidebarNavigator.sc-guides-configurator{--ez-sidebar-navigator--height:calc(100vh - 118px)}.navigator-container.sc-guides-configurator{height:calc(100vh - 175px);display:flex;flex-direction:column;justify-content:space-between}.collapsible-container.sc-guides-configurator{display:flex;flex-direction:column;gap:12px;flex-grow:1;max-height:calc(100vh - 240px);overflow:auto}.collapsible-item.sc-guides-configurator{padding:6px;border-radius:6px;border:1px solid #dce0e8}.add-button-container.sc-guides-configurator{display:flex;align-items:center;border-top:1px solid #dce0e8;padding-top:22px;gap:6px;cursor:pointer;justify-content:center}.add-button-container.sc-guides-configurator span.sc-guides-configurator{display:block}.guide-list.sc-guides-configurator{display:flex;flex-direction:column;width:100%;min-height:10px}.guide-list.hidden-empty-content.sc-guides-configurator::before{content:var(--no-hidden-guides-message, \"Nenhuma guia oculta\");display:block;font-size:16px;font-weight:400;color:#AFB6C0;margin:auto;padding:8px}.guide-list.visible-empty-content.sc-guides-configurator::before{content:var(--no-visible-guides-message, \"Nenhuma guia visível\");display:block;font-size:16px;font-weight:400;color:#AFB6C0;margin:auto;padding:8px}.item-label.sc-guides-configurator{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1}.guide-item.sc-guides-configurator{margin:0 3px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:5px 10px;border-radius:6px;transition:all 0.2s ease-in-out;height:32px}.guide-item.sc-guides-configurator .actions.sc-guides-configurator{display:flex;gap:8px;transition:opacity 0.2s ease-in-out;display:none;opacity:0}.guide-item.sc-guides-configurator:hover .actions.sc-guides-configurator{display:flex;opacity:1}ez-button.sc-guides-configurator{width:24px;align-items:center;justify-content:center;display:flex}.ghost.sc-guides-configurator{opacity:.5;background:#e2eaf4}.main-guide.sc-guides-configurator{padding:12px;margin:12px 0;border:1px solid #dce0e8;border-radius:6px;transition:all 0.2s ease-in-out}.guide-item.selected.sc-guides-configurator,.main-guide.selected.sc-guides-configurator{background:#E2F4EF}.guide-item.sc-guides-configurator:hover,.main-guide.sc-guides-configurator:hover{background:#f5fcfa}";
7
+ const guidesConfiguratorCss = ".ezSidebarNavigator.sc-guides-configurator{--ez-sidebar-navigator--height:calc(100vh - 118px)}.navigator-container.sc-guides-configurator{height:calc(100vh - 175px);display:flex;flex-direction:column;justify-content:space-between}.collapsible-container.sc-guides-configurator{display:flex;flex-direction:column;gap:12px;flex-grow:1;max-height:calc(100vh - 240px);overflow:auto}.collapsible-item.sc-guides-configurator{padding:6px;border-radius:6px;border:1px solid #dce0e8}.add-button-container.sc-guides-configurator{display:flex;align-items:center;border-top:1px solid #dce0e8;padding-top:22px;gap:6px;cursor:pointer;justify-content:center}.add-button-container.sc-guides-configurator span.sc-guides-configurator{display:block}.guide-list.sc-guides-configurator{display:flex;flex-direction:column;width:100%;min-height:10px}.guide-list.hidden-empty-content.sc-guides-configurator::before{content:var(--no-hidden-guides-message, \"Nenhuma guia oculta\");display:block;font-size:16px;font-weight:400;color:#AFB6C0;margin:auto;padding:8px}.guide-list.visible-empty-content.sc-guides-configurator::before{content:var(--no-visible-guides-message, \"Nenhuma guia visível\");display:block;font-size:16px;font-weight:400;color:#AFB6C0;margin:auto;padding:8px}.item-label.sc-guides-configurator{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1}.guide-item.sc-guides-configurator{margin:0 3px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:5px 10px;border-radius:6px;transition:all 0.2s ease-in-out;height:32px}.guide-item.sc-guides-configurator .actions.sc-guides-configurator{gap:8px;transition:opacity 0.2s ease-in-out;display:none;opacity:0}.guide-item.sc-guides-configurator:hover .actions.sc-guides-configurator{display:flex;opacity:1}ez-button.sc-guides-configurator{width:24px;align-items:center;justify-content:center;display:flex}.ghost.sc-guides-configurator{opacity:.5;background:#e2eaf4}.main-guide.sc-guides-configurator{padding:12px;margin:12px 0;border:1px solid #dce0e8;border-radius:6px;transition:all 0.2s ease-in-out}.guide-item.selected.sc-guides-configurator,.main-guide.selected.sc-guides-configurator{background:#E2F4EF}.guide-item.sc-guides-configurator:hover,.main-guide.sc-guides-configurator:hover{background:#f5fcfa}";
8
8
 
9
9
  const GuidesConfigurator = class {
10
10
  constructor(hostRef) {