@sankhyalabs/sankhyablocks 8.15.0-rc.2 → 8.15.0-rc.21

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 (243) hide show
  1. package/dist/cjs/{ConfigStorage-302bbbd4.js → ConfigStorage-8d4e9d53.js} +70 -7
  2. package/dist/cjs/{DataFetcher-ba94ed5b.js → DataFetcher-99f0f6ed.js} +5 -3
  3. package/dist/cjs/{SnkFormConfigManager-71c4768e.js → SnkFormConfigManager-33995e92.js} +21 -13
  4. package/dist/cjs/{SnkMessageBuilder-e7dcf408.js → SnkMessageBuilder-66aa2557.js} +6 -1
  5. package/dist/cjs/SnkMultiSelectionListDataSource-d15f7aac.js +140 -0
  6. package/dist/cjs/{auth-fetcher-c8467c07.js → auth-fetcher-bb8e9ae4.js} +1 -1
  7. package/dist/cjs/{form-config-fetcher-df043d3d.js → form-config-fetcher-d73f4449.js} +13 -1
  8. package/dist/cjs/index-f9e81701.js +2 -10
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/{pesquisa-fetcher-e4a7c4c3.js → pesquisa-fetcher-bdbbe9ac.js} +277 -61
  11. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  12. package/dist/cjs/{snk-actions-button_2.cjs.entry.js → snk-actions-button_4.cjs.entry.js} +520 -5
  13. package/dist/cjs/snk-application.cjs.entry.js +13 -8
  14. package/dist/cjs/snk-attach.cjs.entry.js +67 -47
  15. package/dist/cjs/snk-crud.cjs.entry.js +16 -10
  16. package/dist/cjs/snk-data-exporter.cjs.entry.js +10 -6
  17. package/dist/cjs/{snk-data-unit-82c08a8c.js → snk-data-unit-41c29713.js} +1 -1
  18. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  19. package/dist/cjs/snk-detail-view.cjs.entry.js +9 -10
  20. package/dist/cjs/snk-entity-list.cjs.entry.js +5 -3
  21. package/dist/cjs/snk-filter-bar.cjs.entry.js +36 -5
  22. package/dist/cjs/snk-filter-detail.cjs.entry.js +4 -1
  23. package/dist/cjs/snk-filter-item.cjs.entry.js +10 -6
  24. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  25. package/dist/cjs/snk-form-config.cjs.entry.js +47 -27
  26. package/dist/cjs/snk-form.cjs.entry.js +11 -4
  27. package/dist/cjs/snk-grid.cjs.entry.js +37 -22
  28. package/dist/cjs/{snk-guides-viewer-d32c096f.js → snk-guides-viewer-a8dd24a3.js} +15 -9
  29. package/dist/cjs/snk-guides-viewer.cjs.entry.js +7 -8
  30. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +3 -1
  31. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  32. package/dist/cjs/snk-simple-crud.cjs.entry.js +256 -22
  33. package/dist/cjs/snk-taskbar.cjs.entry.js +123 -15
  34. package/dist/cjs/{taskbar-elements-01b85b99.js → taskbar-elements-3ecd1278.js} +9 -9
  35. package/dist/collection/collection-manifest.json +6 -6
  36. package/dist/collection/components/snk-application/__mocks__/snk-application.js +7 -0
  37. package/dist/collection/components/snk-application/snk-application.js +51 -11
  38. package/dist/collection/components/snk-attach/snk-attach.js +39 -24
  39. package/dist/collection/components/snk-attach/structure/builder/attach-crud-config.builder.js +1 -1
  40. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +29 -22
  41. package/dist/collection/components/snk-crud/snk-crud.js +95 -3
  42. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +2 -2
  43. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +11 -2
  44. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +27 -3
  45. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +7 -3
  46. package/dist/collection/components/snk-entity-list/snk-entity-list.js +5 -3
  47. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -1
  48. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +22 -1
  49. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +28 -6
  50. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +24 -1
  51. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +116 -2
  52. package/dist/collection/components/snk-form/snk-form.js +25 -1
  53. package/dist/collection/components/{snk-form → snk-form-config}/SnkFormConfigManager.js +20 -12
  54. package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.js +50 -30
  55. package/dist/collection/components/snk-grid/snk-grid.js +100 -16
  56. package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.js +130 -123
  57. package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.js +1 -1
  58. package/dist/collection/components/snk-simple-crud/regular-buttons.js +3 -0
  59. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +10 -2
  60. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +421 -17
  61. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +1 -1
  62. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +9 -9
  63. package/dist/collection/components/snk-taskbar/snk-taskbar.css +17 -0
  64. package/dist/collection/components/snk-taskbar/snk-taskbar.js +166 -14
  65. package/dist/collection/lib/configs/ConfigStorage.js +63 -3
  66. package/dist/collection/lib/dataUnit/InMemoryLoader.js +9 -40
  67. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +33 -0
  68. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +5 -3
  69. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +12 -0
  70. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +6 -3
  71. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +4 -11
  72. package/dist/collection/lib/message/resources/snk-data-exporter.msg.js +2 -1
  73. package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +4 -0
  74. package/dist/collection/lib/utils/CrudUtils.js +13 -1
  75. package/dist/components/ConfigStorage.js +68 -5
  76. package/dist/components/DataFetcher.js +5 -3
  77. package/dist/components/SnkFormConfigManager.js +19 -11
  78. package/dist/components/SnkMessageBuilder.js +6 -1
  79. package/dist/components/dataunit-fetcher.js +45 -50
  80. package/dist/components/field-search.js +93 -3
  81. package/dist/components/form-config-fetcher.js +12 -0
  82. package/dist/components/index.d.ts +6 -6
  83. package/dist/components/snk-application2.js +9 -1
  84. package/dist/components/snk-attach2.js +115 -52
  85. package/dist/components/snk-crud.js +15 -3
  86. package/dist/components/snk-data-exporter2.js +7 -3
  87. package/dist/components/snk-detail-view2.js +40 -7
  88. package/dist/components/snk-entity-list.js +5 -3
  89. package/dist/components/snk-filter-bar2.js +38 -3
  90. package/dist/components/snk-filter-detail2.js +5 -1
  91. package/dist/components/snk-filter-item2.js +11 -6
  92. package/dist/components/snk-form-config2.js +46 -26
  93. package/dist/components/snk-form.js +8 -0
  94. package/dist/components/snk-grid-config2.js +128 -102
  95. package/dist/components/snk-grid2.js +38 -17
  96. package/dist/components/snk-personalized-filter-editor.js +3 -1
  97. package/dist/components/snk-simple-crud2.js +317 -29
  98. package/dist/components/snk-taskbar2.js +139 -25
  99. package/dist/components/taskbar-actions-button2.js +1 -1
  100. package/dist/esm/{ConfigStorage-4151acc8.js → ConfigStorage-6e241cd7.js} +70 -7
  101. package/dist/esm/{DataFetcher-aa159c5a.js → DataFetcher-a650ae58.js} +5 -3
  102. package/dist/esm/{SnkFormConfigManager-5c7d3771.js → SnkFormConfigManager-7a4e678f.js} +21 -13
  103. package/dist/esm/{SnkMessageBuilder-0fb796b9.js → SnkMessageBuilder-0a4becdd.js} +6 -1
  104. package/dist/esm/SnkMultiSelectionListDataSource-7084f3b3.js +133 -0
  105. package/dist/esm/{auth-fetcher-c05dc474.js → auth-fetcher-8ec448b0.js} +1 -1
  106. package/dist/esm/{form-config-fetcher-36219cd3.js → form-config-fetcher-765b8498.js} +13 -1
  107. package/dist/esm/index-a7d3d3f1.js +2 -10
  108. package/dist/esm/loader.js +1 -1
  109. package/dist/esm/{pesquisa-fetcher-fa0c2540.js → pesquisa-fetcher-96d2f351.js} +266 -54
  110. package/dist/esm/sankhyablocks.js +1 -1
  111. package/dist/esm/{snk-actions-button_2.entry.js → snk-actions-button_4.entry.js} +519 -6
  112. package/dist/esm/snk-application.entry.js +13 -8
  113. package/dist/esm/snk-attach.entry.js +66 -46
  114. package/dist/esm/snk-crud.entry.js +16 -10
  115. package/dist/esm/snk-data-exporter.entry.js +10 -6
  116. package/dist/esm/{snk-data-unit-5d201fb3.js → snk-data-unit-de1d140d.js} +1 -1
  117. package/dist/esm/snk-data-unit.entry.js +2 -2
  118. package/dist/esm/snk-detail-view.entry.js +9 -10
  119. package/dist/esm/snk-entity-list.entry.js +5 -3
  120. package/dist/esm/snk-filter-bar.entry.js +36 -5
  121. package/dist/esm/snk-filter-detail.entry.js +4 -1
  122. package/dist/esm/snk-filter-item.entry.js +10 -6
  123. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  124. package/dist/esm/snk-form-config.entry.js +48 -28
  125. package/dist/esm/snk-form.entry.js +11 -4
  126. package/dist/esm/snk-grid.entry.js +38 -23
  127. package/dist/esm/{snk-guides-viewer-f49613c6.js → snk-guides-viewer-131e9660.js} +15 -9
  128. package/dist/esm/snk-guides-viewer.entry.js +7 -8
  129. package/dist/esm/snk-personalized-filter-editor.entry.js +3 -1
  130. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  131. package/dist/esm/snk-simple-crud.entry.js +257 -23
  132. package/dist/esm/snk-taskbar.entry.js +124 -16
  133. package/dist/esm/{taskbar-elements-d4d0b424.js → taskbar-elements-2473c8ac.js} +9 -9
  134. package/dist/sankhyablocks/p-004c356e.js +26 -0
  135. package/dist/sankhyablocks/p-0624f62d.js +56 -0
  136. package/dist/sankhyablocks/p-075bba4c.entry.js +1 -0
  137. package/dist/sankhyablocks/p-07a61550.entry.js +1 -0
  138. package/dist/sankhyablocks/p-103c5956.entry.js +1 -0
  139. package/dist/sankhyablocks/p-1048bd26.entry.js +1 -0
  140. package/dist/sankhyablocks/{p-e6380c60.js → p-125bb902.js} +1 -1
  141. package/dist/sankhyablocks/p-13ae1a89.entry.js +1 -0
  142. package/dist/sankhyablocks/{p-e0fd9555.entry.js → p-24ed6ad6.entry.js} +1 -1
  143. package/dist/sankhyablocks/p-32556aa6.js +1 -0
  144. package/dist/sankhyablocks/p-33718dfc.entry.js +1 -0
  145. package/dist/sankhyablocks/p-34a7f2ab.js +65 -0
  146. package/dist/sankhyablocks/{p-f3d1c48e.js → p-52c8e589.js} +1 -1
  147. package/dist/sankhyablocks/p-54a5d52a.entry.js +1 -0
  148. package/dist/sankhyablocks/p-5833cff9.js +1 -0
  149. package/dist/sankhyablocks/p-5a2e016a.entry.js +1 -0
  150. package/dist/sankhyablocks/p-619c5f6f.entry.js +11 -0
  151. package/dist/sankhyablocks/p-6f560924.entry.js +1 -0
  152. package/dist/sankhyablocks/p-8967fa78.js +1 -0
  153. package/dist/sankhyablocks/p-9b1beac5.entry.js +1 -0
  154. package/dist/sankhyablocks/p-a87149e4.entry.js +1 -0
  155. package/dist/sankhyablocks/{p-7f3c7b09.entry.js → p-ac77949b.entry.js} +1 -1
  156. package/dist/sankhyablocks/p-ae4fc9a9.js +1 -0
  157. package/dist/sankhyablocks/p-b10b9934.entry.js +1 -0
  158. package/dist/sankhyablocks/p-b11aa1e0.entry.js +1 -0
  159. package/dist/sankhyablocks/{p-9695f78b.js → p-be75153c.js} +1 -1
  160. package/dist/sankhyablocks/p-bf39bdb8.entry.js +1 -0
  161. package/dist/sankhyablocks/p-e8763234.entry.js +1 -0
  162. package/dist/sankhyablocks/p-efeca7ba.js +1 -0
  163. package/dist/sankhyablocks/p-f7d0fab9.entry.js +1 -0
  164. package/dist/sankhyablocks/p-f7d9d148.entry.js +1 -0
  165. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  166. package/dist/types/components/snk-actions-button/subcomponents/snk-actions-form.d.ts +1 -1
  167. package/dist/types/components/snk-application/__mocks__/snk-application.d.ts +3 -0
  168. package/dist/types/components/snk-application/snk-application.d.ts +8 -0
  169. package/dist/types/components/snk-attach/snk-attach.d.ts +2 -1
  170. package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +10 -1
  171. package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +5 -4
  172. package/dist/types/components/snk-crud/snk-crud.d.ts +21 -0
  173. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +1 -1
  174. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +6 -1
  175. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +4 -0
  176. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +6 -2
  177. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +20 -1
  178. package/dist/types/components/snk-form/snk-form.d.ts +6 -1
  179. package/dist/types/components/{snk-form → snk-form-config}/SnkFormConfigManager.d.ts +2 -1
  180. package/dist/types/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.d.ts +5 -3
  181. package/dist/types/components/snk-grid/snk-grid.d.ts +19 -1
  182. package/dist/types/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.d.ts +11 -6
  183. package/dist/types/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.d.ts +1 -1
  184. package/dist/types/components/snk-simple-crud/regular-buttons.d.ts +3 -0
  185. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +76 -3
  186. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +34 -1
  187. package/dist/types/components.d.ts +226 -12
  188. package/dist/types/lib/configs/ConfigStorage.d.ts +21 -1
  189. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +0 -2
  190. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +4 -0
  191. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +2 -0
  192. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +2 -1
  193. package/dist/types/lib/utils/CrudUtils.d.ts +3 -0
  194. package/package.json +9 -2
  195. package/dist/cjs/PreloadManager-84466da6.js +0 -224
  196. package/dist/cjs/SnkMultiSelectionListDataSource-ba5838c2.js +0 -49
  197. package/dist/cjs/snk-grid-config.cjs.entry.js +0 -483
  198. package/dist/cjs/snk-select-box.cjs.entry.js +0 -25
  199. package/dist/esm/PreloadManager-c1c2f2b4.js +0 -222
  200. package/dist/esm/SnkMultiSelectionListDataSource-44494b0e.js +0 -43
  201. package/dist/esm/snk-grid-config.entry.js +0 -479
  202. package/dist/esm/snk-select-box.entry.js +0 -21
  203. package/dist/sankhyablocks/p-02e3a45b.entry.js +0 -1
  204. package/dist/sankhyablocks/p-05243555.js +0 -1
  205. package/dist/sankhyablocks/p-094c30cb.js +0 -1
  206. package/dist/sankhyablocks/p-0d7863ed.js +0 -26
  207. package/dist/sankhyablocks/p-0ec5b2e5.js +0 -1
  208. package/dist/sankhyablocks/p-1d75d9f9.entry.js +0 -1
  209. package/dist/sankhyablocks/p-2582537c.entry.js +0 -1
  210. package/dist/sankhyablocks/p-282789a6.entry.js +0 -1
  211. package/dist/sankhyablocks/p-374d03f6.js +0 -1
  212. package/dist/sankhyablocks/p-3b0e4e08.js +0 -65
  213. package/dist/sankhyablocks/p-40915359.entry.js +0 -1
  214. package/dist/sankhyablocks/p-573a07c5.js +0 -1
  215. package/dist/sankhyablocks/p-69efa80d.entry.js +0 -1
  216. package/dist/sankhyablocks/p-761ed32f.entry.js +0 -1
  217. package/dist/sankhyablocks/p-86801b08.entry.js +0 -1
  218. package/dist/sankhyablocks/p-96ef14f9.entry.js +0 -1
  219. package/dist/sankhyablocks/p-98674137.entry.js +0 -1
  220. package/dist/sankhyablocks/p-9b5944a4.entry.js +0 -1
  221. package/dist/sankhyablocks/p-9bdbc7d8.entry.js +0 -1
  222. package/dist/sankhyablocks/p-a52b9254.entry.js +0 -11
  223. package/dist/sankhyablocks/p-aa95fb2c.js +0 -56
  224. package/dist/sankhyablocks/p-ac384baf.entry.js +0 -1
  225. package/dist/sankhyablocks/p-b05ab13d.entry.js +0 -1
  226. package/dist/sankhyablocks/p-c22c1d8e.js +0 -1
  227. package/dist/sankhyablocks/p-c4874327.entry.js +0 -1
  228. package/dist/sankhyablocks/p-c758265f.entry.js +0 -1
  229. package/dist/sankhyablocks/p-cb7419e0.entry.js +0 -1
  230. package/dist/sankhyablocks/p-d4f9ee17.entry.js +0 -1
  231. package/dist/sankhyablocks/p-d6317851.entry.js +0 -1
  232. /package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.css +0 -0
  233. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.css +0 -0
  234. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.js +0 -0
  235. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.css +0 -0
  236. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.js +0 -0
  237. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.css +0 -0
  238. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.js +0 -0
  239. /package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.css +0 -0
  240. /package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.css +0 -0
  241. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.d.ts +0 -0
  242. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.d.ts +0 -0
  243. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.d.ts +0 -0
