@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,16 +1,15 @@
1
1
  'use strict';
2
2
 
3
- const DataFetcher = require('./DataFetcher-3a8ea521.js');
4
- require('./ISave-a66bb65e.js');
3
+ const DataFetcher = require('./DataFetcher-d13b4637.js');
4
+ require('./ISave-55d9dcc3.js');
5
5
  const core = require('@sankhyalabs/core');
6
- const index$1 = require('./index-e3e39724.js');
6
+ const index = require('./index-bc950921.js');
7
7
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
8
8
  const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
9
- const dataunitFetcher = require('./dataunit-fetcher-6febd6c4.js');
9
+ const dataunitFetcher = require('./dataunit-fetcher-fae710c5.js');
10
10
  require('./filter-item-type.enum-a7ffdaa6.js');
11
- require('./form-config-fetcher-72cf0e3d.js');
11
+ require('./form-config-fetcher-bbebdcb8.js');
12
12
  require('./constants-6d82e405.js');
13
- const index = require('./index-1894343a.js');
14
13
  const GetSelectedRecordsIDsInfo = require('./GetSelectedRecordsIDsInfo-bd50caf1.js');
15
14
  const IFetchDataExporterParams = require('./IFetchDataExporterParams-e78ec415.js');
16
15
  const InMemoryFilterColumnDataSource = require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource');
@@ -26,10 +25,13 @@ class CrudUtils {
26
25
  .columns
27
26
  .filter(col => col.ascending != undefined)
28
27
  .sort((colA, colB) => colA.orderIndex - colB.orderIndex)
29
- .map(({ name: field, ascending }) => {
30
- const { dataType } = dataUnit.getField(field);
31
- return { field, dataType, mode: ascending ? core.SortMode.ASC : core.SortMode.DESC };
32
- });
28
+ .reduce((sortings, { name: field, ascending }) => {
29
+ const fieldMD = dataUnit.getField(field);
30
+ if (fieldMD) {
31
+ sortings.push({ field, dataType: fieldMD.dataType, mode: ascending ? core.SortMode.ASC : core.SortMode.DESC });
32
+ }
33
+ return sortings;
34
+ }, []);
33
35
  }
34
36
  }
35
37
  static parseCrudResults(entities, onlyFirst) {
@@ -152,41 +154,6 @@ class RmPrecisionCustomValueFormatter {
152
154
  }
153
155
  }
154
156
 
