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

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