@sankhyalabs/sankhyablocks 10.1.0-dev.52 → 10.1.0-dev.54

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 (265) hide show
  1. package/dist/cjs/{ConfigStorage-a1fab5ca.js → ConfigStorage-4201dd3d.js} +2 -2
  2. package/dist/cjs/{DataFetcher-384d2ce8.js → DataFetcher-b3a8075d.js} +2830 -2
  3. package/dist/cjs/FormConfigHelper-c5f5473a.js +342 -0
  4. package/dist/cjs/{ISave-ecbe9336.js → ISave-4674c283.js} +1 -1
  5. package/dist/cjs/{PersonalizedFilterUtils-eccb267a.js → PersonalizedFilterUtils-263e4d24.js} +52 -5
  6. package/dist/cjs/{SnkFormConfigManager-44386305.js → SnkFormConfigManager-c3a49038.js} +2 -2
  7. package/dist/cjs/{SnkMultiSelectionListDataSource-d341dd02.js → SnkMultiSelectionListDataSource-3a13fd34.js} +4 -4
  8. package/dist/cjs/{auth-fetcher-6b134ec4.js → auth-fetcher-0ecc53ff.js} +1 -1
  9. package/dist/cjs/{dataunit-fetcher-b9822794.js → dataunit-fetcher-c7e66f0d.js} +13 -4
  10. package/dist/cjs/{filter-type.enum-2bb46d2a.js → filter-type.enum-b3b388af.js} +7 -0
  11. package/dist/cjs/{form-config-fetcher-45d1964c.js → form-config-fetcher-f80dbc3b.js} +23 -5
  12. package/dist/cjs/index-1894343a.js +24 -36
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +4 -5
  15. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  16. package/dist/cjs/snk-actions-button_9.cjs.entry.js +5 -6
  17. package/dist/cjs/snk-application.cjs.entry.js +7 -8
  18. package/dist/cjs/snk-attach_11.cjs.entry.js +2950 -0
  19. package/dist/cjs/snk-crud.cjs.entry.js +31 -243
  20. package/dist/cjs/snk-data-exporter.cjs.entry.js +5 -6
  21. package/dist/cjs/{snk-data-unit-4b6dc396.js → snk-data-unit-35f10e01.js} +11 -11
  22. package/dist/cjs/snk-data-unit.cjs.entry.js +3 -4
  23. package/dist/cjs/snk-detail-view.cjs.entry.js +9 -10
  24. package/dist/cjs/snk-dynaform-config-header_5.cjs.entry.js +739 -0
  25. package/dist/cjs/snk-dynaform-detail-view_2.cjs.entry.js +938 -0
  26. package/dist/cjs/snk-dynaform-field-config_2.cjs.entry.js +327 -0
  27. package/dist/cjs/snk-dynaform-guides-view-e98f7f3a.js +747 -0
  28. package/dist/cjs/snk-dynaform-guides-view.cjs.entry.js +23 -0
  29. package/dist/cjs/snk-dynaform.cjs.entry.js +675 -0
  30. package/dist/cjs/{snk-expression-group_2.cjs.entry.js → snk-expression-group_4.cjs.entry.js} +421 -18
  31. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +41 -44
  32. package/dist/cjs/snk-form_2.cjs.entry.js +4 -5
  33. package/dist/cjs/snk-grid.cjs.entry.js +7 -8
  34. package/dist/cjs/{snk-guides-viewer-8e7a503b.js → snk-guides-viewer-3054d541.js} +1 -1
  35. package/dist/cjs/snk-guides-viewer.cjs.entry.js +5 -6
  36. package/dist/cjs/snk-layout-form-config.cjs.entry.js +4 -5
  37. package/dist/cjs/snk-pesquisa.cjs.entry.js +4 -5
  38. package/dist/cjs/taskbarUtils-383c596e.js +231 -0
  39. package/dist/collection/collection-manifest.json +17 -0
  40. package/dist/collection/components/snk-dynaform/interfaces/PropsCustomEditor.js +1 -0
  41. package/dist/collection/components/snk-dynaform/interfaces/PropsCustomRender.js +1 -0
  42. package/dist/collection/components/snk-dynaform/snk-dynaform.css +64 -0
  43. package/dist/collection/components/snk-dynaform/snk-dynaform.js +1657 -0
  44. package/dist/collection/components/snk-dynaform/subcomponents/CardFormResizeObserver.js +26 -0
  45. package/dist/collection/components/snk-dynaform/subcomponents/GuideBuilder.js +51 -0
  46. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.css +112 -0
  47. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.js +992 -0
  48. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.css +64 -0
  49. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.js +588 -0
  50. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-guides-view/snk-dynaform-guides-view.css +98 -0
  51. package/dist/collection/components/snk-dynaform/subcomponents/snk-dynaform-guides-view/snk-dynaform-guides-view.js +1167 -0
  52. package/dist/collection/components/snk-dynaform-form-config/FormConfigHelper.js +325 -0
  53. package/dist/collection/components/snk-dynaform-form-config/SnkFormConfigManager.js +212 -0
  54. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-config-header.css +17 -0
  55. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-config-header.js +236 -0
  56. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-configs-button/snk-dynaform-configs-button.css +41 -0
  57. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-configs-button/snk-dynaform-configs-button.js +170 -0
  58. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-config/snk-dynaform-field-config.css +22 -0
  59. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-config/snk-dynaform-field-config.js +408 -0
  60. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-item.css +88 -0
  61. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-item.js +209 -0
  62. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-layout/snk-dynaform-fields-layout.css +167 -0
  63. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-layout/snk-dynaform-fields-layout.js +655 -0
  64. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-selector/snk-dynaform-fields-selector.css +42 -0
  65. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-fields-selector/snk-dynaform-fields-selector.js +171 -0
  66. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-form-config.css +66 -0
  67. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-form-config.js +557 -0
  68. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-guides-configurator/snk-dynaform-guides-configurator.css +80 -0
  69. package/dist/collection/components/snk-dynaform-form-config/snk-dynaform-guides-configurator/snk-dynaform-guides-configurator.js +326 -0
  70. package/dist/collection/components/snk-grid/snk-grid.css +4 -2
  71. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +11 -1
  72. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +22 -4
  73. package/dist/components/dataunit-fetcher.js +11 -1
  74. package/dist/components/form-config-fetcher.js +22 -4
  75. package/dist/components/index.d.ts +12 -0
  76. package/dist/components/index.js +12 -0
  77. package/dist/components/snk-crud.js +1 -212
  78. package/dist/components/snk-dynaform-config-header.d.ts +11 -0
  79. package/dist/components/snk-dynaform-config-header.js +6 -0
  80. package/dist/components/snk-dynaform-config-header2.js +103 -0
  81. package/dist/components/snk-dynaform-configs-button.d.ts +11 -0
  82. package/dist/components/snk-dynaform-configs-button.js +6 -0
  83. package/dist/components/snk-dynaform-configs-button2.js +76 -0
  84. package/dist/components/snk-dynaform-detail-view.d.ts +11 -0
  85. package/dist/components/snk-dynaform-detail-view.js +6 -0
  86. package/dist/components/snk-dynaform-detail-view2.js +1835 -0
  87. package/dist/components/snk-dynaform-field-config.d.ts +11 -0
  88. package/dist/components/snk-dynaform-field-config.js +6 -0
  89. package/dist/components/snk-dynaform-field-config2.js +605 -0
  90. package/dist/components/snk-dynaform-field-item.d.ts +11 -0
  91. package/dist/components/snk-dynaform-field-item.js +6 -0
  92. package/dist/components/snk-dynaform-field-item2.js +96 -0
  93. package/dist/components/snk-dynaform-fields-layout.d.ts +11 -0
  94. package/dist/components/snk-dynaform-fields-layout.js +6 -0
  95. package/dist/components/snk-dynaform-fields-layout2.js +428 -0
  96. package/dist/components/snk-dynaform-fields-selector.d.ts +11 -0
  97. package/dist/components/snk-dynaform-fields-selector.js +6 -0
  98. package/dist/components/snk-dynaform-fields-selector2.js +104 -0
  99. package/dist/components/snk-dynaform-form-config.d.ts +11 -0
  100. package/dist/components/snk-dynaform-form-config.js +6 -0
  101. package/dist/components/snk-dynaform-form-config2.js +430 -0
  102. package/dist/components/snk-dynaform-form-view.d.ts +11 -0
  103. package/dist/components/snk-dynaform-form-view.js +6 -0
  104. package/dist/components/snk-dynaform-form-view2.js +270 -0
  105. package/dist/components/snk-dynaform-guides-configurator.d.ts +11 -0
  106. package/dist/components/snk-dynaform-guides-configurator.js +6 -0
  107. package/dist/components/snk-dynaform-guides-configurator2.js +173 -0
  108. package/dist/components/snk-dynaform-guides-view.d.ts +11 -0
  109. package/dist/components/snk-dynaform-guides-view.js +6 -0
  110. package/dist/components/snk-dynaform.d.ts +11 -0
  111. package/dist/components/snk-dynaform.js +1003 -0
  112. package/dist/components/snk-grid2.js +1 -1
  113. package/dist/components/taskbarUtils.js +224 -0
  114. package/dist/esm/{ConfigStorage-76872695.js → ConfigStorage-e834d1ea.js} +2 -2
  115. package/dist/esm/{DataFetcher-e60f8d53.js → DataFetcher-5ed0a377.js} +2830 -3
  116. package/dist/esm/FormConfigHelper-efc29480.js +328 -0
  117. package/dist/esm/{ISave-4929c071.js → ISave-5b46d691.js} +1 -1
  118. package/dist/esm/{PersonalizedFilterUtils-d2439a9a.js → PersonalizedFilterUtils-45b5803c.js} +49 -2
  119. package/dist/esm/{SnkFormConfigManager-83f6b22f.js → SnkFormConfigManager-bfd575c2.js} +2 -2
  120. package/dist/esm/{SnkMultiSelectionListDataSource-18abafb1.js → SnkMultiSelectionListDataSource-22b50dd6.js} +4 -4
  121. package/dist/esm/{auth-fetcher-1a31c1e4.js → auth-fetcher-5283045d.js} +1 -1
  122. package/dist/esm/{dataunit-fetcher-c176e002.js → dataunit-fetcher-2200fdd6.js} +12 -3
  123. package/dist/esm/{filter-type.enum-f6a8fe23.js → filter-type.enum-62b7fe88.js} +8 -1
  124. package/dist/esm/{form-config-fetcher-b44b2727.js → form-config-fetcher-db1bf140.js} +23 -5
  125. package/dist/esm/index-04f73a26.js +24 -36
  126. package/dist/esm/loader.js +1 -1
  127. package/dist/esm/pesquisa-grid_2.entry.js +4 -5
  128. package/dist/esm/sankhyablocks.js +1 -1
  129. package/dist/esm/snk-actions-button_9.entry.js +5 -6
  130. package/dist/esm/snk-application.entry.js +6 -7
  131. package/dist/esm/snk-attach_11.entry.js +2936 -0
  132. package/dist/esm/snk-crud.entry.js +6 -218
  133. package/dist/esm/snk-data-exporter.entry.js +5 -6
  134. package/dist/esm/{snk-data-unit-d8cfa950.js → snk-data-unit-e8bd4143.js} +2 -2
  135. package/dist/esm/snk-data-unit.entry.js +3 -4
  136. package/dist/esm/snk-detail-view.entry.js +7 -8
  137. package/dist/esm/snk-dynaform-config-header_5.entry.js +731 -0
  138. package/dist/esm/snk-dynaform-detail-view_2.entry.js +933 -0
  139. package/dist/esm/snk-dynaform-field-config_2.entry.js +322 -0
  140. package/dist/esm/snk-dynaform-guides-view-1f1455d6.js +744 -0
  141. package/dist/esm/snk-dynaform-guides-view.entry.js +15 -0
  142. package/dist/esm/snk-dynaform.entry.js +671 -0
  143. package/dist/esm/{snk-expression-group_2.entry.js → snk-expression-group_4.entry.js} +405 -4
  144. package/dist/esm/snk-filter-bar_4.entry.js +5 -8
  145. package/dist/esm/snk-form_2.entry.js +4 -5
  146. package/dist/esm/snk-grid.entry.js +7 -8
  147. package/dist/esm/{snk-guides-viewer-adf39ea2.js → snk-guides-viewer-95fefcaa.js} +1 -1
  148. package/dist/esm/snk-guides-viewer.entry.js +5 -6
  149. package/dist/esm/snk-layout-form-config.entry.js +4 -5
  150. package/dist/esm/snk-pesquisa.entry.js +4 -5
  151. package/dist/esm/taskbarUtils-682ca78c.js +225 -0
  152. package/dist/sankhyablocks/p-06b6c284.entry.js +1 -0
  153. package/dist/sankhyablocks/p-09e2255b.entry.js +1 -0
  154. package/dist/sankhyablocks/p-0dbd53d9.js +1 -0
  155. package/dist/sankhyablocks/{p-5c250661.js → p-1a04f537.js} +1 -1
  156. package/dist/sankhyablocks/{p-ab5e12fa.js → p-1cc4cf61.js} +1 -1
  157. package/dist/sankhyablocks/{p-f5ad0720.js → p-2040953e.js} +1 -1
  158. package/dist/sankhyablocks/p-22ddc1a5.entry.js +1 -0
  159. package/dist/sankhyablocks/p-24b059ee.entry.js +1 -0
  160. package/dist/sankhyablocks/p-2b581179.entry.js +1 -0
  161. package/dist/sankhyablocks/p-449dfe55.entry.js +1 -0
  162. package/dist/sankhyablocks/p-451b5bcc.entry.js +1 -0
  163. package/dist/sankhyablocks/p-46d7e2de.js +1 -0
  164. package/dist/sankhyablocks/{p-3c990841.js → p-51e853f2.js} +1 -1
  165. package/dist/sankhyablocks/p-51f1485c.entry.js +1 -0
  166. package/dist/sankhyablocks/p-58709cf9.js +1 -0
  167. package/dist/sankhyablocks/p-589016e2.entry.js +1 -0
  168. package/dist/sankhyablocks/p-5c6eede7.js +60 -0
  169. package/dist/sankhyablocks/p-5d02c032.js +1 -0
  170. package/dist/sankhyablocks/p-5d50f59a.entry.js +1 -0
  171. package/dist/sankhyablocks/p-670c43e3.entry.js +1 -0
  172. package/dist/sankhyablocks/{p-b1bb4cf1.js → p-70c2ee5c.js} +1 -1
  173. package/dist/sankhyablocks/p-77c26de0.js +1 -0
  174. package/dist/sankhyablocks/p-92c71225.entry.js +1 -0
  175. package/dist/sankhyablocks/p-9c89a76a.entry.js +1 -0
  176. package/dist/sankhyablocks/{p-4f7adf97.js → p-b1bf9564.js} +1 -1
  177. package/dist/sankhyablocks/p-c538bd6c.entry.js +1 -0
  178. package/dist/sankhyablocks/p-ccd61eb8.entry.js +1 -0
  179. package/dist/sankhyablocks/{p-3704bf1b.js → p-d5810110.js} +1 -1
  180. package/dist/sankhyablocks/p-d88278f8.js +28 -0
  181. package/dist/sankhyablocks/p-dc45e9e5.entry.js +1 -0
  182. package/dist/sankhyablocks/{p-8fe740b7.entry.js → p-dc83c70f.entry.js} +2 -2
  183. package/dist/sankhyablocks/p-e5362a5c.js +1 -0
  184. package/dist/sankhyablocks/p-edd44079.entry.js +1 -0
  185. package/dist/sankhyablocks/p-eff38390.entry.js +1 -0
  186. package/dist/sankhyablocks/p-ff28e5e4.entry.js +1 -0
  187. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  188. package/dist/types/components/snk-dynaform/interfaces/PropsCustomEditor.d.ts +4 -0
  189. package/dist/types/components/snk-dynaform/interfaces/PropsCustomRender.d.ts +4 -0
  190. package/dist/types/components/snk-dynaform/subcomponents/CardFormResizeObserver.d.ts +1 -0
  191. package/dist/types/components/snk-dynaform/subcomponents/GuideBuilder.d.ts +14 -0
  192. package/dist/types/components/snk-dynaform/subcomponents/snk-dynaform-detail-view/snk-dynaform-detail-view.d.ts +158 -0
  193. package/dist/types/components/snk-dynaform/subcomponents/snk-dynaform-form-view/snk-dynaform-form-view.d.ts +107 -0
  194. package/dist/types/components/snk-dynaform-form-config/FormConfigHelper.d.ts +36 -0
  195. package/dist/types/components/snk-dynaform-form-config/SnkFormConfigManager.d.ts +35 -0
  196. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-config-header.d.ts +23 -0
  197. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-config-header/snk-dynaform-configs-button/snk-dynaform-configs-button.d.ts +19 -0
  198. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-field-item/snk-dynaform-field-config/snk-dynaform-field-config.d.ts +56 -0
  199. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-fields-layout/snk-dynaform-fields-layout.d.ts +74 -0
  200. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-fields-selector/snk-dynaform-fields-selector.d.ts +21 -0
  201. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-form-config.d.ts +95 -0
  202. package/dist/types/components/snk-dynaform-form-config/snk-dynaform-guides-configurator/snk-dynaform-guides-configurator.d.ts +35 -0
  203. package/dist/types/components.d.ts +2403 -1322
  204. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +1 -0
  205. package/package.json +5 -1
  206. package/react/components.d.ts +12 -0
  207. package/react/components.js +12 -0
  208. package/react/components.js.map +1 -1
  209. package/dist/cjs/SnkMessageBuilder-a9300ebe.js +0 -2833
  210. package/dist/cjs/default-filters-a09bf82b.js +0 -8
  211. package/dist/cjs/index-62760a9c.js +0 -49
  212. package/dist/cjs/index-8d94b7e0.js +0 -7
  213. package/dist/cjs/snk-attach.cjs.entry.js +0 -948
  214. package/dist/cjs/snk-default-filter.cjs.entry.js +0 -77
  215. package/dist/cjs/snk-filter-advanced-mode_3.cjs.entry.js +0 -99
  216. package/dist/cjs/snk-filter-detail.cjs.entry.js +0 -198
  217. package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +0 -408
  218. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +0 -109
  219. package/dist/cjs/snk-image-input.cjs.entry.js +0 -160
  220. package/dist/cjs/snk-personalized-filter.cjs.entry.js +0 -358
  221. package/dist/cjs/snk-simple-crud.cjs.entry.js +0 -865
  222. package/dist/esm/SnkMessageBuilder-1eb7a1af.js +0 -2831
  223. package/dist/esm/default-filters-50105e43.js +0 -8
  224. package/dist/esm/index-620ac460.js +0 -7
  225. package/dist/esm/index-8acbae97.js +0 -49
  226. package/dist/esm/snk-attach.entry.js +0 -944
  227. package/dist/esm/snk-default-filter.entry.js +0 -73
  228. package/dist/esm/snk-filter-advanced-mode_3.entry.js +0 -93
  229. package/dist/esm/snk-filter-detail.entry.js +0 -194
  230. package/dist/esm/snk-filter-field-search_2.entry.js +0 -403
  231. package/dist/esm/snk-filter-modal-item.entry.js +0 -105
  232. package/dist/esm/snk-image-input.entry.js +0 -156
  233. package/dist/esm/snk-personalized-filter.entry.js +0 -354
  234. package/dist/esm/snk-simple-crud.entry.js +0 -861
  235. package/dist/sankhyablocks/p-0a4cdcde.entry.js +0 -1
  236. package/dist/sankhyablocks/p-0afc64df.entry.js +0 -1
  237. package/dist/sankhyablocks/p-10f27dc6.entry.js +0 -1
  238. package/dist/sankhyablocks/p-20f03230.entry.js +0 -1
  239. package/dist/sankhyablocks/p-2af8aca3.js +0 -1
  240. package/dist/sankhyablocks/p-3870748a.js +0 -28
  241. package/dist/sankhyablocks/p-3d294185.entry.js +0 -1
  242. package/dist/sankhyablocks/p-438a225f.entry.js +0 -1
  243. package/dist/sankhyablocks/p-4d04bc75.entry.js +0 -1
  244. package/dist/sankhyablocks/p-554c0e54.js +0 -1
  245. package/dist/sankhyablocks/p-57c184a2.entry.js +0 -1
  246. package/dist/sankhyablocks/p-68c1a093.js +0 -1
  247. package/dist/sankhyablocks/p-6a4b21dd.js +0 -1
  248. package/dist/sankhyablocks/p-6ae7543b.entry.js +0 -1
  249. package/dist/sankhyablocks/p-6e278003.js +0 -60
  250. package/dist/sankhyablocks/p-82bcb4cf.entry.js +0 -1
  251. package/dist/sankhyablocks/p-84345e7a.js +0 -1
  252. package/dist/sankhyablocks/p-95af0bb1.entry.js +0 -1
  253. package/dist/sankhyablocks/p-a905712a.entry.js +0 -1
  254. package/dist/sankhyablocks/p-aff2d081.entry.js +0 -1
  255. package/dist/sankhyablocks/p-b0a357b4.entry.js +0 -1
  256. package/dist/sankhyablocks/p-b568c1d4.js +0 -1
  257. package/dist/sankhyablocks/p-bab4cde4.entry.js +0 -1
  258. package/dist/sankhyablocks/p-bd3c1aaa.entry.js +0 -1
  259. package/dist/sankhyablocks/p-cc64239c.entry.js +0 -1
  260. package/dist/sankhyablocks/p-cd00a3d1.entry.js +0 -1
  261. package/dist/sankhyablocks/p-d9ec8c4b.entry.js +0 -1
  262. package/dist/sankhyablocks/p-dbdbb77a.entry.js +0 -1
  263. package/dist/sankhyablocks/p-e8df1dea.entry.js +0 -1
  264. package/dist/sankhyablocks/p-ef9343c3.entry.js +0 -1
  265. package/dist/sankhyablocks/p-f4184ce7.js +0 -1