@@ -253,7 +253,7 @@ class SnkFilterModalFactory {
253
253
  }
254
254
  }
255
255
 
256
- const snkFilterBarCss = ".sc-snk-filter-bar-h{display:grid;grid-template-columns:minmax(100px, 100%) 1fr 1fr;--snk-personalized-filter--z-index:var(--elevation--20, 20);--snk-personalized-filter--background-color:var(--background--xlight, #fff)}.snk-filter__popover-container.sc-snk-filter-bar{display:flex;cursor:auto}.filter-bar__personalized-filter.sc-snk-filter-bar{display:flex;flex-direction:column;position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;z-index:var(--snk-personalized-filter--z-index);background-color:var(--snk-personalized-filter--background-color)}.snk-filter__popover.sc-snk-filter-bar{display:flex;flex-direction:column;position:absolute;width:fit-content;height:fit-content;min-width:265px;background-color:var(--background--xlight, #fff);border-radius:var(--border--radius-medium, 12px);box-shadow:var(--shadow, 0px 0px 16px 0px #000)}.snk-filter-item__editor-header.sc-snk-filter-bar{flex-grow:1;font-weight:var(--text-weight--medium, 400);color:var(--color--title-primary, #2B3A54)}.snk-filter__popover-rule.sc-snk-filter-bar{border-style:solid;border-color:var(--color--disable-secondary, #F2F5F8);border-radius:1px;border-width:1px;width:100%}.editor__ez-check.sc-snk-filter-bar{--ez-check__label--padding-left:0}.snk-filter-item__editor-header-button.sc-snk-filter-bar{cursor:pointer;background-color:transparent;border:none;padding:3px;outline-color:var(--color--primary)}.snk-filter-bar__divider.sc-snk-filter-bar{margin-bottom:var(--space--small)}.snk-filter-bar__scroller.sc-snk-filter-bar{height:calc(100% + var(--space-extra-small, 3px))}.snk-filter-bar__filter-item-container.sc-snk-filter-bar{display:flex;align-self:center}.snk-filter-bar__scroller.sc-snk-filter-bar .sc-snk-filter-bar:first-child{margin-left:var(--space-extra-small, 3px)}.snk-filter-bar__filter-list-items-container.sc-snk-filter-bar{overflow-y:auto;max-height:360px;margin-top:var(--space--small, 6px)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar{cursor:pointer;border-radius:var(--border--radius-small, 6px);border:none;background-color:transparent}.snk-filter-bar__filter-list-item__label.sc-snk-filter-bar{color:var(--title--primary)}.snk-filter-bar__filter-list-item__label--secondary.sc-snk-filter-bar{color:var(--text--primary)}.snk-filter-bar__filter-list-item__icon.sc-snk-filter-bar{--ez-icon--color:var(--title--primary)}.snk-filter-bar__filter-list-item__icon--secondary.sc-snk-filter-bar{--ez-icon--color:var(--text--secondary)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:focus-visible{outline:none;background-color:var(--background--medium)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:hover{background-color:var(--background--medium)}.snk-filter-bar__filter-list-items-container--empty.sc-snk-filter-bar{width:100%;height:100px;display:flex;justify-content:center;align-self:center;align-items:center}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar{position:relative}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar::after{display:flex;position:absolute;content:\"\";width:8px;height:8px;top:7px;left:17px;background-color:var(--icon--alert--color, #008561);border-radius:50%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar{--modal-item-border-width:2px;display:flex;flex-direction:row;margin-left:var(--modal-item-border-width);border-radius:var(--border--radius-medium, 12px);background-color:var(--background--medium, #f0f3f7);border:none;width:100%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar:focus-visible{outline:var(--color--primary) solid var(--modal-item-border-width)}.snk-filter-bar__filter-modal-item__check.sc-snk-filter-bar{width:auto}.snk-filter-bar__filter-modal-item__label.sc-snk-filter-bar{font-weight:var(--text-weight--medium)}.snk-filter-bar__filter-modal-content.sc-snk-filter-bar{display:grid;grid-template-rows:auto auto 1fr auto;width:99%;height:100%}";
256
+ const snkFilterBarCss = ".sc-snk-filter-bar-h{display:grid;grid-template-columns:1fr minmax(100px, 100%) 1fr 1fr;--snk-personalized-filter--z-index:var(--elevation--20, 20);--snk-personalized-filter--background-color:var(--background--xlight, #fff)}.snk-filter-bar__title.sc-snk-filter-bar{max-width:260px;display:inline-block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:16px;font-family:var(--font-pattern, Arial);font-weight:var(--text-weight--large, 600);color:var(--color--title-primary, #2B3A54);margin-top:8px}[data-mode=\"hidden\"].sc-snk-filter-bar-h{width:0px;height:0px}[data-mode=\"button\"].sc-snk-filter-bar-h{grid-template-columns:1fr;width:fit-content}.snk-filter__popover-container.sc-snk-filter-bar{display:flex;cursor:auto}.filter-bar__personalized-filter.sc-snk-filter-bar{display:flex;flex-direction:column;position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;z-index:var(--snk-personalized-filter--z-index);background-color:var(--snk-personalized-filter--background-color)}.snk-filter__popover.sc-snk-filter-bar{display:flex;flex-direction:column;position:absolute;width:fit-content;height:fit-content;min-width:265px;background-color:var(--background--xlight, #fff);border-radius:var(--border--radius-medium, 12px);box-shadow:var(--shadow, 0px 0px 16px 0px #000)}.snk-filter-item__editor-header.sc-snk-filter-bar{flex-grow:1;font-weight:var(--text-weight--medium, 400);color:var(--color--title-primary, #2B3A54)}.snk-filter__popover-rule.sc-snk-filter-bar{border-style:solid;border-color:var(--color--disable-secondary, #F2F5F8);border-radius:1px;border-width:1px;width:100%}.editor__ez-check.sc-snk-filter-bar{--ez-check__label--padding-left:0}.snk-filter-item__editor-header-button.sc-snk-filter-bar{cursor:pointer;background-color:transparent;border:none;padding:3px;outline-color:var(--color--primary)}.snk-filter-bar__divider.sc-snk-filter-bar{margin-bottom:var(--space--small)}.snk-filter-bar__scroller.sc-snk-filter-bar{height:calc(100% + var(--space-extra-small, 3px))}.snk-filter-bar__filter-item-container.sc-snk-filter-bar{display:flex;align-self:center}.snk-filter-bar__scroller.sc-snk-filter-bar .sc-snk-filter-bar:first-child{margin-left:var(--space-extra-small, 3px)}.snk-filter-bar__filter-list-items-container.sc-snk-filter-bar{overflow-y:auto;max-height:360px;margin-top:var(--space--small, 6px)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar{cursor:pointer;border-radius:var(--border--radius-small, 6px);border:none;background-color:transparent}.snk-filter-bar__filter-list-item__label.sc-snk-filter-bar{color:var(--title--primary)}.snk-filter-bar__filter-list-item__label--secondary.sc-snk-filter-bar{color:var(--text--primary)}.snk-filter-bar__filter-list-item__icon.sc-snk-filter-bar{--ez-icon--color:var(--title--primary)}.snk-filter-bar__filter-list-item__icon--secondary.sc-snk-filter-bar{--ez-icon--color:var(--text--secondary)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:focus-visible{outline:none;background-color:var(--background--medium)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:hover{background-color:var(--background--medium)}.snk-filter-bar__filter-list-items-container--empty.sc-snk-filter-bar{width:100%;height:100px;display:flex;justify-content:center;align-self:center;align-items:center}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar{position:relative}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar::after{display:flex;position:absolute;content:\"\";width:8px;height:8px;top:7px;left:17px;background-color:var(--icon--alert--color, #008561);border-radius:50%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar{--modal-item-border-width:2px;display:flex;flex-direction:row;margin-left:var(--modal-item-border-width);border-radius:var(--border--radius-medium, 12px);background-color:var(--background--medium, #f0f3f7);border:none;width:100%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar:focus-visible{outline:var(--color--primary) solid var(--modal-item-border-width)}.snk-filter-bar__filter-modal-item__check.sc-snk-filter-bar{width:auto}.snk-filter-bar__filter-modal-item__label.sc-snk-filter-bar{font-weight:var(--text-weight--medium)}.snk-filter-bar__filter-modal-content.sc-snk-filter-bar{display:grid;grid-template-rows:auto auto 1fr auto;width:99%;height:100%}";
257
257
 