155
- class ContinuousInsertUtils {
156
- constructor(snkApplication, resourceID, configName) {
157
- this.snkApplication = snkApplication;
158
- this.keyConfigEnableContinuousInsert = `${resourceID}enableContinuousInsert${configName ? configName : ''}`;
159
- }
160
- handleSaveConfig(enableContinuousInsert) {
161
- return this.snkApplication.saveConfig(this.keyConfigEnableContinuousInsert, enableContinuousInsert);
162
- }
163
- getConfig() {
164
- return this.snkApplication.getConfig(this.keyConfigEnableContinuousInsert).then(value => {
165
- if (value) {
166
- return value == "true" ? true : false;
167
- }
168
- return false;
169
- }).catch(() => {
170
- return false;
171
- });
172
- }
173
- getMessage(key, params) {
174
- var _a, _b;
175
- return (_b = (_a = this.snkApplication) === null || _a === void 0 ? void 0 : _a.messagesBuilder) === null || _b === void 0 ? void 0 : _b.getMessage(key, params);
176
- }
177
- actionContinuousInsert(enableContinuousInsert, handleEnableContinuousInsert) {
178
- return {
179
- value: core.StringUtils.generateUUID(),
180
- label: enableContinuousInsert ? this.getMessage('continuousInsertUtils.actions.disable') : this.getMessage('continuousInsertUtils.actions.enable'),
181
- enabled: true,
182
- itemBuilder: () => {
183
- return (index.h("div", { class: "ez-dropdown__item-wrapper", onClick: handleEnableContinuousInsert },
184
- index.h("span", { class: "ez-dropdown__item-label" }, enableContinuousInsert ? this.getMessage('continuousInsertUtils.actions.disable') : this.getMessage('continuousInsertUtils.actions.enable'))));
185
- },
186
- };
187
- }
188
- }
189
-
190
157
  class CommonsExporter {
191
158
  constructor(dataUnit, grid) {
192
159
  this.MAX_WIDTH_COD = 60;
@@ -204,44 +171,46 @@ class CommonsExporter {
204
171
  return this.columnsState;
205
172
  }
206
173
  async buildColumnsMetadata(gridColumns) {
207
- var _a, _b, _c;
174
+ var _a;
208
175
  const columnsMetadata = [];
176
+ const searchPlusDescriptionIds = this.collectSearchPlusDescriptionIds(gridColumns);
177
+ const gridColumnsByName = new Map(gridColumns.map(column => [column.name, column]));
209
178
  for (const column of gridColumns) {
179
+ if (this.isHiddenColumn(column)) {
180
+ continue;
181
+ }
210
182
  /**
211
- * TODO: Analisar e criar uma melhor forma de tratar essa validação do "RECDESP".
183
+ * A grid adiciona uma coluna auxiliar para a descrição de campos SEARCHPLUS
184
+ * (ex.: "ENTITYNAME.DESCRIPTIONFIELD"). A descrição já é emitida ao processar
185
+ * o próprio SEARCHPLUS, então pulamos a auxiliar para evitar duplicar a coluna.
212
186
  */
213
- if (column.hidden && column.name !== "RECDESP") {
187
+ if (searchPlusDescriptionIds.has(column.name)) {
214
188
  continue;
215
189
  }
216
190
  const fieldData = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(column.name);
217
191
  const customFormatter = await this.grid.getCustomValueFormatter(column.name);
218
- const isUserInterfaceSEARCH = (fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface) === UnitMetadata.UserInterface.SEARCH;
219
- const widthColumnDefault = 60;
220
- const labelColumn = isUserInterfaceSEARCH ? "Cód. " : column.label;
221
- let descriptionColumn = undefined;
192
+ const isSearchField = this.isSearchUserInterface(fieldData);
193
+ const labelColumn = isSearchField ? "Cód. " : column.label;
222
194
  let columnData = {
223
195
  id: column.name,
224
196
  label: labelColumn,
225
- width: isUserInterfaceSEARCH ? (labelColumn.length * this.DEFAULT_FONT_SIZE) : column.width,
197
+ width: isSearchField ? (labelColumn.length * this.DEFAULT_FONT_SIZE) : column.width,
226
198
  type: fieldData === null || fieldData === void 0 ? void 0 : fieldData.dataType,
227
199
  userInterface: fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface,
228
200
  customFormatter
229
201
  };
230
- if (isUserInterfaceSEARCH && ((_b = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties) === null || _b === void 0 ? void 0 : _b.DESCRIPTIONFIELD) != undefined) {
231
- const labelDescription = (_c = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties) === null || _c === void 0 ? void 0 : _c.DESCRIPTIONENTITY;
232
- const mergedFrom = fieldData.properties.mergedFrom;
233
- const descriptionField = `${fieldData.properties.ENTITYNAME}.${fieldData.properties.DESCRIPTIONFIELD}`;
234
- descriptionColumn = {
235
- id: `${mergedFrom ? (mergedFrom + ".") : ""}${descriptionField}`,
236
- label: labelDescription,
237
- width: isUserInterfaceSEARCH && labelDescription ? (labelDescription.length * this.DEFAULT_FONT_SIZE - widthColumnDefault) : column.width,
238
- type: core.DataType.TEXT,
239
- userInterface: UnitMetadata.UserInterface.LONGTEXT,
240
- descriptionFrom: fieldData.name
241
- };
242
- 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);
243
- columnData = Object.assign(Object.assign({}, columnData), { width: newWidth === null || newWidth === void 0 ? void 0 : newWidth.codWidth });
244
- 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) });
202
+ let descriptionColumn = isSearchField ? this.buildDescriptionColumn(fieldData, column) : undefined;
203
+ if (descriptionColumn) {
204
+ const realDescriptionColumn = gridColumnsByName.get(descriptionColumn.id);
205
+ if (realDescriptionColumn === null || realDescriptionColumn === void 0 ? void 0 : realDescriptionColumn.width) {
206
+ columnData = Object.assign(Object.assign({}, columnData), { width: Math.min(columnData.width, this.MAX_WIDTH_COD) });
207
+ 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) });
208
+ }
209
+ else {
210
+ 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);
211
+ columnData = Object.assign(Object.assign({}, columnData), { width: newWidth === null || newWidth === void 0 ? void 0 : newWidth.codWidth });
212
+ 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) });
213
+ }
245
214
  }