@@ -0,0 +1,675 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-1894343a.js');
6
+ const core = require('@sankhyalabs/core');
7
+ const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
+ require('./DataFetcher-b3a8075d.js');
9
+ require('./ISave-4674c283.js');
10
+ const index$1 = require('./index-e3e39724.js');
11
+ require('@sankhyalabs/ezui/dist/collection/utils/constants');
12
+ require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
13
+ require('./dataunit-fetcher-c7e66f0d.js');
14
+ require('./filter-item-type.enum-a7ffdaa6.js');
15
+ require('./form-config-fetcher-f80dbc3b.js');
16
+ const constants = require('./constants-6d82e405.js');
17
+ const authFetcher = require('./auth-fetcher-0ecc53ff.js');
18
+ const ContinuousInsertUtils = require('./ContinuousInsertUtils-1ae0c6ac.js');
19
+ const taskbarUtils = require('./taskbarUtils-383c596e.js');
20
+ const filterValidate = require('./filter-validate-cb4ed41a.js');
21
+ const ServicesNumberingConfig = require('./ServicesNumberingConfig-69038a0f.js');
22
+ const taskbarElements = require('./taskbar-elements-80eddec8.js');
23
+ require('./PrintUtils-bcaeb82f.js');
24
+ require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
25
+ require('@sankhyalabs/core/dist/utils/SortingUtils');
26
+ require('./ResourceIDUtils-5ff86aa7.js');
27
+ require('./index-f0fe7e6e.js');
28
+
29
+ const snkDynaformCss = ".sc-snk-dynaform-h{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;scrollbar-gutter:stable both-edges}snk-grid.sc-snk-dynaform{--snk-grid-padding:0 var(--space--6, 6px) var(--space--6, 6px) var(--space--6, 6px)}ez-view-stack.sc-snk-dynaform{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}stack-item.sc-snk-dynaform.sc-snk-dynaform{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}stack-item.sc-snk-dynaform.sc-snk-dynaform>snk-dynaform-guides-view.sc-snk-dynaform{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.snk-crud__header.sc-snk-dynaform{margin-bottom:var(--space--10, 10px)}.snk-crud__grid-stack-item.sc-snk-dynaform{display:flex;flex-direction:column;height:100%;width:100%;padding:0 var(--space--2, 2px)}.snk-crud__header-top.sc-snk-dynaform{display:flex;justify-content:space-between;align-items:center;padding:var(--space--8, 8px);padding-top:var(--space--12, 12px)}.snk-crud--hidden.sc-snk-dynaform{display:none !important}ez-record-navigation.sc-snk-dynaform,ez-grid-pagination.sc-snk-dynaform{margin-bottom:var(--space--8, 8px)}";
30
+
31
+ const SnkDynaform = class {
32
+ constructor(hostRef) {
33
+ index.registerInstance(this, hostRef);
34
+ this.snkShowGuide = index.createEvent(this, "snkShowGuide", 7);
35
+ this.actionClick = index.createEvent(this, "actionClick", 7);
36
+ this.configuratorSave = index.createEvent(this, "configuratorSave", 7);
37
+ this.configuratorCancel = index.createEvent(this, "configuratorCancel", 7);
38
+ this.formItemsReady = index.createEvent(this, "formItemsReady", 7);
39
+ this.viewModeChanged = index.createEvent(this, "viewModeChanged", 7);
40
+ this.numberingConfigChanged = index.createEvent(this, "numberingConfigChanged", 7);
41
+ this._viewHistory = [];
42
+ this._customEditors = new Map();
43
+ this._customRenders = new Map();
44
+ this._taskbarProcessor = new taskbarUtils.SimpleTaskbarProcessor(taskbarUtils.DEFAULT_TASKBAR_BUTTONS);
45
+ this._taskbarCustomProcessor = new taskbarUtils.SimpleTaskbarProcessor([]);
46
+ this.dataUnitInterceptor = {
47
+ interceptAction: async (action) => {
48
+ var _a;
49
+ switch (action.type) {
50
+ case core.Action.DATA_SAVED:
51
+ return this.interceptDataSaved(action);
52
+ case core.Action.LOADING_DATA:
53
+ return (_a = await this.interceptLoadData(action)) !== null && _a !== void 0 ? _a : new core.DataUnitAction(core.Action.INVALIDATE_CLEAN);
54
+ default:
55
+ return action;
56
+ }
57
+ },
58
+ };
59
+ this._dataUnit = undefined;
60
+ this._dataState = undefined;
61
+ this.attachmentRegisterKey = undefined;
62
+ this._currentViewMode = constants.VIEW_MODE.GRID;
63
+ this._canEdit = undefined;
64
+ this._resourceID = undefined;
65
+ this.customContainerId = `SNK-CRUD-CUSTOM-CONTAINER-${core.StringUtils.generateUUID()}`;
66
+ this.numberingConfig = undefined;
67
+ this._filterMode = 'regular';
68
+ this._enableContinuousInsert = false;
69
+ this._headerVisible = true;
70
+ this.enableLockManagerLoadingComp = false;
71
+ this.enableLockManagerTaskbarClick = false;
72
+ this.configName = undefined;
73
+ this.filterBarTitle = undefined;
74
+ this.selectionToastConfig = undefined;
75
+ this.showActionButtons = true;
76
+ this.actionsList = undefined;
77
+ this.taskbarManager = undefined;
78
+ this.recordsValidator = undefined;
79
+ this.statusResolver = undefined;
80
+ this.multipleSelection = true;
81
+ this.presentationMode = index$1.PresentationMode.PRIMARY;
82
+ this.messagesBuilder = undefined;
83
+ this.useEnterLikeTab = false;
84
+ this.gridLegacyConfigName = undefined;
85
+ this.filterBarLegacyConfigName = undefined;
86
+ this.formLegacyConfigName = undefined;
87
+ this.disablePersonalizedFilter = undefined;
88
+ this.autoLoad = undefined;
89
+ this.autoFocus = true;
90
+ this.enableGridInsert = false;
91
+ this.domainMessagesBuilder = undefined;
92
+ this.ignoreReadOnlyFormFields = undefined;
93
+ this.setCustomFormTitle = undefined;
94
+ this.strategyExporter = index$1.ExporterStrategy.SERVER_SIDE;
95
+ this.layoutFormConfig = true;
96
+ this.multipleEditionEnabled = true;
97
+ this.paginationCounterMode = 'auto';
98
+ this.customGuidesConfig = [];
99
+ this.showEntitySearch = true;
100
+ this.disableNumberingConfig = false;
101
+ }
102
+ handleActionClick(evt) {
103
+ this.executeAction(evt.detail);
104
+ }
105
+ /**
106
+ * Usado para alternar a visão entre GRID e FORM externamente.
107
+ */
108
+ async goToView(mode) {
109
+ this.executeAction(mode);
110
+ }
111
+ /**
112
+ * Usado para abrir o configurator do CRUD
113
+ */
114
+ async openConfigurator() {
115
+ var _a;
116
+ (_a = this._snkConfigurator) === null || _a === void 0 ? void 0 : _a.open();
117
+ }
118
+ /**
119
+ * Usado para fechar o configurator do CRUD
120
+ */
121
+ async closeConfigurator() {
122
+ var _a;
123
+ (_a = this._snkConfigurator) === null || _a === void 0 ? void 0 : _a.close();
124
+ }
125
+ /**
126
+ * Faz o recarregamento da filter-bar do crud, buscando o state no servidor.
127
+ */
128
+ async reloadFilterBar() {
129
+ var _a;
130
+ (_a = this._snkGrid) === null || _a === void 0 ? void 0 : _a.reloadFilterBar();
131
+ }
132
+ /**
133
+ * Retorna o elemento da filter-bar da grade.
134
+ */
135
+ async getFilterBar() {
136
+ var _a;
137
+ return await ((_a = this._snkGrid) === null || _a === void 0 ? void 0 : _a.getFilterBar());
138
+ }
139
+ /**
140
+ * Registra um editor customizado para campos da grade e formulário.
141
+ */
142
+ async addCustomEditor(fieldName, customEditor) {
143
+ if (this._guidesViewer && this._snkGrid) {
144
+ this._guidesViewer.addCustomEditor(fieldName, customEditor);
145
+ this._snkGrid.addCustomEditor(fieldName, customEditor);
146
+ return;
147
+ }
148
+ const newCustomEditors = new Map(this._customEditors);
149
+ newCustomEditors.set(fieldName, customEditor);
150
+ this._customEditors = newCustomEditors;
151
+ }
152
+ /**
153
+ * Registra um render customizado para colunas da grid.
154
+ */
155
+ async addGridCustomRender(fieldName, customRender) {
156
+ if (this._snkGrid) {
157
+ this._snkGrid.addGridCustomRender(fieldName, customRender);
158
+ return;
159
+ }
160
+ const newCustomRenders = new Map(this._customRenders);
161
+ newCustomRenders.set(fieldName, customRender);
162
+ this._customRenders = newCustomRenders;
163
+ }
164
+ /**
165
+ * Registra um formatador de valores para uma coluna da grid.
166
+ */
167
+ async addCustomValueFormatter(columnName, customFormatter) {
168
+ var _a;
169
+ (_a = this._snkGrid) === null || _a === void 0 ? void 0 : _a.addCustomValueFormatter(columnName, customFormatter);
170
+ }
171
+ /**
172
+ * Remove o formatador de valores de uma coluna da grid.
173
+ */
174
+ async removeCustomValueFormatter(columnName) {
175
+ var _a;
176
+ (_a = this._snkGrid) === null || _a === void 0 ? void 0 : _a.removeCustomValueFormatter(columnName);
177
+ }
178
+ /**
179
+ * Altera/adiciona uma propriedade nos metadados do campo.
180
+ */
181
+ async setFieldProp(fieldName, propName, value) {
182
+ var _a;
183
+ await ((_a = this._guidesViewer) === null || _a === void 0 ? void 0 : _a.setFieldProp(fieldName, propName, value));
184
+ }
185
+ /**
186
+ * Retorna a configuração de numeração atual.
187
+ */
188
+ async getNumberingConfig() {
189
+ return this.numberingConfig;
190
+ }
191
+ /**
192
+ * Atualiza a configuração de numeração.
193
+ */
194
+ async updateNumberingConfig(config) {
195
+ this.numberingConfig = config;
196
+ this.applyNumberingConfigToFields();
197
+ }
198
+ currentViewModeWatcher(currentView) {
199
+ this._viewHistory = [...this._viewHistory.slice(-1), currentView];
200
+ }
201
+ async gridToForm(keepFormMode = false) {
202
+ var _a;
203
+ this._backToGrid = !keepFormMode && await ((_a = this._viewStack) === null || _a === void 0 ? void 0 : _a.getSelectedIndex()) === constants.VIEW_MODE.GRID;
204
+ this.setViewMode(constants.VIEW_MODE.FORM);
205
+ }
206
+ async executeAction(act) {
207
+ var _a, _b, _c;
208
+ switch (act) {
209
+ case taskbarElements.TaskbarElement.GRID_MODE:
210
+ return this.setViewMode(constants.VIEW_MODE.GRID);
211
+ case taskbarElements.TaskbarElement.FORM_MODE:
212
+ case taskbarElements.TaskbarElement.UPDATE:
213
+ return this.gridToForm(act !== taskbarElements.TaskbarElement.UPDATE);
214
+ case taskbarElements.TaskbarElement.UPDATE_MULTIPLE:
215
+ if (this._dataUnit) {
216
+ this._dataUnit.isMultipleEdition = true;
217
+ }
218
+ return this.setViewMode(constants.VIEW_MODE.FORM);
219
+ case taskbarElements.TaskbarElement.CONFIGURATOR:
220
+ return (_a = this._snkConfigurator) === null || _a === void 0 ? void 0 : _a.open();
221
+ case taskbarElements.TaskbarElement.ATTACH:
222
+ return (_b = this._snkAttach) === null || _b === void 0 ? void 0 : _b.open();
223
+ case taskbarUtils.CustomTaskbarButton.FILTER:
224
+ return (_c = this._snkFilterBar) === null || _c === void 0 ? void 0 : _c.showFilterModal();
225
+ case taskbarUtils.CustomTaskbarButton.ENTITY_SEARCH:
226
+ return this.openSearchPopover();
227
+ }
228
+ }
229
+ setViewMode(viewMode) {
230
+ var _a, _b, _c, _d, _e;
231
+ (_a = this._viewStack) === null || _a === void 0 ? void 0 : _a.show(viewMode);
232
+ this._currentViewMode = viewMode;
233
+ if (viewMode === constants.VIEW_MODE.GRID) {
234
+ if (this._dataUnit) {
235
+ this._dataUnit.isMultipleEdition = false;
236
+ }
237
+ (_b = this._snkGrid) === null || _b === void 0 ? void 0 : _b.setFocus();
238
+ }
239
+ else if (viewMode === constants.VIEW_MODE.FORM) {
240
+ (_d = (_c = this._guidesViewer) === null || _c === void 0 ? void 0 : _c.setFocus) === null || _d === void 0 ? void 0 : _d.call(_c);
241
+ }
242
+ (_e = this.viewModeChanged) === null || _e === void 0 ? void 0 : _e.emit(viewMode);
243
+ }
244
+ openConfig(viewMode) {
245
+ var _a, _b, _c, _d, _e, _f;
246
+ (_b = (_a = this._snkConfigurator) === null || _a === void 0 ? void 0 : _a.close) === null || _b === void 0 ? void 0 : _b.call(_a);
247
+ if (viewMode === constants.VIEW_MODE.GRID) {
248
+ (_d = (_c = this._snkGrid).showConfig) === null || _d === void 0 ? void 0 : _d.call(_c);
249
+ }
250
+ else if (viewMode === constants.VIEW_MODE.FORM) {
251
+ (_f = (_e = this._guidesViewer).showFormConfig) === null || _f === void 0 ? void 0 : _f.call(_e);
252
+ }
253
+ }
254
+ addDataElementID() {
255
+ const dataInfo = { dataUnit: this._dataUnit };
256
+ if (this._element) {
257
+ core.ElementIDUtils.addIDInfo(this._element, undefined, dataInfo);
258
+ }
259
+ }
260
+ insertionModeHandler() {
261
+ if (this.enableGridInsert)
262
+ return;
263
+ this.gridToForm();
264
+ }
265
+ cancelHandler() {
266
+ if (this._backToGrid) {
267
+ this.setViewMode(constants.VIEW_MODE.GRID);
268
+ }
269
+ }
270
+ async getAttachmentRegisterKey() {
271
+ if (!this._snkDataUnit) {
272
+ return;
273
+ }
274
+ const recordCriteria = await this._snkDataUnit.getSelectedRecordsIDsInfo();
275
+ const joinedPrimaryKeys = recordCriteria.map(({ value }) => value).join('_');
276
+ return joinedPrimaryKeys;
277
+ }
278
+ setCustomRenders() {
279
+ if (!this._snkGrid) {
280
+ return;
281
+ }
282
+ for (const [fieldName, customRender] of this._customRenders) {
283
+ this._snkGrid.addGridCustomRender(fieldName, customRender);
284
+ this._customRenders.delete(fieldName);
285
+ }
286
+ }
287
+ setCustomEditors() {
288
+ if (!this._snkGrid || !this._guidesViewer) {
289
+ return;
290
+ }
291
+ for (const [fieldName, customEditor] of this._customEditors) {
292
+ this._guidesViewer.addCustomEditor(fieldName, customEditor);
293
+ this._snkGrid.addCustomEditor(fieldName, customEditor);
294
+ this._customEditors.delete(fieldName);
295
+ }
296
+ }
297
+ initializeTaskbarProcessor() {
298
+ if (!this._dataState) {
299
+ return;
300
+ }
301
+ const nativeTaskbarManager = taskbarUtils.buildNativeTaskbarManager(this._currentViewMode, this.taskbarManager, this.messagesBuilder);
302
+ const topTaskbarId = taskbarUtils.getTopTaskBarId(this._dataState, this.presentationMode);
303
+ this._taskbarProcessor.process(topTaskbarId, nativeTaskbarManager, this._dataState, undefined, []);
304
+ const headerTaskbarId = taskbarUtils.getHeaderTaskbarId(this._dataState, this.presentationMode);
305
+ this._taskbarCustomProcessor.process(headerTaskbarId, this.taskbarManager, this._dataState, undefined, []);
306
+ }
307
+ componentWillRender() {
308
+ this.initializeTaskbarProcessor();
309
+ }
310
+ componentDidRender() {
311
+ this.setCustomRenders();
312
+ this.setCustomEditors();
313
+ }
314
+ componentWillLoad() {
315
+ var _a, _b, _c, _d, _e;
316
+ this._application = core.ApplicationContext.getContextValue("__SNK__APPLICATION__");
317
+ let parent = (_a = this._element) === null || _a === void 0 ? void 0 : _a.parentElement;
318
+ (_b = this._application) === null || _b === void 0 ? void 0 : _b.hasAccess(authFetcher.AutorizationType.UPDATE, this._resourceID).then(canEdit => this._canEdit = canEdit);
319
+ while (parent) {
320
+ if (parent.tagName.toUpperCase() === "SNK-DATA-UNIT") {
321
+ this._snkDataUnit = parent;
322
+ this._snkDataUnit.addEventListener("insertionMode", () => this.insertionModeHandler());
323
+ this._snkDataUnit.addEventListener("cancelEdition", () => this.cancelHandler());
324
+ if (this._snkDataUnit && this.domainMessagesBuilder) {
325
+ this._snkDataUnit.domainMessagesBuilder = this.domainMessagesBuilder;
326
+ }
327
+ this._dataUnit = this._snkDataUnit.dataUnit;
328
+ this._dataState = this._snkDataUnit.dataState;
329
+ if (!this._dataUnit) {
330
+ (_c = this._snkDataUnit) === null || _c === void 0 ? void 0 : _c.addEventListener("dataUnitReady", ((evt) => {
331
+ this._dataUnit = evt.detail;
332
+ this.initDataUnit();
333
+ }));
334
+ }
335
+ else {
336
+ this.initDataUnit();
337
+ }
338
+ (_d = this._snkDataUnit) === null || _d === void 0 ? void 0 : _d.addEventListener("dataStateChange", ((evt) => this.handleDataStateChange(evt)));
339
+ break;
340
+ }
341
+ parent = parent.parentElement;
342
+ }
343
+ if (!this.configName) {
344
+ this.configName = (_e = this._application) === null || _e === void 0 ? void 0 : _e.configName;
345
+ }
346
+ this.initContinuousInsertUtils();
347
+ }
348
+ componentDidLoad() {
349
+ this.initKeyboardManager();
350
+ }
351
+ disconnectedCallback() {
352
+ var _a;
353
+ this.removeShortcuts();
354
+ (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.removeInterceptor(this.dataUnitInterceptor);
355
+ }
356
+ async handleDataStateChange(evt) {
357
+ var _a, _b, _c;
358
+ this._dataState = evt.detail;
359
+ if (this._dataState.selectedRecord !== undefined) {
360
+ this.attachmentRegisterKey = (_a = await this.getAttachmentRegisterKey()) !== null && _a !== void 0 ? _a : undefined;
361
+ }
362
+ const fieldsWithRmPrecision = await ((_b = this._snkDataUnit) === null || _b === void 0 ? void 0 : _b.getFieldsWithRmPrecision());
363
+ for (const field of fieldsWithRmPrecision || []) {
364
+ if (!field) {
365
+ continue;
366
+ }
367
+ const rmPrecision = (_c = this._dataState.rowMetadata) === null || _c === void 0 ? void 0 : _c.getProp('rm_precision', field);
368
+ if (!rmPrecision && rmPrecision !== 0) {
369
+ continue;
370
+ }
371
+ await this.setFieldProp(field, 'precision', rmPrecision);
372
+ await this.setFieldProp(field, 'prettyPrecision', rmPrecision);
373
+ }
374
+ }
375
+ async initKeyboardManager() {
376
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
377
+ this._keyboardManager = new core.KeyboardManager({ propagate: false, element: this._element });
378
+ const dataUnit = this._dataUnit || await ((_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.getDataUnit());
379
+ async function saveDataUnitHandlingFocus() {
380
+ const element = document.activeElement;
381
+ const isDocumentBody = (element == document.body);
382
+ if (!isDocumentBody)
383
+ element.blur();
384
+ await (dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.saveData());
385
+ if (!isDocumentBody && element.setFocus != undefined) {
386
+ element.setFocus();
387
+ return;
388
+ }
389
+ if (!isDocumentBody)
390
+ element.focus();
391
+ }
392
+ async function handleAddRecord() {
393
+ if (!(dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.hasNewRecord())) {
394
+ dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.addRecord();
395
+ }
396
+ }
397
+ if (this._keyboardManager) {
398
+ this._keyboardManager
399
+ .bind("F6", this.toggleView.bind(this), { description: (_b = this.getMessage("snkCrud.shortcuts.toggleView")) !== null && _b !== void 0 ? _b : "", element: this._element })
400
+ .bind("F7", saveDataUnitHandlingFocus.bind(this), { description: (_c = this.getMessage("snkCrud.shortcuts.saveData")) !== null && _c !== void 0 ? _c : "", element: this._element })
401
+ .bind("ctrl + \\", saveDataUnitHandlingFocus.bind(this), { description: (_d = this.getMessage("snkCrud.shortcuts.addRecord")) !== null && _d !== void 0 ? _d : "", element: this._element })
402
+ .bind("F8", handleAddRecord.bind(this), { description: (_e = this.getMessage("snkCrud.shortcuts.addRecord")) !== null && _e !== void 0 ? _e : "", element: this._element })
403
+ .bind("F9", dataUnit ? (_f = dataUnit.removeSelectedRecords) === null || _f === void 0 ? void 0 : _f.bind(dataUnit) : () => { }, { description: (_g = this.getMessage("snkCrud.shortcuts.removeRecord")) !== null && _g !== void 0 ? _g : "", element: this._element })
404
+ .bind("ctrl + F9", dataUnit ? dataUnit.removeSelectedRecords.bind(dataUnit) : () => { }, { description: (_h = this.getMessage("snkCrud.shortcuts.removeRecord")) !== null && _h !== void 0 ? _h : "", element: this._element })
405
+ .bind("F5", async () => {
406
+ var _a;
407
+ const currentView = await ((_a = this._viewStack) === null || _a === void 0 ? void 0 : _a.getSelectedIndex());
408
+ if (constants.VIEW_MODE.GRID === currentView) {
409
+ dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.loadData();
410
+ }
411
+ }, { description: (_j = this.getMessage("snkCrud.shortcuts.refreshData")) !== null && _j !== void 0 ? _j : "", element: this._element })
412
+ .bind("Escape", () => {
413
+ if (dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.isDirty()) {
414
+ dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.cancelEdition();
415
+ }
416
+ }, {
417
+ debounceTime: 1000,
418
+ description: (_k = this.getMessage("snkCrud.shortcuts.cancelAction")) !== null && _k !== void 0 ? _k : "", element: this._element
419
+ });
420
+ }
421
+ }
422
+ getMessage(key, params) {
423
+ if (this.messagesBuilder)
424
+ return this.messagesBuilder.getMessage(key, params);
425
+ return undefined;
426
+ }
427
+ async removeShortcuts() {
428
+ var _a;
429
+ (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
430
+ }
431
+ async toggleView() {
432
+ var _a;
433
+ const currentView = await ((_a = this._viewStack) === null || _a === void 0 ? void 0 : _a.getSelectedIndex());
434
+ this.setViewMode(constants.VIEW_MODE.GRID === currentView ? constants.VIEW_MODE.FORM : constants.VIEW_MODE.GRID);
435
+ }
436
+ getLastRecordSaved(action) {
437
+ var _a;
438
+ if ((_a = action.payload) === null || _a === void 0 ? void 0 : _a.records.length) {
439
+ return action.payload.records[action.payload.records.length - 1];
440
+ }
441
+ return null;
442
+ }
443
+ async saveNumberingConfig() {
444
+ if (!this._snkDataUnit || !this.numberingConfig || !this._servicesNumberingConfig) {
445
+ return;
446
+ }
447
+ const payload = {
448
+ entityName: this._snkDataUnit.entityName,
449
+ isAutoNum: this.numberingConfig.isAutoNumbering,
450
+ numInicial: this.numberingConfig.initialNumber
451
+ };
452
+ await this._servicesNumberingConfig.saveConfig(payload);
453
+ }
454
+ updateNumberingConfigAfterInsert(action) {
455
+ var _a, _b, _c;
456
+ if (!((_a = action.payload) === null || _a === void 0 ? void 0 : _a.changes.length) || this.disableNumberingConfig || !((_b = this.numberingConfig) === null || _b === void 0 ? void 0 : _b.isAutoNumbering) || !this._fieldAutoNum) {
457
+ return action;
458
+ }
459
+ if (!action.payload.changes.some((change) => change.operation === 'INSERT' || change.operation === 'COPY')) {
460
+ return action;
461
+ }
462
+ const lastRecord = this.getLastRecordSaved(action);
463
+ if (lastRecord && lastRecord.hasOwnProperty(this._fieldAutoNum)) {
464
+ const currentNumber = Number(lastRecord[this._fieldAutoNum]);
465
+ this.numberingConfig.initialNumber = currentNumber;
466
+ this.saveNumberingConfig();
467
+ }
468
+ else {
469
+ this.numberingConfig.initialNumber = this.numberingConfig.initialNumber + 1;
470
+ }
471
+ (_c = this.numberingConfigChanged) === null || _c === void 0 ? void 0 : _c.emit(this.numberingConfig);
472
+ return action;
473
+ }
474
+ interceptDataSaved(action) {
475
+ this.updateNumberingConfigAfterInsert(action);
476
+ return action;
477
+ }
478
+ async interceptLoadData(action) {
479
+ var _a, _b, _c, _d, _e, _f, _g;
480
+ const hasInvalidFilters = !filterValidate.validateFilters((_b = (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.filterConfig) !== null && _b !== void 0 ? _b : []);
481
+ if (hasInvalidFilters) {
482
+ const errorTitle = (_d = (_c = this.messagesBuilder) === null || _c === void 0 ? void 0 : _c.getMessage("snkGrid.requiredFiltersNotFilled.title", {})) !== null && _d !== void 0 ? _d : "";
483
+ const errorMessage = (_f = (_e = this.messagesBuilder) === null || _e === void 0 ? void 0 : _e.getMessage("snkGrid.requiredFiltersNotFilled.message", {})) !== null && _f !== void 0 ? _f : "";
484
+ await ((_g = this._application) === null || _g === void 0 ? void 0 : _g.error(errorTitle, errorMessage));
485
+ return;
486
+ }
487
+ return action;
488
+ }
489
+ onDataUnitReady() {
490
+ var _a;
491
+ (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.addInterceptor(this.dataUnitInterceptor);
492
+ this.loadNumberingConfig();
493
+ }
494
+ async initDataUnit() {
495
+ var _a, _b, _c;
496
+ this.addDataElementID();
497
+ if (!this.messagesBuilder) {
498
+ this.messagesBuilder = (_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.messagesBuilder;
499
+ }
500
+ if (this._resourceID == undefined) {
501
+ //Tenta pegar o resourceID do snkDataUnit;
502
+ this._resourceID = (_b = this._snkDataUnit) === null || _b === void 0 ? void 0 : _b.resourceID;
503
+ if (this._resourceID == undefined) {
504
+ this._resourceID = await ((_c = this._application) === null || _c === void 0 ? void 0 : _c.getResourceID());
505
+ }
506
+ }
507
+ this.onDataUnitReady();
508
+ }
509
+ initContinuousInsertUtils() {
510
+ if (!this._application || !this._resourceID) {
511
+ return;
512
+ }
513
+ this._continuousInsertUtils = new ContinuousInsertUtils.ContinuousInsertUtils(this._application, this._resourceID, this.configName);
514
+ if (this.enableGridInsert) {
515
+ this._continuousInsertUtils.getConfig().then(value => this._enableContinuousInsert = value);
516
+ }
517
+ }
518
+ async loadNumberingConfig() {
519
+ if (this.numberingConfig || !this._snkDataUnit || !this._snkDataUnit.entityName || this.disableNumberingConfig || !this._application) {
520
+ return;
521
+ }
522
+ if (!this._servicesNumberingConfig) {
523
+ this._servicesNumberingConfig = new ServicesNumberingConfig.ServicesNumberingConfig(this._application, this._resourceID);
524
+ }
525
+ try {
526
+ this.numberingConfig = await this._servicesNumberingConfig.getConfig(this._snkDataUnit.entityName);
527
+ this.getFieldAutoNum();
528
+ this.applyNumberingConfigToFields();
529
+ }
530
+ catch (error) {
531
+ console.error("Error loading numbering config in snk-crud:", error);
532
+ this.numberingConfig = {
533
+ isAutoNumbering: false,
534
+ initialNumber: NaN
535
+ };
536
+ }
537
+ }
538
+ getFieldAutoNum() {
539
+ var _a;
540
+ if (this._fieldAutoNum) {
541
+ return;
542
+ }
543
+ const fieldAutoNum = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.metadata.fields.find((field) => { var _a; return ((_a = field.properties) === null || _a === void 0 ? void 0 : _a["isAutoNumField"]) === "true"; });
544
+ this._fieldAutoNum = (fieldAutoNum === null || fieldAutoNum === void 0 ? void 0 : fieldAutoNum.name) || null;
545
+ }
546
+ async applyNumberingConfigToFields() {
547
+ var _a;
548
+ if (!this.numberingConfig || !this._snkDataUnit || !this._fieldAutoNum) {
549
+ return;
550
+ }
551
+ const field = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getField(this._fieldAutoNum);
552
+ if (!field) {
553
+ return;
554
+ }
555
+ field.readOnly = this.numberingConfig.isAutoNumbering;
556
+ field.required = !this.numberingConfig.isAutoNumbering;
557
+ }
558
+ handleConfiguratorEvent(evt, type) {
559
+ var _a, _b, _c;
560
+ evt.stopImmediatePropagation();
561
+ if (type === 'SAVE') {
562
+ (_a = this._guidesViewer) === null || _a === void 0 ? void 0 : _a.reloadGuides();
563
+ (_b = this.configuratorSave) === null || _b === void 0 ? void 0 : _b.emit();
564
+ return;
565
+ }
566
+ (_c = this.configuratorCancel) === null || _c === void 0 ? void 0 : _c.emit();
567
+ }
568
+ renderCustomGuideSlots() {
569
+ if (!this.customGuidesConfig)
570
+ return;
571
+ return this.customGuidesConfig.map(g => index.h("slot", { name: g.id }));
572
+ }
573
+ getColumnSearch(item) {
574
+ if (this._columnSearch != undefined) {
575
+ return this._columnSearch;
576
+ }
577
+ this._columnSearch = utils.buildFieldSearch(item, ({ argument }) => new Promise(accept => {
578
+ var _a;
579
+ (_a = this._snkGrid) === null || _a === void 0 ? void 0 : _a.filterColumns(argument).then((columns) => {
580
+ accept(columns
581
+ .filter(column => !column.hidden)
582
+ .map(column => ({ label: column.label, value: column.name })));
583
+ });
584
+ }), (option) => {
585
+ var _a;
586
+ if (option != undefined) {
587
+ (_a = this._snkGrid) === null || _a === void 0 ? void 0 : _a.locateColumn(option.value);
588
+ }
589
+ });
590
+ return this._columnSearch;
591
+ }
592
+ buildTaskbarCustomActionsList() {
593
+ return [this.buildSearchColumnTaskbarAction()];
594
+ }
595
+ buildSearchColumnTaskbarAction() {
596
+ var _a, _b;
597
+ return {
598
+ value: core.StringUtils.generateUUID(),
599
+ label: (_b = (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage('snkGrid.findColumn', {})) !== null && _b !== void 0 ? _b : "",
600
+ disableCloseOnSelect: true,
601
+ eagerInitialize: true,
602
+ itemBuilder: (_, item) => { var _a; return (_a = this.getColumnSearch(item)) !== null && _a !== void 0 ? _a : document.createElement('div'); },
603
+ };
604
+ }
605
+ isGridInsertActive() {
606
+ var _a;
607
+ return this.enableGridInsert && ((_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.hasNewRecord());
608
+ }
609
+ getActionsList() {
610
+ var _a, _b;
611
+ const hardList = [];
612
+ if (this.enableGridInsert && this._continuousInsertUtils) {
613
+ hardList.push(this._continuousInsertUtils.actionContinuousInsert(this._enableContinuousInsert, () => {
614
+ var _a;
615
+ this._enableContinuousInsert = !this._enableContinuousInsert;
616
+ (_a = this._continuousInsertUtils) === null || _a === void 0 ? void 0 : _a.handleSaveConfig(this._enableContinuousInsert);
617
+ }));
618
+ }
619
+ if (this.isGridInsertActive()) {
620
+ return hardList;
621
+ }
622
+ if (this._dataState && this.actionsList && this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
623
+ const taskbarID = taskbarUtils.getTopTaskBarId(this._dataState, this.presentationMode);
624
+ return hardList.concat(this.taskbarManager.getMoreOptions(taskbarID, (_a = this.configName) !== null && _a !== void 0 ? _a : "", this._dataState, this.actionsList));
625
+ }
626
+ return hardList.concat((_b = this.actionsList) !== null && _b !== void 0 ? _b : []);
627
+ }
628
+ async openSearchPopover() {
629
+ var _a;
630
+ if (!this._popoverSearchEntity) {
631
+ return;
632
+ }
633
+ const buttonElement = (_a = this._element) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-taskbar-element="${taskbarUtils.CustomTaskbarButton.ENTITY_SEARCH}"]`);
634
+ await this._popoverSearchEntity.showUnder(buttonElement);
635
+ }
636
+ handleLoadedSearch(evt) {
637
+ var _a;
638
+ if (evt.detail.length === 1) {
639
+ (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.selectFirst();
640
+ this.gridToForm(true);
641
+ }
642
+ }
643
+ renderDynamicSearch() {
644
+ var _a;
645
+ if (!this.showEntitySearch)
646
+ return;
647
+ return (index.h("snk-entity-search", { ref: (ref) => this._popoverSearchEntity = ref, dataUnit: this._dataUnit, entityName: (_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.entityName, messagesBuilder: this.messagesBuilder, onLoaded: (evt) => this.handleLoadedSearch(evt) }));
648
+ }
649
+ handleFilterConfigUpdated(filterConfig) {
650
+ if (!filterConfig.length) {
651
+ return;
652
+ }
653
+ if (filterConfig.length === 1 && filterConfig[0].id === 'PERSONALIZED_FILTER_GROUP') {
654
+ this._filterMode = filterConfig[0].groupedItems.length > 0 ? 'regular' : 'button';
655
+ return;
656
+ }
657
+ }
658
+ render() {
659
+ var _a, _b, _c, _d, _e;
660
+ if (this._resourceID == undefined) {
661
+ return;
662
+ }
663
+ if (this._snkDataUnit) {
664
+ this._snkDataUnit.ignoreSaveMessage = (this._currentViewMode === constants.VIEW_MODE.GRID && !this.enableGridInsert);
665
+ }
666
+ return (index.h(index.Host, null, index.h("header", { class: { 'snk-crud--hidden': !this._headerVisible, 'snk-crud__header': true } }, index.h("div", { class: "snk-crud__header-top" }, index.h("snk-taskbar", { "data-element-id": "grid_top", key: "snkGridTopTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, resourceID: this._resourceID, primaryButton: "INSERT", overflowStrategy: "hiddenItems", alignRigth: true, actionsList: this.getActionsList(), customActionsList: this.buildTaskbarCustomActionsList(), sizeButtons: 'medium' })), index.h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, title: this.filterBarTitle, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this._resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, mode: this._filterMode, hideFilterButton: true, sizeChips: 'default' })), index.h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, index.h("stack-item", { class: 'snk-crud__grid-stack-item' }, index.h("snk-grid", { ref: (ref) => this._snkGrid = ref, class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full', filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, strategyExporter: this.strategyExporter, multipleEditionEnabled: this.multipleEditionEnabled, paginationCounterMode: this.paginationCounterMode, hideHeader: true, hideGridTaskbar: true }, index.h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), index.h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), index.h("slot", { name: "SnkGridHeader" }), index.h("slot", { name: "SnkGridFooter" }), index.h("slot", { name: "SnkGridTaskBar" }))), index.h("stack-item", null, index.h("snk-dynaform-guides-view", { ref: (ref) => this._guidesViewer = ref, customGuidesConfig: this.customGuidesConfig, entityPath: (_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(constants.VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: (evt) => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName, enableGridInsert: this.enableGridInsert, getCustomTitle: this.setCustomFormTitle, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields, onFormConfigVisibilityChanged: evt => this._headerVisible = !evt.detail }, index.h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), this.renderCustomGuideSlots(), index.h("slot", { name: "SnkFormTaskBar" })))), index.h("snk-attach", { ref: (ref) => this._snkAttach = ref, registerKey: (_b = this.attachmentRegisterKey) !== null && _b !== void 0 ? _b : '', messagesBuilder: this.messagesBuilder, entityName: (_d = (_c = this._snkDataUnit) === null || _c === void 0 ? void 0 : _c.entityName) !== null && _d !== void 0 ? _d : '' }), index.h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, entityName: (_e = this._snkDataUnit) === null || _e === void 0 ? void 0 : _e.entityName, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId, layoutFormConfig: this.layoutFormConfig }), this.renderDynamicSearch(), index.h("div", { id: `${this.customContainerId}` }, index.h("slot", { name: "SnkConfigContainerSlot" }), index.h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), index.h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), index.h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
667
+ }
668
+ get _element() { return index.getElement(this); }
669
+ static get watchers() { return {
670
+ "_currentViewMode": ["currentViewModeWatcher"]
671
+ }; }
672
+ };
673
+ SnkDynaform.style = snkDynaformCss;
674
+
675
+ exports.snk_dynaform = SnkDynaform;