258
258
  const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
259
259
  constructor() {
@@ -280,17 +280,25 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
280
280
  return this._calculateSortIndex(b) - this._calculateSortIndex(a);
281
281
  };
282
282
  this.dataUnit = undefined;
283
+ this.title = undefined;
283
284
  this.configName = undefined;
284
285
  this.resourceID = undefined;
286
+ this.mode = "regular";
285
287
  this.filterConfig = undefined;
286
288
  this.messagesBuilder = undefined;
287
289
  this.disablePersonalizedFilter = undefined;
290
+ this.filterBarLegacyConfigName = undefined;
288
291
  this.allowDefault = undefined;
289
292
  this.scrollerLocked = false;
290
293
  this.showPersonalizedFilter = false;
291
294
  this.personalizedFilterId = undefined;
292
295
  }
293
296
  observeFilterConfig(newValue, oldValue) {
297
+ if (ObjectUtils.equals(newValue, oldValue))
298
+ return;
299
+ this.handleFilterConfigsChanged(oldValue, newValue);
300
+ }
301
+ handleFilterConfigsChanged(oldValue, newValue) {
294
302
  if (oldValue != undefined && newValue == undefined) {
295
303
  this._loadingPending = true;
296
304
  this._configUpdated = true;
@@ -493,6 +501,17 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
493
501
  filterActiveFilter(item) {
494
502
  return item.visible || item.removalBlocked;
495
503
  }
504
+ filterPersonalizedItems(item) {
505
+ return item.type === FilterItemType.PERSONALIZED;
506
+ }
507
+ getPersonalizedFilterVariableItems() {
508
+ return this.filterConfig
509
+ .filter(this.filterPersonalizedItems)
510
+ .map(item => {
511
+ const itemId = `filter-${item.id}`;
512
+ return (h("snk-filter-item", { key: item.id, id: itemId, config: Object.assign({}, item), onFocusin: () => this.itemFocused(itemId), onVisibleChanged: (evt) => this.scrollerLocked = evt.detail, onFilterChange: (event) => this.updateFilter(event.detail), getMessage: (key, props) => this.getMessage(key, props), showChips: false }));
513
+ });
514
+ }
496
515
  getFilterItems() {
497
516
  const pinnedItems = [];
498
517
  const unpinnedItems = [];
@@ -552,6 +571,11 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
552
571
  loadPermitions() {
553
572
  this._application.isUserSup().then(value => this.allowDefault = value);
554
573
  }
574
+ addFilterBarLegacyConfigName() {
575
+ if (this.filterBarLegacyConfigName && this.configName) {
576
+ ConfigStorage.addFilterBarLegacyConfig(this.configName, this.filterBarLegacyConfigName);
577
+ }
578
+ }
555
579
  async loadConfigFromStorage(clearCache) {
556
580
  if (clearCache) {
557
581
  await ConfigStorage.deleteFilterBarConfigCache(this.configName, this.resourceID);
@@ -598,6 +622,9 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
598
622
  filterChangeListener(evt) {
599
623
  this.updateFilter(evt.detail);
600
624
  }
625
+ /**
626
+ * Abre o modal de filtros
627
+ */
601
628
  async showFilterModal() {
602
629
  const callbackOnApplyFilter = (filters) => {
603
630
  this.filterConfig = filters.map(this.normalizeItem).sort((a, b) => this._filtersComparator(a, b));
@@ -655,6 +682,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
655
682
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
656
683
  if (this._application) {
657
684
  this.loadPermitions();
685
+ this.addFilterBarLegacyConfigName();
658
686
  this.loadConfigFromStorage();
659
687
  }
660
688
  this.attachDataUnit();
@@ -669,7 +697,10 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
669
697
  if (this.showPersonalizedFilter) {
670
698
  return h("snk-personalized-filter", { class: "filter-bar__personalized-filter", filterId: this.personalizedFilterId, ref: (el) => this._elPersonalizedFilter = el, onEzCancel: () => this.handleHidePersonalizedFilter(false), onEzAfterSave: () => this.handleHidePersonalizedFilter(true), entityUri: this.dataUnit.name, configName: this.configName, resourceID: this.resourceID });
671
699
  }
672
- return (h(Host, null, h("ez-scroller", { class: "snk-filter-bar__scroller", direction: EzScrollDirection.HORIZONTAL, activeShadow: true, locked: this.scrollerLocked }, h("section", { class: "snk-filter-bar__filter-item-container" }, this.getFilterItems())), h("ez-button", { class: "ez-padding-left--medium", size: "small", label: this.getMessage('snkFilterBar.filters', undefined, 'Filtros'), onClick: this.showFilterModal.bind(this) }, h("ez-icon", { slot: "leftIcon", iconName: "plus", class: "ez-padding-right--small" }))));
700
+ if (this.mode !== "regular") {
701
+ return (h(Host, { "data-mode": this.mode }, this.getPersonalizedFilterVariableItems(), this.mode === 'button' && (h("ez-button", { class: "ez-margin-left--medium", size: "small", label: this.getMessage('snkFilterBar.filters', undefined, 'Filtros'), onClick: this.showFilterModal.bind(this) }))));
702
+ }
703
+ return (h(Host, null, h("div", null, h("span", { class: "snk-filter-bar__title", title: this.title, "data-tooltip": this.title, "data-flow": "bottom" }, this.title)), h("ez-scroller", { class: "snk-filter-bar__scroller", direction: EzScrollDirection.HORIZONTAL, activeShadow: true, locked: this.scrollerLocked }, h("section", { class: "snk-filter-bar__filter-item-container" }, this.getFilterItems())), h("ez-button", { class: "ez-padding-left--medium", size: "small", label: this.getMessage('snkFilterBar.filters', undefined, 'Filtros'), onClick: this.showFilterModal.bind(this) }, h("ez-icon", { slot: "leftIcon", iconName: "plus", class: "ez-padding-right--small" }))));
673
704
  }
674
705
  get _element() { return this; }
675
706
  static get watchers() { return {
@@ -678,11 +709,14 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
678
709
  static get style() { return snkFilterBarCss; }
679
710
  }, [2, "snk-filter-bar", {
680
711
  "dataUnit": [1040],
712
+ "title": [1],
681
713
  "configName": [1, "config-name"],
682
714
  "resourceID": [1, "resource-i-d"],
715
+ "mode": [1],
683
716
  "filterConfig": [1040],
684
717
  "messagesBuilder": [1040],
685
718
  "disablePersonalizedFilter": [4, "disable-personalized-filter"],
719
+ "filterBarLegacyConfigName": [1, "filter-bar-legacy-config-name"],
686
720
  "allowDefault": [32],
687
721
  "scrollerLocked": [32],
688
722
  "showPersonalizedFilter": [32],
@@ -691,7 +725,8 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
691
725
  "getFilterItem": [64],
692
726
  "updateFilterItem": [64],
693
727
  "addFilterItem": [64],
694
- "removeFilterItem": [64]
728
+ "removeFilterItem": [64],
729
+ "showFilterModal": [64]
695
730
  }, [[0, "filterChange", "filterChangeListener"]]]);
696
731
  function defineCustomElement() {
697
732
  if (typeof customElements === "undefined") {
@@ -12,6 +12,7 @@ const SnkFilterDetail = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
12
12
  this.filterChange = createEvent(this, "filterChange", 7);
13
13
  this.config = undefined;
14
14
  this.getMessage = undefined;
15
+ this.showHardFixed = true;
15
16
  }
16
17
  /**
17
18
  * Exibe o componente snk-filter-detail.
@@ -89,7 +90,9 @@ const SnkFilterDetail = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
89
90
  return Object.assign(Object.assign({}, item), { visible: false, fixed: false, value: undefined });
90
91
  }
91
92
  getPopUpHeaderButtons() {
92
- return (h(Fragment, null, !this.config.removalBlocked && this.buildIcon(this.getMessage("snkFilterBar.removeFilter"), "delete", () => this.removeItem()), !this.config.hardFixed && this.buildIcon(this.getMessage(this.config.fixed ? "snkFilterBar.unpinFilter" : "snkFilterBar.pinFilter"), this.config.fixed ? "un-pin" : "push-pin", () => this.changeConfig(Object.assign(Object.assign({}, this.config), { fixed: !this.config.fixed })))));
93
+ return (h(Fragment, null, !this.config.removalBlocked &&
94
+ this.buildIcon(this.getMessage("snkFilterBar.removeFilter"), "delete", () => this.removeItem()), this.showHardFixed && !this.config.hardFixed &&
95
+ this.buildIcon(this.getMessage(this.config.fixed ? "snkFilterBar.unpinFilter" : "snkFilterBar.pinFilter"), this.config.fixed ? "un-pin" : "push-pin", () => this.changeConfig(Object.assign(Object.assign({}, this.config), { fixed: !this.config.fixed })))));
93
96
  }
94
97
  buildIcon(title, iconName, action) {
95
98
  return (h("button", { onClick: () => action(), class: "sc-snk-filter-bar snk-filter-item__editor-header-button", ref: elem => elem && this.buildIdButton(elem, title) }, h("ez-icon", Object.assign({ title: title, iconName: iconName }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${ElementIDUtils.getInternalIDInfo(`_${title}`)}` }))));
@@ -170,6 +173,7 @@ const SnkFilterDetail = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
170
173
  }, [0, "snk-filter-detail", {
171
174
  "config": [1040],
172
175
  "getMessage": [16],
176
+ "showHardFixed": [4, "show-hard-fixed"],
173
177
  "show": [64]
174
178
  }]);
175
179
  function defineCustomElement() {
@@ -20,6 +20,7 @@ const SnkFilterItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
20
20
  this.detailIsVisible = undefined;
21
21
  this.config = undefined;
22
22
  this.getMessage = undefined;
23
+ this.showChips = true;
23
24
  }
24
25
  observeDetailIsVisible(value) {
25
26
  this.visibleChanged.emit(value);
@@ -51,19 +52,22 @@ const SnkFilterItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
51
52
  autoClose: true,
52
53
  innerClickTest: this.innerClickCheck,
53
54
  backClickListener: () => this.onDetailCloseCallback(),
54
- left: this.getScrollOffsetLeft(),
55
- top: this.getScrollOffsetTop(),
55
+ left: this.getOffsetLeft(),
56
+ top: this.getOffsetTop(),
56
57
  useOverlay: true,
57
58
  overlayClassName: 'ez-scrim ez-scrim--light',
58
59
  isFixed: true
59
60
  };
60
61
  }
61
- getScrollOffsetLeft() {
62
+ getOffsetLeft() {
62
63
  const padding = getComputedStyle(this._filterItemElement).getPropertyValue("padding-left");
63
64
  const rect = this._filterItemElement.getBoundingClientRect();
64
- return `calc(${rect.x}px + ${padding})`;
65
+ // Width baseado no conteudo do snk-filter-detail. Nesse momento ele retorna 0px pois ainda não foi criado em tela.
66
+ const filterDetailWidth = 430;
67
+ const adjustRightPosition = filterDetailWidth - (document.body.clientWidth - rect.left);
68
+ return `calc(${rect.x}px + ${padding} - ${adjustRightPosition > 0 ? adjustRightPosition : 0}px)`;
65
69
  }
66
- getScrollOffsetTop() {
70
+ getOffsetTop() {
67
71
  const rect = this._filterItemElement.getBoundingClientRect();
68
72
  return (rect.y + rect.height) + "px";
69
73
  }
@@ -295,7 +299,7 @@ const SnkFilterItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
295
299
  }
296
300
  render() {
297
301
  const leftIcon = this.getLeftIconName();
298
- return (h(Host, null, h("ez-chip", { id: this.config.id, ref: ref => this._chipElement = ref, label: this.getLabel(), value: this.getEnabledChip() }, leftIcon ? h("ez-icon", { ref: ref => this._leftIconElement = ref, iconName: leftIcon, class: "ez-padding-right--small", slot: "leftIcon" }) : undefined, h("ez-icon", { ref: ref => this._rightIconElement = ref, iconName: this.getRightIconName(), class: "ez-padding-left--small", slot: "rightIcon", id: "removeFilter" })), h("section", { class: "ez-margin-top--small sc-snk-filter-bar snk-filter__popover-container", ref: elem => this._popoverContainer = elem }, h("snk-filter-detail", { config: this.config, getMessage: this.getMessage, class: "sc-snk-filter-bar snk-filter__popover ez-padding--small ez-elevation--16", ref: elem => this._popover = elem, key: this.config.id, "data-element-id": this._idSnkFilterDetail }))));
302
+ return (h(Host, null, this.showChips && (h("ez-chip", { id: this.config.id, ref: ref => this._chipElement = ref, label: this.getLabel(), value: this.getEnabledChip() }, leftIcon && (h("ez-icon", { ref: ref => this._leftIconElement = ref, iconName: leftIcon, class: "ez-padding-right--small", slot: "leftIcon" })), h("ez-icon", { ref: ref => this._rightIconElement = ref, iconName: this.getRightIconName(), class: "ez-padding-left--small", slot: "rightIcon", id: "removeFilter" }))), h("section", { class: "ez-margin-top--small sc-snk-filter-bar snk-filter__popover-container", ref: elem => this._popoverContainer = elem }, h("snk-filter-detail", { config: this.config, getMessage: this.getMessage, class: "sc-snk-filter-bar snk-filter__popover ez-padding--small ez-elevation--16", ref: elem => this._popover = elem, key: this.config.id, "data-element-id": this._idSnkFilterDetail, showHardFixed: this.showChips }))));
299
303
  }
300
304
  get _filterItemElement() { return this; }
301
305
  static get watchers() { return {
@@ -304,6 +308,7 @@ const SnkFilterItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
304
308
  }, [0, "snk-filter-item", {
305
309
  "config": [1040],
306
310
  "getMessage": [16],
311
+ "showChips": [4, "show-chips"],
307
312
  "detailIsVisible": [32],
308
313
  "showUp": [64],
309
314
  "hideDetail": [64]
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { a as Sortable, d as defineCustomElement$1 } from './snk-tab-config2.js';
3
- import { ObjectUtils, ElementIDUtils, ArrayUtils } from '@sankhyalabs/core';
3
+ import { ObjectUtils, ElementIDUtils, ArrayUtils, ApplicationContext } from '@sankhyalabs/core';
4
4
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
5
5
  import { C as CONFIG_EVENTS, b as CONFIG_SORTABLE_EVENTS, c as TAB_NAMES, A as ACTION_CONFIG, D as DEFAULT_TYPE } from './constants.js';
6
6
  import { U as UserConfigType } from './form-config-fetcher.js';
@@ -34,6 +34,7 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
34
34
  this._formFieldsStyle = "ez-col ez-col--sd-12 ez-col--tb-4 ez-padding-right--small ez-padding-bottom--medium sc-snk-form-config";
35
35
  this._fieldsAvailableStyle = "ez-col ez-col--sd-12 ez-col--tb-12 ez-margin-bottom--medium ez-margin-right--medium sc-snk-form-config";
36
36
  this._fieldFloatingStyle = "form-config__field-config--dragged";
37
+ this._sortableTimer = 100;
37
38
  this._formConfigOptions = [];
38
39
  this._fieldConfigSelected = undefined;
39
40
  this._layoutFormConfig = undefined;
@@ -48,20 +49,27 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
48
49
  this.messagesBuilder = undefined;
49
50
  }
50
51
  observeConfigManager() {
51
- this.loadConfig();
52
+ this.loadConfig(this._sortableTimer);
52
53
  }
53
- loadFields() {
54
+ loadFields(updateTimer = 0) {
54
55
  this._layoutFormConfig = [];
55
- this.buildFields();
56
+ if (updateTimer > 0) {
57
+ setTimeout(() => {
58
+ this.buildFields();
59
+ }, updateTimer);
60
+ }
61
+ else {
62
+ this.buildFields();
63
+ }
56
64
  }
57
65
  buildFields() {
58
66
  this.buildFormConfig();
59
67
  this.buildAvailableFields();
60
68
  }
61
- loadFormConfig() {
69
+ loadFormConfig(updateTimer) {
62
70
  var _a;
63
71
  this._formConfig = this.getConfig();
64
- this.loadFields();
72
+ this.loadFields(updateTimer);
65
73
  this.controlFieldConfig();
66
74
  if (((_a = this._filterFieldsAvailable) === null || _a === void 0 ? void 0 : _a.value) != undefined) {
67
75
  this._filterFieldsAvailable.value = "";
@@ -104,12 +112,12 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
104
112
  }
105
113
  }
106
114
  resetChangeConfig() {
107
- this.loadFormConfig();
115
+ this.loadFormConfig(this._sortableTimer);
108
116
  this.clearTempGroups();
109
117
  }
110
118
  resetChangeOptionConfig() {
111
119
  this._formConfigChanged = false;
112
- this.loadConfig();
120
+ this.loadConfig(this._sortableTimer);
113
121
  this.clearTempGroups();
114
122
  }
115
123
  getTabsToSave() {
@@ -324,7 +332,9 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
324
332
  && oldContainer.id === newContainer.id) {
325
333
  evt.cancel();
326
334
  this._fieldsAvailable = [];
327
- this.buildAvailableFields();
335
+ setTimeout(() => {
336
+ this.buildAvailableFields();
337
+ }, this._sortableTimer);
328
338
  return true;
329
339
  }
330
340
  return false;
@@ -367,7 +377,11 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
367
377
  if (isNewGroup) {
368
378
  this.clearTempGroups(true);
369
379
  }
370
- this.updateFieldsToSave();
380
+ const sortableTimer = oldContainer.dataset.groupName !== newContainer.dataset.groupName
381
+ || (newContainer.id === CONTAINER_ID.withoutGroup && oldContainer.id === CONTAINER_ID.fieldsAvailable)
382
+ ? this._sortableTimer
383
+ : 0;
384
+ this.updateFieldsToSave(sortableTimer);
371
385
  }, this._renderTimer);
372
386
  return true;
373
387
  }
@@ -397,12 +411,12 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
397
411
  return;
398
412
  }
399
413
  }
400
- updateFieldsToSave() {
414
+ updateFieldsToSave(updateTimer = 0) {
401
415
  const fields = this.getFieldsToSave();
402
416
  if ((fields === null || fields === void 0 ? void 0 : fields.length) > 0) {
403
417
  this._formConfig.fields = fields;
404
418
  }
405
- this.loadFields();
419
+ this.loadFields(updateTimer);
406
420
  this._formConfigChanged = true;
407
421
  }
408
422
  controlSortableField() {
@@ -432,7 +446,7 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
432
446
  controlStopDraggingGroup(evt) {
433
447
  if (evt.data.newIndex !== evt.data.oldIndex) {
434
448
  setTimeout(() => {
435
- this.updateFieldsToSave();
449
+ this.updateFieldsToSave(this._sortableTimer);
436
450
  }, this._renderTimer);
437
451
  }
438
452
  }
@@ -505,7 +519,7 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
505
519
  });
506
520
  if (tabs.length > 0) {
507
521
  this._formConfig.tabs = tabs;
508
- this.loadFields();
522
+ this.loadFields(this._sortableTimer);
509
523
  this.controlFieldConfig();
510
524
  this._formConfigChanged = true;
511
525
  }
@@ -529,13 +543,13 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
529
543
  if (config != undefined) {
530
544
  this._formConfig = config;
531
545
  this._tabSelected = 1;
532
- this.loadFields();
546
+ this.loadFields(this._sortableTimer);
533
547
  this.controlFieldConfig();
534
548
  this.clearTempGroups();
535
549
  }
536
550
  }
537
- loadConfig() {
538
- this.loadFormConfig();
551
+ loadConfig(updateTimer = 0) {
552
+ this.loadFormConfig(updateTimer);
539
553
  this.loadUserConfig();
540
554
  }
541
555
  addNewGroup() {
@@ -576,7 +590,7 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
576
590
  });
577
591
  }
578
592
  else {
579
- this.updateFieldsToSave();
593
+ this.updateFieldsToSave(this._sortableTimer);
580
594
  }
581
595
  }
582
596
  checkGroupExists(newLabel, indexGroup, isTempGroup = false) {
@@ -622,7 +636,7 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
622
636
  field.group = newLabel;
623
637
  }
624
638
  });
625
- this.loadFields();
639
+ this.loadFields(this._sortableTimer);
626
640
  this.controlFieldConfig();
627
641
  this._formConfigChanged = true;
628
642
  }
@@ -836,14 +850,14 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
836
850
  this._formConfigChanged = true;
837
851
  this.resetSortables();
838
852
  }
839
- controlRemoveFieldConfig(fieldConfig) {
853
+ controlRemoveFieldConfig(fieldConfig, updateTimer) {
840
854
  var _a;
841
855
  this._formConfigChanged = false;
842
856
  if (fieldConfig == undefined) {
843
857
  return;
844
858
  }
845
859
  this._formConfig.fields = (_a = this._formConfig.fields) === null || _a === void 0 ? void 0 : _a.filter((field) => field.name !== fieldConfig.name);
846
- this.loadFields();
860
+ this.loadFields(updateTimer);
847
861
  this.controlFieldConfig();
848
862
  this._formConfigChanged = true;
849
863
  this.resetSortables();
@@ -852,14 +866,14 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
852
866
  this.controlSortableField();
853
867
  this.controlSortableGroup();
854
868
  }
855
- handleFieldConfigChange(evt) {
869
+ handleFieldConfigChange(evt, updateTimer = 0) {
856
870
  const { field: fieldConfig, type: actionType } = evt.detail;
857
871
  if (actionType === ACTION_CONFIG.configuration) {
858
872
  this.controlFieldConfig(fieldConfig);
859
873
  return;
860
874
  }
861
875
  if (actionType === ACTION_CONFIG.remove) {
862
- this.controlRemoveFieldConfig(fieldConfig);
876
+ this.controlRemoveFieldConfig(fieldConfig, updateTimer);
863
877
  return;
864
878
  }
865
879
  if (actionType === ACTION_CONFIG.add) {
@@ -880,7 +894,7 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
880
894
  tab.label = newLabel;
881
895
  }
882
896
  });
883
- this.loadFields();
897
+ this.loadFields(this._sortableTimer);
884
898
  this.controlFieldConfig();
885
899
  this._formConfigChanged = true;
886
900
  }
@@ -900,7 +914,7 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
900
914
  this._formConfig.tabs = (_a = this._formConfig.tabs) === null || _a === void 0 ? void 0 : _a.filter((tab) => {
901
915
  return tab.label !== tabSelected.detail.label;
902
916
  });
903
- this.loadFields();
917
+ this.loadFields(this._sortableTimer);
904
918
  this.controlFieldConfig();
905
919
  this._formConfigChanged = true;
906
920
  }
@@ -913,7 +927,7 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
913
927
  tab.visible = !tab.visible;
914
928
  }
915
929
  });
916
- this.loadFields();
930
+ this.loadFields(this._sortableTimer);
917
931
  this.controlFieldConfig();
918
932
  this._formConfigChanged = true;
919
933
  }
@@ -938,6 +952,12 @@ const SnkFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
938
952
  this.controlSortableField();
939
953
  this.controlSortableGroup();
940
954
  }
955
+ async componentWillRender() {
956
+ if (this.messagesBuilder == undefined) {
957
+ const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
958
+ this.messagesBuilder = application.messagesBuilder;
959
+ }
960
+ }
941
961
  componentWillLoad() {
942
962
  this.loadConfig();
943
963
  }
@@ -23,6 +23,7 @@ const SnkForm$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
23
23
  this.configName = undefined;
24
24
  this.recordsValidator = undefined;
25
25
  this.messagesBuilder = undefined;
26
+ this.formLegacyConfigName = undefined;
26
27
  this.resourceID = undefined;
27
28
  }
28
29
  /**
@@ -70,8 +71,14 @@ const SnkForm$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
70
71
  this.resourceID = await ResourceIDUtils.getResourceID();
71
72
  }
72
73
  this._configManager = new SnkFormConfigManager(this.configName, this.resourceID);
74
+ this.addFormLegacyConfig();
73
75
  this._configManager.loadConfig();
74
76
  }
77
+ addFormLegacyConfig() {
78
+ if (this.formLegacyConfigName) {
79
+ this._configManager.addFormLegacyConfig(this.formLegacyConfigName);
80
+ }
81
+ }
75
82
  render() {
76
83
  if (!this._dataUnit || !this._dataState) {
77
84
  return undefined;
@@ -85,6 +92,7 @@ const SnkForm$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
85
92
  "configName": [1, "config-name"],
86
93
  "recordsValidator": [16],
87
94
  "messagesBuilder": [1040],
95
+ "formLegacyConfigName": [1, "form-legacy-config-name"],
88
96
  "resourceID": [1, "resource-i-d"],
89
97
  "_dataUnit": [32],
90
98
  "_dataState": [32],