246
215
  columnsMetadata.push(columnData);
247
216
  if (descriptionColumn)
@@ -249,6 +218,59 @@ class CommonsExporter {
249
218
  }
250
219
  return columnsMetadata || [];
251
220
  }
221
+ collectSearchPlusDescriptionIds(gridColumns) {
222
+ var _a;
223
+ const descriptionIds = new Set();
224
+ for (const column of gridColumns) {
225
+ if (this.isHiddenColumn(column)) {
226
+ continue;
227
+ }
228
+ const fieldData = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(column.name);
229
+ if (!this.isSearchUserInterface(fieldData)) {
230
+ continue;
231
+ }
232
+ const descriptionId = this.buildDescriptionColumnId(fieldData);
233
+ if (descriptionId) {
234
+ descriptionIds.add(descriptionId);
235
+ }
236
+ }
237
+ return descriptionIds;
238
+ }
239
+ /**
240
+ * TODO: Analisar e criar uma melhor forma de tratar essa validação do "RECDESP".
241
+ */
242
+ isHiddenColumn(column) {
243
+ return column.hidden && column.name !== "RECDESP";
244
+ }
245
+ isSearchUserInterface(fieldData) {
246
+ return (fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface) === UnitMetadata.UserInterface.SEARCH
247
+ || (fieldData === null || fieldData === void 0 ? void 0 : fieldData.userInterface) === UnitMetadata.UserInterface.SEARCHPLUS;
248
+ }
249
+ buildDescriptionColumnId(fieldData) {
250
+ const properties = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties;
251
+ if ((properties === null || properties === void 0 ? void 0 : properties.DESCRIPTIONFIELD) == undefined) {
252
+ return undefined;
253
+ }
254
+ const descriptionField = `${properties.ENTITYNAME}.${properties.DESCRIPTIONFIELD}`;
255
+ return properties.mergedFrom ? `${properties.mergedFrom}.${descriptionField}` : descriptionField;
256
+ }
257
+ buildDescriptionColumn(fieldData, column) {
258
+ var _a;
259
+ const id = this.buildDescriptionColumnId(fieldData);
260
+ if (!id) {
261
+ return undefined;
262
+ }
263
+ const labelDescription = (_a = fieldData === null || fieldData === void 0 ? void 0 : fieldData.properties) === null || _a === void 0 ? void 0 : _a.DESCRIPTIONENTITY;
264
+ const widthColumnDefault = 60;
265
+ return {
266
+ id,
267
+ label: labelDescription,
268
+ width: labelDescription ? (labelDescription.length * this.DEFAULT_FONT_SIZE - widthColumnDefault) : column.width,
269
+ type: core.DataType.TEXT,
270
+ userInterface: UnitMetadata.UserInterface.LONGTEXT,
271
+ descriptionFrom: fieldData.name
272
+ };
273
+ }
252
274
  getWidthByMetaData(maxWidth, widthCod, widthDescription) {
253
275
  const totalCurrentWidth = widthCod + widthDescription;
254
276
  const codPercentage = widthCod / totalCurrentWidth;
@@ -310,11 +332,11 @@ class ClientSideExporterProvider extends CommonsExporter {
310
332
  }
311
333
  getHiddenOptions() {
312
334
  return [
313
- index$1.DataExporterOption.EXPORT_BY_EMAIL,
314
- index$1.DataExporterOption.EXPORT_PDF_TO_EMAIL,
315
- index$1.DataExporterOption.EXPORT_XLS_TO_EMAIL,
316
- index$1.DataExporterOption.EXPORT_PAGE_TO_PDF,
317
- index$1.DataExporterOption.EXPORT_PAGE_TO_XLS
335
+ index.DataExporterOption.EXPORT_BY_EMAIL,
336
+ index.DataExporterOption.EXPORT_PDF_TO_EMAIL,
337
+ index.DataExporterOption.EXPORT_XLS_TO_EMAIL,
338
+ index.DataExporterOption.EXPORT_PAGE_TO_PDF,
339
+ index.DataExporterOption.EXPORT_PAGE_TO_XLS
318
340
  ];
319
341
  }
320
342
  formatValue(record, column) {
@@ -339,6 +361,56 @@ class ClientSideExporterProvider extends CommonsExporter {
339
361
  }
340
362
  }
341
363
 
364
+ class TaskbarProcessor {
365
+ constructor(defaultButtons) {
366
+ this._defaultButtons = defaultButtons;
367
+ }
368
+ process(taskbarId, taskbarManager, dataState, disabledButtons = [], invisibleButtons = []) {
369
+ var _a;
370
+ this.customButtons = new Map();
371
+ this.buttons = "";
372
+ this.disabledButtons = [].concat(disabledButtons);
373
+ (_a = this.getButtonsArray(taskbarId, taskbarManager, dataState)) === null || _a === void 0 ? void 0 : _a.forEach(btnDef => {
374
+ let buttonName;
375
+ if (typeof btnDef === "string") {
376
+ buttonName = btnDef;
377
+ }
378
+ else {
379
+ const customBtn = btnDef;
380
+ this.customButtons.set(customBtn.name, customBtn);
381
+ buttonName = customBtn.name;
382
+ }
383
+ if (!invisibleButtons.includes(buttonName)) {
384
+ if (!this.isEnabled(taskbarId, taskbarManager, buttonName, dataState, disabledButtons)) {
385
+ this.disabledButtons.push(buttonName);
386
+ }
387
+ if (this.buttons.length > 0) {
388
+ this.buttons += ",";
389
+ }
390
+ this.buttons += buttonName;
391
+ }
392
+ });
393
+ }
394
+ getButtonsArray(taskbarId, taskbarManager, dataState) {
395
+ const defaults = this.getButtonsFromKey(taskbarId);
396
+ if (taskbarManager) {
397
+ return taskbarManager.getButtons(taskbarId, dataState, [...defaults]);
398
+ }
399
+ return defaults;
400
+ }
401
+ getButtonsFromKey(taskbarId) {
402
+ const btnsValue = this._defaultButtons[taskbarId];
403
+ return typeof btnsValue === 'function' ? btnsValue() : btnsValue;
404
+ }
405
+ isEnabled(taskbarId, taskbarManager, buttonName, dataState, disabled) {
406
+ const originalValue = disabled.includes(buttonName) ? false : true;
407
+ if (taskbarManager && taskbarManager.isEnabled) {
408
+ return taskbarManager.isEnabled(taskbarId, dataState, buttonName, originalValue);
409
+ }
410
+ return originalValue;
411
+ }
412
+ }
413
+
342
414
  class SnkMultiSelectionListDataSource {
343
415
  setDataUnit(dataUnit) {
344
416
  this._dataUnit = dataUnit;
@@ -379,7 +451,7 @@ class SnkMultiSelectionListDataSource {
379
451
 
380
452
  exports.ClientSideExporterProvider = ClientSideExporterProvider;
381
453
  exports.CommonsExporter = CommonsExporter;
382
- exports.ContinuousInsertUtils = ContinuousInsertUtils;
383
454
  exports.CrudUtils = CrudUtils;
384
455
  exports.RmPrecisionCustomValueFormatter = RmPrecisionCustomValueFormatter;
385
456
  exports.SnkMultiSelectionListDataSource = SnkMultiSelectionListDataSource;
457
+ exports.TaskbarProcessor = TaskbarProcessor;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const core = require('@sankhyalabs/core');
4
- const formConfigFetcher = require('./form-config-fetcher-72cf0e3d.js');
4
+ const formConfigFetcher = require('./form-config-fetcher-bbebdcb8.js');
5
5
 
6
6
  class AuthFetcher extends formConfigFetcher.ResourceFetcher {
7
7
  getData(resourceID) {
@@ -1,13 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  const core = require('@sankhyalabs/core');
4
- const DataFetcher = require('./DataFetcher-3a8ea521.js');
4
+ const DataFetcher = require('./DataFetcher-d13b4637.js');
5
5
  const constants = require('@sankhyalabs/ezui/dist/collection/utils/constants');
6
6
  const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
7
7
  const utils = require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
8
8
  const SortingUtils = require('@sankhyalabs/core/dist/utils/SortingUtils');
9
9
  const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
10
- const SnkMessageBuilder = require('./SnkMessageBuilder-d9558dba.js');
11
10
 
12
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
12
 
@@ -142,6 +141,9 @@ class PreloadManager {
142
141
  const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters, fieldName);
143
142
  filterFunction = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
144
143
  }
144
+ if (onlyLabel) {
145
+ return Promise.resolve(this.compileDistinctByLabel(dataUnit, fieldName, filterFunction));
146
+ }
145
147
  return new Promise((accept, reject) => {
146
148
  PreloadManager.getRepository(dataUnit).distict(record => {
147
149
  if (filterFunction != undefined && !filterFunction(record)) {
@@ -152,9 +154,6 @@ class PreloadManager {
152
154
  return { key: null, value: null };
153
155
  }
154
156
  let value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
155
- if ((fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label) && onlyLabel) {
156
- return { key: fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label, value: dataUnit.getFormattedValue(fieldName, value) };
157
- }
158
157
  return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
159
158
  })
160
159
  .then(result => {
@@ -167,6 +166,43 @@ class PreloadManager {
167
166
  .catch(reason => reject(reason));
168
167
  });
169
168
  }
169
+ static compileDistinctByLabel(dataUnit, fieldName, filterFunction) {
170
+ const groupedOptions = new Map();
171
+ const cachedRecords = PreloadManager.getRepository(dataUnit).getFromCache();
172
+ cachedRecords.forEach(record => {
173
+ if (filterFunction != undefined && !filterFunction(record)) {
174
+ return;
175
+ }
176
+ const fieldValue = record[fieldName];
177
+ if (fieldValue == undefined) {
178
+ const nullKey = '';
179
+ if (!groupedOptions.has(nullKey)) {
180
+ groupedOptions.set(nullKey, {
181
+ values: new Set([null]),
182
+ option: { label: null, value: null, check: true },
183
+ });
184
+ }
185
+ return;
186
+ }
187
+ const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
188
+ const label = (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label) ? fieldValue.label : dataUnit.getFormattedValue(fieldName, fieldValue);
189
+ const key = String(label !== null && label !== void 0 ? label : '');
190
+ let grouped = groupedOptions.get(key);
191
+ if (!grouped) {
192
+ grouped = {
193
+ values: new Set(),
194
+ option: { label, value, check: true },
195
+ };
196
+ groupedOptions.set(key, grouped);
197
+ }
198
+ grouped.values.add(value);
199
+ });
200
+ return Array.from(groupedOptions.values()).map(grouped => {
201
+ const option = grouped.option;
202
+ option.__multiValues = Array.from(grouped.values.values());
203
+ return grouped.option;
204
+ });
205
+ }
170
206
  static async loadData(dataUnit, request, loadFromServer) {
171
207
  try {
172
208
  if (PreloadManager.isCacheEnabled(dataUnit)) {
@@ -242,7 +278,17 @@ class PreloadManager {
242
278
  });
243
279
  }
244
280
  static getCachedRecords(dataUnit) {
245
- return PreloadManager.getRepository(dataUnit).getFromCache();
281
+ const records = PreloadManager.getRepository(dataUnit).getFromCache();
282
+ const request = dataUnit.getLastLoadRequest();
283
+ if (request == undefined) {
284
+ return records;
285
+ }
286
+ const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters, "");
287
+ const filterFunction = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
288
+ if (filterFunction == undefined) {
289
+ return records;
290
+ }
291
+ return records.filter(filterFunction);
246
292
  }
247
293
  }
248
294
  PreloadManager._repositories = new Map();
@@ -519,115 +565,27 @@ class DatasetStrategy {
519
565
  }
520
566
  }
521
567
 
522
- async function showAskCancelPaginationPopup() {
523
- return new Promise((resolve) => {
524
- const messagesBuilder = new SnkMessageBuilder.SnkMessageBuilder();
525
- const { checkboxContainer, checkbox } = buildCheckboxContainer(messagesBuilder);
526
- const popup = builPopup(resolve, checkbox, messagesBuilder);
527
- const contentContainer = buildContentContainer();
528
- const actionsContainer = buildActionsContainer();
529
- contentContainer.appendChild(checkboxContainer);
530
- contentContainer.appendChild(buildMessage(messagesBuilder));
531
- actionsContainer.appendChild(buildContinuePaginationBtn(popup, checkbox, resolve, messagesBuilder));
532
- actionsContainer.appendChild(buildCancelPaginationBtn(popup, resolve, messagesBuilder));
533
- contentContainer.appendChild(actionsContainer);
534
- popup.appendChild(contentContainer);
535
- document.body.appendChild(popup);
536
- });
537
- }
538
- function buildCheckboxContainer(messagesBuilder) {
539
- const checkboxContainer = document.createElement('div');
540
- checkboxContainer.style.marginBottom = '14px';
541
- checkboxContainer.style.display = 'flex';
542
- checkboxContainer.style.alignItems = 'center';
543
- const { checkbox, checkboxLabel } = buildCheckbox(messagesBuilder);
544
- checkboxContainer.appendChild(checkbox);
545
- checkboxContainer.appendChild(checkboxLabel);
546
- return { checkboxContainer, checkbox };
547
- }
548
- function buildCheckbox(messagesBuilder) {
549
- const checkbox = document.createElement('input');
550
- checkbox.type = 'checkbox';
551
- checkbox.id = 'loadAll';
552
- const checkboxLabel = document.createElement('label');
553
- checkboxLabel.htmlFor = 'loadAll';
554
- checkboxLabel.textContent = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage("dataUnitDataLoaderHelper.checkbox.loadAll");
555
- checkboxLabel.style.marginLeft = '5px';
556
- return { checkbox, checkboxLabel };
557
- }
558
- function buildActionsContainer() {
559
- const actionsContainer = document.createElement('div');
560
- actionsContainer.style.display = 'flex';
561
- actionsContainer.style.flexDirection = 'row';
562
- actionsContainer.style.justifyContent = 'end';
563
- actionsContainer.style.gap = '5px';
564
- return actionsContainer;
565
- }
566
- function buildContentContainer() {
567
- const contentContainer = document.createElement('div');
568
- contentContainer.style.display = 'flex';
569
- contentContainer.style.flexDirection = 'column';
570
- contentContainer.style.fontFamily = 'var(--font-pattern, Roboto)';
571
- contentContainer.style.fontSize = 'var(--text--medium)';
572
- return contentContainer;
573
- }
574
- function buildMessage(messagesBuilder) {
575
- const message = document.createElement('div');
576
- const line1 = document.createElement('p');
577
- const line2 = document.createElement('p');
578
- const line3 = document.createElement('p');
579
- line3.style.fontWeight = 'var(--text-weight--large, 600)';
580
- line1.textContent = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage("dataUnitDataLoaderHelper.pagination.line1");
581
- line2.textContent = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage("dataUnitDataLoaderHelper.pagination.line2");
582
- line3.textContent = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage("dataUnitDataLoaderHelper.pagination.line3");
583
- message.appendChild(line1);
584
- message.appendChild(line2);
585
- message.appendChild(line3);
586
- return message;
587
- }
588
- function buildCancelPaginationBtn(popup, resolve, messagesBuilder) {
589
- const cancelPaginationBtn = document.createElement('ez-button');
590
- cancelPaginationBtn.label = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage("dataUnitDataLoaderHelper.buttons.cancel");
591
- cancelPaginationBtn.size = 'medium';
592
- cancelPaginationBtn.classList.add('ez-button--primary');
593
- cancelPaginationBtn.onclick = () => {
594
- document.body.removeChild(popup);
595
- resolve(CancelPaginationResponse.CANCEL);
596
- };
597
- return cancelPaginationBtn;
598
- }
599
- function buildContinuePaginationBtn(popup, checkBox, resolve, messagesBuilder) {
600
- const continuePaginationBtn = document.createElement('ez-button');
601
- continuePaginationBtn.label = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage("dataUnitDataLoaderHelper.buttons.continue");
602
- continuePaginationBtn.size = 'medium';
603
- continuePaginationBtn.onclick = () => {
604
- document.body.removeChild(popup);
605
- resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
606
- };
607
- return continuePaginationBtn;
608
- }
609
- function builPopup(resolve, checkBox, messagesBuilder) {
610
- const popup = document.createElement('ez-popup');
611
- popup.opened = true;
612
- popup.size = 'x-small';
613
- popup.ezTitle = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage("dataUnitDataLoaderHelper.pagination.title");
614
- popup.heightMode = "auto";
615
- popup.addEventListener('ezClosePopup', () => {
616
- document.body.removeChild(popup);
617
- resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
618
- }, { once: true });
619
- popup.addEventListener('ezPopupAction', () => {
620
- document.body.removeChild(popup);
621
- resolve(CancelPaginationResponse.CANCEL);
622
- }, { once: true });
623
- return popup;
624
- }
568
+ const ASK_CANCEL_PAGINATION_EVENT = 'ez-grid-pagination:ask-cancel';
625
569
  var CancelPaginationResponse;
626
570
  (function (CancelPaginationResponse) {
627
571
  CancelPaginationResponse["CANCEL"] = "CANCEL";
628
572
  CancelPaginationResponse["CONTINUE"] = "CONTINUE";
629
573
  CancelPaginationResponse["LOAD_ALL"] = "LOAD_ALL";
630
574
  })(CancelPaginationResponse || (CancelPaginationResponse = {}));
575
+ async function showAskCancelPaginationPopup(dataUnit) {
576
+ return new Promise((resolve) => {
577
+ const detail = {
578
+ dataUnitName: dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.name,
579
+ resolve,
580
+ };
581
+ const event = new CustomEvent(ASK_CANCEL_PAGINATION_EVENT, {
582
+ detail,
583
+ bubbles: false,
584
+ composed: false,
585
+ });
586
+ document.dispatchEvent(event);
587
+ });
588
+ }
631
589
 
632
590
  class DataUnitDataLoader {
633
591
  constructor() { }
@@ -692,7 +650,7 @@ class DataUnitDataLoader {
692
650
  let newLoadingInfo = this.buildNewLoadingInfo(responseLoadingInfo);
693
651
  if (this.canProceedPagination(responseLoadingInfo))
694
652
  return this.recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result);
695
- const confirm = await showAskCancelPaginationPopup();
653
+ const confirm = await showAskCancelPaginationPopup(dataUnit);
696
654
  if (confirm === CancelPaginationResponse.CANCEL)
697
655
  return this.handlePaginationCanceled(dataUnit, result);
698
656
  if (confirm === CancelPaginationResponse.LOAD_ALL) {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-1894343a.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
- const sortable_esm = require('./sortable.esm-9a110bb7.js');
8
+ const sortable_esm = require('./sortable.esm-b87669ab.js');
9
9
  const constants = require('./constants-6d82e405.js');
10
10
  const FormConfigHelper = require('./FormConfigHelper-28fe4668.js');
11
11
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-1894343a.js');
6
- const sortable_esm = require('./sortable.esm-9a110bb7.js');
6
+ const sortable_esm = require('./sortable.esm-b87669ab.js');
7
7
  const FormConfigHelper = require('./FormConfigHelper-28fe4668.js');
8
8
  const core = require('@sankhyalabs/core');
9
9
  require('./constants-6d82e405.js');
@@ -1,5 +1,12 @@
1
1
  'use strict';
2
2
 
3
+ exports.ActionDefaultFilter = void 0;
4
+ (function (ActionDefaultFilter) {
5
+ ActionDefaultFilter["EDIT"] = "edit";
6
+ ActionDefaultFilter["REMOVE"] = "remove";
7
+ ActionDefaultFilter["CREATE"] = "create";
8
+ })(exports.ActionDefaultFilter || (exports.ActionDefaultFilter = {}));
9
+
3
10
  var FilterType;
4
11
  (function (FilterType) {
5
12
  FilterType["QUICK_FILTER"] = "QUICK_FILTER";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const DataFetcher = require('./DataFetcher-3a8ea521.js');
3
+ const DataFetcher = require('./DataFetcher-d13b4637.js');
4
4
  const core = require('@sankhyalabs/core');
5
5
 
6
6
  class ResourceFetcher {
@@ -20,6 +20,9 @@ class ResourceFetcher {
20
20
  resource
21
21
  }
22
22
  }`);
23
+ this.templateByQuery.set("deleteResource", DataFetcher.dist.gql `mutation($name: String!) {
24
+ $queryAlias$: deleteResource(name: $name)
25
+ }`);
23
26
  }
24
27
  loadResource(name) {
25
28
  if (ResourceFetcher._loadingResource.has(name)) {
@@ -63,6 +66,21 @@ class ResourceFetcher {
63
66
  });
64
67
  });
65
68
  }
69
+ deleteResource(name) {
70
+ return new Promise((resolve, reject) => {
71
+ DataFetcher.DataFetcher.get()
72
+ .callGraphQL({
73
+ values: { name },
74
+ query: this.templateByQuery.get("deleteResource")
75
+ })
76
+ .then(() => {
77
+ resolve();
78
+ })
79
+ .catch((error) => {
80
+ reject(error);
81
+ });
82
+ });
83
+ }
66
84
  }
67
85
  ResourceFetcher._loadingResource = new Map();
68
86
 
@@ -93,6 +111,22 @@ class FormConfigFetcher extends ResourceFetcher {
93
111
  }
94
112
  }`);
95
113
  }
114
+ getDistinctTabs(config) {
115
+ const fieldTabs = config.fields.map((field, index) => ({
116
+ label: field.tab,
117
+ name: field.tab,
118
+ order: index,
119
+ visible: true,
120
+ isDetail: false,
121
+ isCustom: false,
122
+ }));
123
+ return fieldTabs.reduce((total, item) => {
124
+ if (!total.some((tab) => tab.name === item.name)) {
125
+ return [...total, item];
126
+ }
127
+ return total;
128
+ }, []);
129
+ }
96
130
  loadFormConfig(formName, resourceID) {
97
131
  return new Promise((accept, reject) => {
98
132
  Promise.all([
@@ -102,14 +136,16 @@ class FormConfigFetcher extends ResourceFetcher {
102
136
  this.loadResource(this.getPath(resourceID, formName, "defaultValues"))
103
137
  ])
104
138
  .then(([configAsString, formCardState, summary, defaultValues]) => {
139
+ var _a;
105
140
  let config;
106
141
  if (configAsString != undefined) {
107
142
  config = Object.assign(Object.assign({}, JSON.parse(configAsString)), { emptyConfig: false });
108
- const { tabs, fields } = config;
109
- if (tabs) {
110
- const allTabs = new Map(tabs.map(t => [t.label, t]));
111
- 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)); });
143
+ if (!config.tabs) {
144
+ config.tabs = (_a = this.getDistinctTabs(config)) !== null && _a !== void 0 ? _a : [];
112
145
  }
146
+ const { tabs, fields } = config;
147
+ const allTabs = new Map(tabs.map(t => [t.label, t]));
148
+ 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)); });
113
149
  config.fields = fields === null || fields === void 0 ? void 0 : fields.map((field) => {
114
150
  if ("readonly" in field) {
115
151
  const readOnly = field['readonly'] === true;