@sankhyalabs/sankhyablocks 8.16.0-dev.113 → 8.16.0-dev.115

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 (344) hide show
  1. package/dist/cjs/{ClientSideExporterProvider-a2753c93.js → ClientSideExporterProvider-0ce2bcd9.js} +2 -2
  2. package/dist/cjs/{ConfigStorage-df09fb78.js → ConfigStorage-48ba265b.js} +45 -17
  3. package/dist/cjs/FormConfigHelper-c664dbae.js +260 -0
  4. package/dist/cjs/{PersonalizedFilterUtils-0184ffbb.js → PersonalizedFilterUtils-7259cf65.js} +1 -1
  5. package/dist/cjs/{SnkFormConfigManager-45a8d7b7.js → SnkFormConfigManager-aa4631bd.js} +3 -4
  6. package/dist/cjs/{SnkMessageBuilder-9deeae08.js → SnkMessageBuilder-e3b7850b.js} +28 -3
  7. package/dist/cjs/config-header.cjs.entry.js +79 -0
  8. package/dist/cjs/configs-button.cjs.entry.js +61 -0
  9. package/dist/cjs/{constants-77c1b8bd.js → constants-6d82e405.js} +8 -38
  10. package/dist/cjs/default-filters-a09bf82b.js +8 -0
  11. package/dist/cjs/field-config_2.cjs.entry.js +324 -0
  12. package/dist/cjs/fields-layout.cjs.entry.js +341 -0
  13. package/dist/cjs/fields-selector.cjs.entry.js +74 -0
  14. package/dist/cjs/{filter-type.enum-b14ce507.js → filter-type.enum-2bb46d2a.js} +1 -0
  15. package/dist/cjs/guides-configurator.cjs.entry.js +164 -0
  16. package/dist/cjs/{index-102ba62d.js → index-0ad2baeb.js} +4 -5
  17. package/dist/cjs/{index-f9e81701.js → index-1cf293c1.js} +32 -10
  18. package/dist/cjs/{index-c5771aba.js → index-62760a9c.js} +5 -0
  19. package/dist/cjs/loader.cjs.js +2 -2
  20. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +2 -2
  21. package/dist/cjs/sankhyablocks.cjs.js +2 -2
  22. package/dist/cjs/snk-actions-button_8.cjs.entry.js +3 -3
  23. package/dist/cjs/snk-actions-form.cjs.entry.js +1 -1
  24. package/dist/cjs/snk-application.cjs.entry.js +4 -4
  25. package/dist/cjs/snk-attach.cjs.entry.js +4 -4
  26. package/dist/cjs/snk-client-confirm.cjs.entry.js +1 -1
  27. package/dist/cjs/snk-configurator.cjs.entry.js +2 -2
  28. package/dist/cjs/snk-crud.cjs.entry.js +4 -4
  29. package/dist/cjs/snk-custom-slot-elements.cjs.entry.js +1 -1
  30. package/dist/cjs/snk-data-exporter.cjs.entry.js +4 -4
  31. package/dist/cjs/{snk-data-unit-57916de4.js → snk-data-unit-3684c96e.js} +2 -2
  32. package/dist/cjs/snk-data-unit.cjs.entry.js +3 -3
  33. package/dist/cjs/snk-default-filter.cjs.entry.js +77 -0
  34. package/dist/cjs/snk-detail-view.cjs.entry.js +8 -8
  35. package/dist/cjs/snk-entity-list.cjs.entry.js +1 -1
  36. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  37. package/dist/cjs/snk-expression-group_2.cjs.entry.js +10 -8
  38. package/dist/cjs/snk-filter-advanced-mode_2.cjs.entry.js +5 -4
  39. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +82 -28
  40. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  41. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  42. package/dist/cjs/snk-filter-detail.cjs.entry.js +3 -3
  43. package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +3 -3
  44. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  45. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +1 -1
  46. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  47. package/dist/cjs/snk-filter-period.cjs.entry.js +1 -1
  48. package/dist/cjs/snk-filter-search.cjs.entry.js +1 -1
  49. package/dist/cjs/snk-filter-text.cjs.entry.js +1 -1
  50. package/dist/cjs/snk-form-summary.cjs.entry.js +1 -1
  51. package/dist/cjs/snk-form-view.cjs.entry.js +1 -1
  52. package/dist/cjs/snk-form_2.cjs.entry.js +433 -0
  53. package/dist/cjs/snk-grid.cjs.entry.js +6 -6
  54. package/dist/cjs/{snk-guides-viewer-d33379cd.js → snk-guides-viewer-edc0a00a.js} +5 -5
  55. package/dist/cjs/snk-guides-viewer.cjs.entry.js +7 -7
  56. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +1 -1
  57. package/dist/cjs/snk-personalized-filter.cjs.entry.js +53 -18
  58. package/dist/cjs/snk-pesquisa.cjs.entry.js +2 -2
  59. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  60. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  61. package/dist/cjs/snk-simple-crud.cjs.entry.js +7 -7
  62. package/dist/cjs/snk-taskbar.cjs.entry.js +3 -3
  63. package/dist/cjs/sortable.esm-9a110bb7.js +2668 -0
  64. package/dist/cjs/{taskbar-elements-6f4e06af.js → taskbar-elements-3b74cd21.js} +2 -2
  65. package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
  66. package/dist/collection/collection-manifest.json +8 -14
  67. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +1 -1
  68. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +80 -12
  69. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-default-filter/snk-default-filter.css +34 -0
  70. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-default-filter/snk-default-filter.js +142 -0
  71. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +24 -15
  72. package/dist/collection/components/snk-filter-bar/types/default-filters.js +6 -0
  73. package/dist/collection/components/snk-filter-bar/types/filter-type.enum.js +1 -0
  74. package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +4 -4
  75. package/dist/collection/components/snk-form-config/FormConfigHelper.js +245 -0
  76. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +4 -5
  77. package/dist/collection/components/snk-form-config/config-header/config-header.css +18 -0
  78. package/dist/collection/components/snk-form-config/config-header/config-header.js +236 -0
  79. package/dist/collection/components/snk-form-config/config-header/configs-button/configs-button.css +41 -0
  80. package/dist/collection/components/snk-form-config/config-header/configs-button/configs-button.js +170 -0
  81. package/dist/collection/components/snk-form-config/field-item/field-config/field-config.css +21 -0
  82. package/dist/collection/components/snk-form-config/field-item/field-config/field-config.js +408 -0
  83. package/dist/collection/components/snk-form-config/field-item/field-item.css +108 -0
  84. package/dist/collection/components/snk-form-config/field-item/field-item.js +206 -0
  85. package/dist/collection/components/snk-form-config/fields-layout/fields-layout.css +133 -0
  86. package/dist/collection/components/snk-form-config/fields-layout/fields-layout.js +578 -0
  87. package/dist/collection/components/snk-form-config/fields-selector/fields-selector.css +38 -0
  88. package/dist/collection/components/snk-form-config/fields-selector/fields-selector.js +146 -0
  89. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.css +132 -0
  90. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.js +317 -0
  91. package/dist/collection/components/snk-form-config/snk-form-config.css +16 -229
  92. package/dist/collection/components/snk-form-config/snk-form-config.js +288 -980
  93. package/dist/collection/components/snk-personalized-filter/interfaces/index.js +5 -0
  94. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +67 -13
  95. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.css +3 -0
  96. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.js +20 -1
  97. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.js +22 -3
  98. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode.js +20 -1
  99. package/dist/collection/lib/configs/ConfigStorage.js +16 -8
  100. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +29 -9
  101. package/dist/collection/lib/message/resources/snk-filter-bar.msg.js +6 -0
  102. package/dist/collection/lib/message/resources/snk-form.msg.js +16 -2
  103. package/dist/collection/lib/message/resources/snk-personalized-filter.msg.js +6 -1
  104. package/dist/collection/lib/utils/constants.js +7 -1
  105. package/dist/components/ConfigStorage.js +45 -17
  106. package/dist/components/PersonalizedFilterUtils.js +6 -1
  107. package/dist/components/SnkFormConfigManager.js +2 -3
  108. package/dist/components/SnkMessageBuilder.js +28 -3
  109. package/dist/components/{snk-tab-config.d.ts → config-header.d.ts} +4 -4
  110. package/dist/components/config-header.js +6 -0
  111. package/dist/components/config-header2.js +103 -0
  112. package/dist/components/configs-button.d.ts +11 -0
  113. package/dist/components/configs-button.js +6 -0
  114. package/dist/components/configs-button2.js +76 -0
  115. package/dist/components/constants.js +8 -34
  116. package/dist/components/field-config.d.ts +11 -0
  117. package/dist/components/field-config.js +6 -0
  118. package/dist/components/field-config2.js +525 -0
  119. package/dist/components/field-item.d.ts +11 -0
  120. package/dist/components/field-item.js +6 -0
  121. package/dist/components/field-item2.js +93 -0
  122. package/dist/components/fields-layout.d.ts +11 -0
  123. package/dist/components/fields-layout.js +6 -0
  124. package/dist/components/fields-layout2.js +370 -0
  125. package/dist/components/{snk-field-config.d.ts → fields-selector.d.ts} +4 -4
  126. package/dist/components/fields-selector.js +6 -0
  127. package/dist/components/fields-selector2.js +98 -0
  128. package/dist/components/guides-configurator.d.ts +11 -0
  129. package/dist/components/guides-configurator.js +6 -0
  130. package/dist/components/guides-configurator2.js +182 -0
  131. package/dist/components/index.d.ts +8 -3
  132. package/dist/components/index.js +8 -3
  133. package/dist/components/index2.js +3 -4
  134. package/dist/components/snk-application2.js +1 -1
  135. package/dist/components/snk-crud.js +86 -62
  136. package/dist/components/{snk-config-options.d.ts → snk-default-filter.d.ts} +4 -4
  137. package/dist/components/snk-default-filter.js +6 -0
  138. package/dist/components/snk-default-filter2.js +97 -0
  139. package/dist/components/snk-detail-view2.js +113 -89
  140. package/dist/components/snk-expression-group2.js +4 -2
  141. package/dist/components/snk-expression-item2.js +5 -3
  142. package/dist/components/snk-filter-assistent-mode2.js +4 -2
  143. package/dist/components/snk-filter-bar2.js +28 -19
  144. package/dist/components/snk-filter-modal-item2.js +1 -0
  145. package/dist/components/snk-filter-modal.js +59 -8
  146. package/dist/components/snk-form-config2.js +253 -953
  147. package/dist/components/snk-form.js +33 -9
  148. package/dist/components/snk-personalized-filter2.js +50 -14
  149. package/dist/components/sortable.esm.js +2666 -0
  150. package/dist/esm/{ClientSideExporterProvider-b3871edb.js → ClientSideExporterProvider-3ed744fd.js} +2 -2
  151. package/dist/esm/{ConfigStorage-71e6766f.js → ConfigStorage-79b9e180.js} +45 -17
  152. package/dist/esm/FormConfigHelper-49fe72ca.js +248 -0
  153. package/dist/esm/{PersonalizedFilterUtils-e2b38ef7.js → PersonalizedFilterUtils-2db38ff2.js} +1 -1
  154. package/dist/esm/{SnkFormConfigManager-be490a33.js → SnkFormConfigManager-b4b93298.js} +3 -4
  155. package/dist/esm/{SnkMessageBuilder-2dbd8fa2.js → SnkMessageBuilder-9c269caf.js} +28 -3
  156. package/dist/esm/config-header.entry.js +75 -0
  157. package/dist/esm/configs-button.entry.js +57 -0
  158. package/dist/esm/{constants-7db1128a.js → constants-7b422de0.js} +8 -34
  159. package/dist/esm/default-filters-50105e43.js +8 -0
  160. package/dist/esm/field-config_2.entry.js +319 -0
  161. package/dist/esm/fields-layout.entry.js +337 -0
  162. package/dist/esm/fields-selector.entry.js +70 -0
  163. package/dist/esm/{filter-type.enum-a80c1b6b.js → filter-type.enum-f6a8fe23.js} +1 -0
  164. package/dist/esm/guides-configurator.entry.js +160 -0
  165. package/dist/esm/{index-a7d3d3f1.js → index-479e1293.js} +32 -10
  166. package/dist/esm/{index-ae591a44.js → index-8acbae97.js} +6 -1
  167. package/dist/esm/{index-bdf75557.js → index-b72af127.js} +4 -5
  168. package/dist/esm/loader.js +3 -3
  169. package/dist/esm/pesquisa-grid_2.entry.js +2 -2
  170. package/dist/esm/sankhyablocks.js +3 -3
  171. package/dist/esm/snk-actions-button_8.entry.js +3 -3
  172. package/dist/esm/snk-actions-form.entry.js +1 -1
  173. package/dist/esm/snk-application.entry.js +4 -4
  174. package/dist/esm/snk-attach.entry.js +4 -4
  175. package/dist/esm/snk-client-confirm.entry.js +1 -1
  176. package/dist/esm/snk-configurator.entry.js +2 -2
  177. package/dist/esm/snk-crud.entry.js +4 -4
  178. package/dist/esm/snk-custom-slot-elements.entry.js +1 -1
  179. package/dist/esm/snk-data-exporter.entry.js +4 -4
  180. package/dist/esm/{snk-data-unit-65c9dd1a.js → snk-data-unit-027bca56.js} +2 -2
  181. package/dist/esm/snk-data-unit.entry.js +3 -3
  182. package/dist/esm/snk-default-filter.entry.js +73 -0
  183. package/dist/esm/snk-detail-view.entry.js +8 -8
  184. package/dist/esm/snk-entity-list.entry.js +1 -1
  185. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  186. package/dist/esm/snk-expression-group_2.entry.js +10 -8
  187. package/dist/esm/snk-filter-advanced-mode_2.entry.js +5 -4
  188. package/dist/esm/snk-filter-bar_4.entry.js +82 -28
  189. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  190. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  191. package/dist/esm/snk-filter-detail.entry.js +3 -3
  192. package/dist/esm/snk-filter-field-search_2.entry.js +3 -3
  193. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  194. package/dist/esm/snk-filter-multi-select.entry.js +1 -1
  195. package/dist/esm/snk-filter-number.entry.js +1 -1
  196. package/dist/esm/snk-filter-period.entry.js +1 -1
  197. package/dist/esm/snk-filter-search.entry.js +1 -1
  198. package/dist/esm/snk-filter-text.entry.js +1 -1
  199. package/dist/esm/snk-form-summary.entry.js +1 -1
  200. package/dist/esm/snk-form-view.entry.js +1 -1
  201. package/dist/esm/snk-form_2.entry.js +428 -0
  202. package/dist/esm/snk-grid.entry.js +6 -6
  203. package/dist/esm/{snk-guides-viewer-72953334.js → snk-guides-viewer-32f3d3ab.js} +5 -5
  204. package/dist/esm/snk-guides-viewer.entry.js +7 -7
  205. package/dist/esm/snk-personalized-filter-editor.entry.js +1 -1
  206. package/dist/esm/snk-personalized-filter.entry.js +53 -18
  207. package/dist/esm/snk-pesquisa.entry.js +2 -2
  208. package/dist/esm/snk-print-selector.entry.js +1 -1
  209. package/dist/esm/snk-simple-bar.entry.js +1 -1
  210. package/dist/esm/snk-simple-crud.entry.js +7 -7
  211. package/dist/esm/snk-taskbar.entry.js +3 -3
  212. package/dist/esm/sortable.esm-842f85a3.js +2666 -0
  213. package/dist/esm/{taskbar-elements-f2cb4922.js → taskbar-elements-171476d4.js} +2 -2
  214. package/dist/esm/teste-pesquisa.entry.js +1 -1
  215. package/dist/sankhyablocks/{p-24a0dbd2.entry.js → p-0024d3fd.entry.js} +1 -1
  216. package/dist/sankhyablocks/{p-b8d649dd.entry.js → p-09e60995.entry.js} +1 -1
  217. package/dist/sankhyablocks/{p-bc101064.entry.js → p-0cb295c1.entry.js} +1 -1
  218. package/dist/sankhyablocks/{p-b0ab5066.entry.js → p-1456d7cb.entry.js} +1 -1
  219. package/dist/sankhyablocks/{p-9531fd46.entry.js → p-180716b2.entry.js} +1 -1
  220. package/dist/sankhyablocks/{p-6a03b190.entry.js → p-1ea34488.entry.js} +1 -1
  221. package/dist/sankhyablocks/p-21107f0d.entry.js +1 -0
  222. package/dist/sankhyablocks/{p-118e769b.entry.js → p-27482793.entry.js} +1 -1
  223. package/dist/sankhyablocks/p-290fea5f.entry.js +1 -0
  224. package/dist/sankhyablocks/{p-08ea6c86.entry.js → p-295aa209.entry.js} +1 -1
  225. package/dist/sankhyablocks/{p-c9675d64.js → p-2bde486e.js} +1 -1
  226. package/dist/sankhyablocks/{p-26b0ce3e.entry.js → p-2fdac5e6.entry.js} +1 -1
  227. package/dist/sankhyablocks/p-349d1968.entry.js +1 -0
  228. package/dist/sankhyablocks/p-35e73c5d.js +1 -0
  229. package/dist/sankhyablocks/{p-89c92727.entry.js → p-398cdd67.entry.js} +1 -1
  230. package/dist/sankhyablocks/{p-ddf93f36.entry.js → p-3a48bff3.entry.js} +1 -1
  231. package/dist/sankhyablocks/{p-434817f0.entry.js → p-3d41f5a8.entry.js} +1 -1
  232. package/dist/sankhyablocks/p-3f24c9b2.js +1 -0
  233. package/dist/sankhyablocks/{p-8002dcd0.entry.js → p-471b34f4.entry.js} +1 -1
  234. package/dist/sankhyablocks/{p-7e2ded86.entry.js → p-49d968e2.entry.js} +1 -1
  235. package/dist/sankhyablocks/p-4d2ff2fb.entry.js +1 -0
  236. package/dist/sankhyablocks/p-51833248.js +7 -0
  237. package/dist/sankhyablocks/p-60dd1d27.entry.js +1 -0
  238. package/dist/sankhyablocks/p-6416975c.js +56 -0
  239. package/dist/sankhyablocks/{p-7beeabc1.entry.js → p-65c5d430.entry.js} +1 -1
  240. package/dist/sankhyablocks/{p-21a81901.entry.js → p-667cab42.entry.js} +1 -1
  241. package/dist/sankhyablocks/p-6a4b21dd.js +1 -0
  242. package/dist/sankhyablocks/p-71a05822.entry.js +1 -0
  243. package/dist/sankhyablocks/{p-ac8d1cd6.entry.js → p-7345782c.entry.js} +1 -1
  244. package/dist/sankhyablocks/{p-885802c3.js → p-763b04fa.js} +1 -1
  245. package/dist/sankhyablocks/{p-d07b18a4.js → p-7de79adf.js} +1 -1
  246. package/dist/sankhyablocks/p-7e250432.entry.js +1 -0
  247. package/dist/sankhyablocks/{p-47178038.entry.js → p-83c100f2.entry.js} +1 -1
  248. package/dist/sankhyablocks/p-84345e7a.js +1 -0
  249. package/dist/sankhyablocks/p-86bd4478.entry.js +1 -0
  250. package/dist/sankhyablocks/p-9019a32f.js +1 -0
  251. package/dist/sankhyablocks/{p-54a5d52a.entry.js → p-90805683.entry.js} +1 -1
  252. package/dist/sankhyablocks/{p-c2e468c9.entry.js → p-91a9abb6.entry.js} +1 -1
  253. package/dist/sankhyablocks/p-9751c42f.entry.js +1 -0
  254. package/dist/sankhyablocks/{p-057fad05.js → p-988afe78.js} +1 -1
  255. package/dist/sankhyablocks/{p-16a1dd18.entry.js → p-9a63f3f7.entry.js} +1 -1
  256. package/dist/sankhyablocks/{p-90684a75.entry.js → p-9ad3557c.entry.js} +1 -1
  257. package/dist/sankhyablocks/{p-b6200d32.entry.js → p-9fd87bfd.entry.js} +1 -1
  258. package/dist/sankhyablocks/p-a06bf7b9.entry.js +1 -0
  259. package/dist/sankhyablocks/{p-33718dfc.entry.js → p-a227b650.entry.js} +1 -1
  260. package/dist/sankhyablocks/p-a349689a.js +1 -0
  261. package/dist/sankhyablocks/p-a5bb2f93.entry.js +1 -0
  262. package/dist/sankhyablocks/{p-ebdb9d89.js → p-a6513fcb.js} +1 -1
  263. package/dist/sankhyablocks/{p-8c235d4c.entry.js → p-a76e6d51.entry.js} +1 -1
  264. package/dist/sankhyablocks/p-b568c1d4.js +1 -0
  265. package/dist/sankhyablocks/{p-ce94e6c4.entry.js → p-bd665460.entry.js} +1 -1
  266. package/dist/sankhyablocks/p-c3324d79.entry.js +1 -0
  267. package/dist/sankhyablocks/{p-bf2acf72.entry.js → p-c6a8a8bc.entry.js} +1 -1
  268. package/dist/sankhyablocks/{p-165cde3b.entry.js → p-c926cf6b.entry.js} +1 -1
  269. package/dist/sankhyablocks/{p-79f823f3.entry.js → p-d67526b6.entry.js} +1 -1
  270. package/dist/sankhyablocks/{p-d2d301a6.js → p-d8d8169b.js} +1 -1
  271. package/dist/sankhyablocks/{p-5f157b09.entry.js → p-dff65083.entry.js} +1 -1
  272. package/dist/sankhyablocks/{p-3372178e.entry.js → p-e2988bb1.entry.js} +1 -1
  273. package/dist/sankhyablocks/{p-a4ebeec4.entry.js → p-e3521eae.entry.js} +1 -1
  274. package/dist/sankhyablocks/p-e7cccc45.entry.js +1 -0
  275. package/dist/sankhyablocks/{p-1f80174b.entry.js → p-f4e31122.entry.js} +1 -1
  276. package/dist/sankhyablocks/{p-0fadb620.js → p-fc0b609e.js} +1 -1
  277. package/dist/sankhyablocks/{p-a14a09c3.entry.js → p-ff7060bc.entry.js} +1 -1
  278. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  279. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +16 -4
  280. package/dist/types/components/snk-filter-bar/filter-modal/subcomponents/snk-default-filter/snk-default-filter.d.ts +27 -0
  281. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +4 -3
  282. package/dist/types/components/snk-filter-bar/types/default-filters.d.ts +5 -0
  283. package/dist/types/components/snk-filter-bar/types/filter-type.enum.d.ts +2 -1
  284. package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +3 -3
  285. package/dist/types/components/snk-form-config/FormConfigHelper.d.ts +31 -0
  286. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +3 -3
  287. package/dist/types/components/snk-form-config/config-header/config-header.d.ts +23 -0
  288. package/dist/types/components/snk-form-config/config-header/configs-button/configs-button.d.ts +19 -0
  289. package/dist/types/components/snk-form-config/field-item/field-config/field-config.d.ts +56 -0
  290. package/dist/types/components/snk-form-config/fields-layout/fields-layout.d.ts +63 -0
  291. package/dist/types/components/snk-form-config/fields-selector/fields-selector.d.ts +18 -0
  292. package/dist/types/components/snk-form-config/guides-configurator/guides-configurator.d.ts +42 -0
  293. package/dist/types/components/snk-form-config/snk-form-config.d.ts +51 -120
  294. package/dist/types/components/snk-personalized-filter/interfaces/index.d.ts +4 -0
  295. package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +7 -1
  296. package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.d.ts +4 -0
  297. package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.d.ts +4 -0
  298. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode.d.ts +4 -0
  299. package/dist/types/components.d.ts +276 -203
  300. package/dist/types/lib/configs/ConfigStorage.d.ts +4 -2
  301. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +8 -4
  302. package/dist/types/lib/utils/constants.d.ts +6 -0
  303. package/package.json +4 -2
  304. package/react/components.d.ts +8 -3
  305. package/react/components.js +8 -3
  306. package/react/components.js.map +1 -1
  307. package/dist/cjs/Sortable-fb1c4cbb.js +0 -2853
  308. package/dist/cjs/snk-config-options_3.cjs.entry.js +0 -1390
  309. package/dist/cjs/snk-field-config.cjs.entry.js +0 -60
  310. package/dist/cjs/snk-tab-config.cjs.entry.js +0 -332
  311. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.css +0 -16
  312. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.js +0 -346
  313. package/dist/collection/components/snk-form-config/subcomponents/snk-field-config/snk-field-config.css +0 -219
  314. package/dist/collection/components/snk-form-config/subcomponents/snk-field-config/snk-field-config.js +0 -184
  315. package/dist/collection/components/snk-form-config/subcomponents/snk-tab-config/snk-tab-config.css +0 -323
  316. package/dist/collection/components/snk-form-config/subcomponents/snk-tab-config/snk-tab-config.js +0 -527
  317. package/dist/components/snk-config-options.js +0 -6
  318. package/dist/components/snk-config-options2.js +0 -257
  319. package/dist/components/snk-field-config.js +0 -6
  320. package/dist/components/snk-field-config2.js +0 -76
  321. package/dist/components/snk-tab-config.js +0 -6
  322. package/dist/components/snk-tab-config2.js +0 -3202
  323. package/dist/esm/Sortable-83960219.js +0 -2851
  324. package/dist/esm/snk-config-options_3.entry.js +0 -1384
  325. package/dist/esm/snk-field-config.entry.js +0 -56
  326. package/dist/esm/snk-tab-config.entry.js +0 -328
  327. package/dist/sankhyablocks/p-03b68a74.js +0 -56
  328. package/dist/sankhyablocks/p-3749dffb.entry.js +0 -1
  329. package/dist/sankhyablocks/p-3ab6df3d.entry.js +0 -1
  330. package/dist/sankhyablocks/p-4689c2e6.js +0 -1
  331. package/dist/sankhyablocks/p-490b75b5.entry.js +0 -1
  332. package/dist/sankhyablocks/p-52d10014.entry.js +0 -1
  333. package/dist/sankhyablocks/p-5ffa0493.entry.js +0 -1
  334. package/dist/sankhyablocks/p-60137b7a.entry.js +0 -1
  335. package/dist/sankhyablocks/p-6dc031de.js +0 -1
  336. package/dist/sankhyablocks/p-9261d8a0.js +0 -1
  337. package/dist/sankhyablocks/p-933c0c0b.js +0 -1
  338. package/dist/sankhyablocks/p-9d3a025a.entry.js +0 -1
  339. package/dist/sankhyablocks/p-c0eb761b.entry.js +0 -1
  340. package/dist/sankhyablocks/p-d9804798.js +0 -1
  341. package/dist/sankhyablocks/p-fa816fb2.js +0 -1
  342. package/dist/types/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.d.ts +0 -57
  343. package/dist/types/components/snk-form-config/subcomponents/snk-field-config/snk-field-config.d.ts +0 -43
  344. package/dist/types/components/snk-form-config/subcomponents/snk-tab-config/snk-tab-config.d.ts +0 -105
@@ -1,1390 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-f9e81701.js');
6
- const core = require('@sankhyalabs/core');
7
- const DataType = require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
8
- const utils = require('@sankhyalabs/ezui/dist/collection/utils');
9
- const constants = require('./constants-77c1b8bd.js');
10
- const SnkFormConfigManager = require('./SnkFormConfigManager-45a8d7b7.js');
11
- const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
12
- const Sortable = require('./Sortable-fb1c4cbb.js');
13
- const formConfigFetcher = require('./form-config-fetcher-40d3f752.js');
14
- const form = require('@sankhyalabs/ezui/dist/collection/utils/form');
15
- require('./ConfigStorage-df09fb78.js');
16
- require('./filter-item-type.enum-a7ffdaa6.js');
17
- require('./DataFetcher-1afdb18e.js');
18
- require('./PrintUtils-bcaeb82f.js');
19
- require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
20
-
21
- const snkConfigOptionsCss = ".sc-snk-config-options-h{--snk-config-options--border:2px solid var(--color--secondary-200, #D2D3DA);width:100%;border-radius:15px;border:var(--snk-config-options--border)}.config-options__switch-row.sc-snk-config-options{margin-top:-30px}";
22
-
23
- const SnkConfigOptions = class {
24
- constructor(hostRef) {
25
- index.registerInstance(this, hostRef);
26
- this.configOptionsChanged = index.createEvent(this, "configOptionsChanged", 7);
27
- this._defaultType = undefined;
28
- this.fieldConfig = {};
29
- this.idConfig = undefined;
30
- this.dataUnit = undefined;
31
- this.messagesBuilder = undefined;
32
- }
33
- onConfigDefault(optionSelected) {
34
- if (optionSelected != undefined) {
35
- this._defaultType = optionSelected;
36
- this.fieldConfig.defaultValue = {
37
- type: this._defaultType
38
- };
39
- this.configOptionsChanged.emit(this.fieldConfig);
40
- }
41
- }
42
- buildOptions() {
43
- var _a, _b, _c;
44
- let interfaceField = (_c = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField((_b = this.fieldConfig) === null || _b === void 0 ? void 0 : _b.name)) === null || _c === void 0 ? void 0 : _c.userInterface;
45
- if (interfaceField === core.UserInterface.SEARCH) {
46
- interfaceField = core.UserInterface.INTEGERNUMBER;
47
- }
48
- return constants.VARS_BY_TYPE.UserInterface[interfaceField];
49
- }
50
- enabledValueDefault() {
51
- var _a, _b, _c;
52
- const field = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField((_b = this.fieldConfig) === null || _b === void 0 ? void 0 : _b.name);
53
- const allowDefault = (_c = field === null || field === void 0 ? void 0 : field.properties) === null || _c === void 0 ? void 0 : _c.allowDefault;
54
- const hasVariableVar = constants.VARS_BY_TYPE.UserInterface.hasOwnProperty(field === null || field === void 0 ? void 0 : field.userInterface)
55
- || (field === null || field === void 0 ? void 0 : field.userInterface) === core.UserInterface.SEARCH;
56
- if ((allowDefault == undefined || allowDefault === "true") && hasVariableVar) {
57
- return true;
58
- }
59
- return false;
60
- }
61
- isAllowDefault() {
62
- var _a, _b;
63
- const allowDefault = (_b = (_a = this._fieldProperties) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.allowDefault;
64
- if (allowDefault == undefined) {
65
- return true;
66
- }
67
- return allowDefault === "true";
68
- }
69
- loadDefaultValue() {
70
- var _a;
71
- if (this.fieldConfig == undefined) {
72
- this._defaultType = constants.DEFAULT_TYPE.fixed;
73
- this.fieldConfig = {
74
- defaultValue: {
75
- type: this._defaultType
76
- }
77
- };
78
- }
79
- else if (((_a = this.fieldConfig.defaultValue) === null || _a === void 0 ? void 0 : _a.type) == undefined) {
80
- this._defaultType = constants.DEFAULT_TYPE.fixed;
81
- this.fieldConfig.defaultValue = {
82
- type: this._defaultType
83
- };
84
- }
85
- else {
86
- this._defaultType = this.fieldConfig.defaultValue.type;
87
- }
88
- }
89
- getFieldProperties(field) {
90
- var _a;
91
- if (field != undefined) {
92
- return (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(field);
93
- }
94
- }
95
- getMessage(key, params) {
96
- return this.messagesBuilder.getMessage(key, params);
97
- }
98
- getDefaultType() {
99
- var _a;
100
- return (_a = this.fieldConfig.defaultValue.type) !== null && _a !== void 0 ? _a : constants.DEFAULT_TYPE.fixed;
101
- }
102
- getEnabledByProperty(attribName, propertyName) {
103
- const fieldDescriptor = this._fieldProperties;
104
- if (fieldDescriptor == undefined) {
105
- return true;
106
- }
107
- const fieldProperties = fieldDescriptor.properties || {};
108
- return fieldProperties.hasOwnProperty(propertyName) ? fieldProperties[propertyName] !== "S" : fieldDescriptor[attribName] !== true;
109
- }
110
- getValueByProperty(property) {
111
- const properties = this._fieldProperties;
112
- if (properties != undefined && properties[property] === true) {
113
- return true;
114
- }
115
- return this.fieldConfig[property];
116
- }
117
- getValidatedValue(fieldValue) {
118
- var _a, _b;
119
- if (fieldValue == undefined) {
120
- return;
121
- }
122
- const field = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField((_b = this.fieldConfig) === null || _b === void 0 ? void 0 : _b.name);
123
- const dataType = field === null || field === void 0 ? void 0 : field.dataType;
124
- if (dataType == undefined) {
125
- return;
126
- }
127
- const value = (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.waitmessage) != undefined ? undefined :
128
- dataType !== DataType.DataType.OBJECT && dataType !== DataType.DataType.DATE
129
- && typeof fieldValue === "object"
130
- ? fieldValue.value
131
- : fieldValue;
132
- return dataType === DataType.DataType.OBJECT ? JSON.stringify(value) : value;
133
- }
134
- buildInputDefault({ value, enabled, label, name, required, userInterface }, properties = undefined, mode = undefined) {
135
- let options;
136
- let precision = 0;
137
- let prettyPrecision = 0;
138
- const TagName = userInterface == undefined || constants.TAGS_BY_TYPE[userInterface] == undefined
139
- ? constants.TAGS_BY_TYPE.DEFAULT
140
- : constants.TAGS_BY_TYPE[userInterface];
141
- if (userInterface === core.UserInterface.OPTIONSELECTOR) {
142
- const prop = properties === null || properties === void 0 ? void 0 : properties.options;
143
- if (typeof prop === "string") {
144
- const parsed = core.ObjectUtils.stringToObject(prop);
145
- options = Object.keys(parsed).map(key => { return { value: key, label: parsed[key] }; });
146
- }
147
- else {
148
- options = prop;
149
- }
150
- }
151
- else if (userInterface === core.UserInterface.DECIMALNUMBER) {
152
- precision = Number((properties === null || properties === void 0 ? void 0 : properties.precision) || 2);
153
- prettyPrecision = Number((properties === null || properties === void 0 ? void 0 : properties.prettyPrecision) || precision);
154
- }
155
- return index.h(TagName, Object.assign({ value: value, enabled: enabled, label: label, "data-field-name": name, key: name, onEzChange: (evt) => this.onChange(evt === null || evt === void 0 ? void 0 : evt.detail) }, (this.getConditionalAttributes(userInterface, required, options, precision, prettyPrecision, mode))));
156
- }
157
- getConditionalAttributes(userInterface, required, options, precision, prettyPrecision, mode) {
158
- const useSearchPlus = userInterface == core.UserInterface.SEARCHPLUS;
159
- switch (userInterface) {
160
- case core.UserInterface.SEARCH:
161
- case core.UserInterface.SEARCHPLUS:
162
- return {
163
- suppressEmptyOption: required,
164
- optionLoader: (searchArgument) => this.onSearch(searchArgument, { useSearchPlus })
165
- };
166
- case core.UserInterface.OPTIONSELECTOR:
167
- return {
168
- suppressEmptyOption: required,
169
- options
170
- };
171
- case core.UserInterface.CHECKBOX:
172
- case core.UserInterface.SWITCH:
173
- return {
174
- mode
175
- };
176
- case core.UserInterface.INTEGERNUMBER:
177
- case core.UserInterface.DECIMALNUMBER:
178
- return {
179
- precision,
180
- prettyPrecision,
181
- onEzStartChange: (evt) => this.onChange(evt === null || evt === void 0 ? void 0 : evt.detail)
182
- };
183
- case core.UserInterface.DATE:
184
- case core.UserInterface.DATETIME:
185
- case core.UserInterface.TIME:
186
- return {
187
- onEzStartChange: (evt) => this.onChange(evt === null || evt === void 0 ? void 0 : evt.detail)
188
- };
189
- default:
190
- return {};
191
- }
192
- }
193
- onChange(fieldValue) {
194
- this.fieldConfig.defaultValue.value = this.getValidatedValue(fieldValue);
195
- this.configOptionsChanged.emit(this.fieldConfig);
196
- }
197
- onSearch(searchArgument, ctxOptions) {
198
- if (this._application != undefined && this.fieldConfig != undefined) {
199
- return this._application.executeSearch(searchArgument, this.fieldConfig.name, this.dataUnit, ctxOptions);
200
- }
201
- }
202
- buildField(descriptor, config) {
203
- const { name, label, readOnly, required, defaultValue } = config;
204
- const { userInterface, properties } = descriptor;
205
- const allowDefault = properties === null || properties === void 0 ? void 0 : properties.allowDefault;
206
- let value;
207
- let enabled = core.StringUtils.getBooleanValue(allowDefault, !readOnly);
208
- if (userInterface === core.UserInterface.FILE) {
209
- enabled = false;
210
- }
211
- if (enabled) {
212
- value = defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.value;
213
- if (value != undefined) {
214
- value = DataType.getConvertedValue(descriptor === null || descriptor === void 0 ? void 0 : descriptor.dataType, value);
215
- }
216
- }
217
- const configField = { value, enabled, label, name, required, userInterface };
218
- switch (userInterface) {
219
- case core.UserInterface.SWITCH:
220
- return this.buildInputDefault(configField, undefined, utils.CheckMode.SWITCH);
221
- case core.UserInterface.CHECKBOX:
222
- return this.buildInputDefault(configField, undefined, utils.CheckMode.REGULAR);
223
- case core.UserInterface.OPTIONSELECTOR:
224
- case core.UserInterface.DECIMALNUMBER:
225
- return this.buildInputDefault(configField, properties);
226
- default:
227
- return this.buildInputDefault(configField);
228
- }
229
- }
230
- componentWillLoad() {
231
- var _a;
232
- this.loadDefaultValue();
233
- this._application = core.ApplicationContext.getContextValue("__SNK__APPLICATION__");
234
- this._fieldProperties = this.getFieldProperties((_a = this.fieldConfig) === null || _a === void 0 ? void 0 : _a.name);
235
- }
236
- componentDidLoad() {
237
- core.ElementIDUtils.addIDInfo(this._element, this.fieldConfig.name);
238
- }
239
- render() {
240
- var _a, _b;
241
- return (index.h(index.Host, null, index.h("div", { id: this.idConfig }, index.h("div", { class: "ez-row ez-padding--medium" }, index.h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-4 ez-padding--small" }, index.h("ez-text-input", { label: this.getMessage("snkConfigOptions.label.nameField"), value: (_a = this.fieldConfig) === null || _a === void 0 ? void 0 : _a.label, onEzChange: (evt) => { this.fieldConfig.label = evt.detail; this.configOptionsChanged.emit(this.fieldConfig); } })), index.h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-4 ez-padding--small" }, index.h("ez-combo-box", { label: this.getMessage("snkConfigOptions.label.typeValueDefault"), suppressEmptyOption: true, enabled: this.enabledValueDefault(), onEzChange: (evt) => { var _a; return this.onConfigDefault((_a = evt.detail) === null || _a === void 0 ? void 0 : _a.value); }, value: this.getDefaultType() }, index.h("option", { value: constants.DEFAULT_TYPE.fixed }, this.getMessage("snkConfigOptions.options.valueFixed")), index.h("option", { value: constants.DEFAULT_TYPE.variable }, this.getMessage("snkConfigOptions.options.variable")))), index.h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-4 ez-padding--small" }, this._defaultType === constants.DEFAULT_TYPE.variable ?
242
- index.h("ez-combo-box", { label: this.getMessage("snkConfigOptions.label.valueDefault"), enabled: this.isAllowDefault(), onEzChange: (evt) => { var _a; this.fieldConfig.defaultValue.value = (_a = evt.detail) === null || _a === void 0 ? void 0 : _a.value; this.configOptionsChanged.emit(this.fieldConfig); }, value: this.fieldConfig.defaultValue.value, options: this.buildOptions() })
243
- :
244
- ((_b = this._fieldProperties) === null || _b === void 0 ? void 0 : _b.userInterface) &&
245
- this.buildField(this._fieldProperties, this.fieldConfig))), index.h("div", { class: "ez-row ez-padding--medium config-options__switch-row" }, index.h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-4 ez-padding--small" }, index.h("ez-check", { mode: utils.CheckMode.SWITCH, label: this.getMessage("snkConfigOptions.label.clearDuplicate"), value: this.fieldConfig.cleanOnCopy, onEzChange: (evt) => { this.fieldConfig.cleanOnCopy = evt.detail; this.configOptionsChanged.emit(this.fieldConfig); } })), index.h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-4 ez-padding--small" }, index.h("ez-check", { mode: utils.CheckMode.SWITCH, label: this.getMessage("snkConfigOptions.label.requiredField"), enabled: this.getEnabledByProperty("required", "systemRequired"), value: this.getValueByProperty("required"), onEzChange: (evt) => { this.fieldConfig.required = evt.detail; this.configOptionsChanged.emit(this.fieldConfig); } })), index.h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-4 ez-padding--small" }, index.h("ez-check", { mode: utils.CheckMode.SWITCH, label: this.getMessage("snkConfigOptions.label.protectedField"), enabled: this.getEnabledByProperty("readOnly", "systemReadOnly"), value: this.getValueByProperty("readOnly"), onEzChange: (evt) => { this.fieldConfig.readOnly = evt.detail; this.configOptionsChanged.emit(this.fieldConfig); } }))))));
246
- }
247
- get _element() { return index.getElement(this); }
248
- };
249
- SnkConfigOptions.style = snkConfigOptionsCss;
250
-
251
- const snkFormCss = ".sc-snk-form-h{--snk-form__header--min-height:94px;display:block}.snk-form__form--hidden.sc-snk-form{display:none}";
252
-
253
- const SnkForm = class {
254
- constructor(hostRef) {
255
- index.registerInstance(this, hostRef);
256
- this.exit = index.createEvent(this, "exit", 7);
257
- this.actionClick = index.createEvent(this, "actionClick", 7);
258
- this.formItemsReady = index.createEvent(this, "formItemsReady", 7);
259
- this._customEditors = new Map();
260
- this._dataUnit = undefined;
261
- this._dataState = undefined;
262
- this._showFormConfig = false;
263
- this._configManager = undefined;
264
- this.configName = undefined;
265
- this.recordsValidator = undefined;
266
- this.messagesBuilder = undefined;
267
- this.formLegacyConfigName = undefined;
268
- this.resourceID = undefined;
269
- }
270
- /**
271
- * Exibe a janela de configurações do formulário.
272
- */
273
- async showConfig() {
274
- this._showFormConfig = true;
275
- }
276
- /**
277
- * Fecha a janela de configurações do formulário.
278
- */
279
- async hideConfig() {
280
- this._showFormConfig = false;
281
- }
282
- /**
283
- * Registra um editor customizado para campos da grade e formulário.
284
- */
285
- async addCustomEditor(fieldName, customEditor) {
286
- if (this._form) {
287
- this._form.addCustomEditor(fieldName, customEditor);
288
- return;
289
- }
290
- const newCustomEditors = new Map(this._customEditors);
291
- newCustomEditors.set(fieldName, customEditor);
292
- this._customEditors = newCustomEditors;
293
- }
294
- /**
295
- * Altera/adiciona uma propriedade nos metadados do campo.
296
- */
297
- async setFieldProp(fieldName, propName, value) {
298
- await this._form.setFieldProp(fieldName, propName, value);
299
- }
300
- closeConfig() {
301
- this.hideConfig();
302
- }
303
- dataunitReady() {
304
- const dataInfo = { dataUnit: this._dataUnit };
305
- core.ElementIDUtils.addIDInfo(this._element, null, dataInfo);
306
- }
307
- setCustomEditors() {
308
- if (!this._form) {
309
- return;
310
- }
311
- for (const [fieldName, customEditor] of this._customEditors) {
312
- this._form.addCustomEditor(fieldName, customEditor);
313
- this._customEditors.delete(fieldName);
314
- }
315
- }
316
- async componentDidRender() {
317
- this.setCustomEditors();
318
- }
319
- async componentWillLoad() {
320
- let parent = this._element.parentElement;
321
- while (parent) {
322
- if (parent.tagName.toUpperCase() === "SNK-DATA-UNIT") {
323
- this._snkDataUnit = parent;
324
- this._dataUnit = this._snkDataUnit.dataUnit;
325
- this._dataState = this._snkDataUnit.dataState;
326
- if (this._dataUnit) {
327
- this.dataunitReady();
328
- }
329
- else {
330
- this._snkDataUnit.addEventListener("dataUnitReady", (evt) => {
331
- this._dataUnit = evt.detail;
332
- });
333
- }
334
- this._snkDataUnit.addEventListener("dataStateChange", this.handleDataStateChange.bind(this));
335
- break;
336
- }
337
- parent = parent.parentElement;
338
- }
339
- if (this.resourceID == undefined) {
340
- this.resourceID = await ResourceIDUtils.ResourceIDUtils.getResourceID();
341
- }
342
- this._configManager = new SnkFormConfigManager.SnkFormConfigManager(this.configName, this.resourceID, undefined, this._dataUnit);
343
- this.addFormLegacyConfig();
344
- await this._configManager.loadConfig();
345
- }
346
- async handleDataStateChange(evt) {
347
- var _a;
348
- this._dataState = evt.detail;
349
- const fieldsWithRmPrecision = await this._snkDataUnit.getFieldsWithRmPrecision();
350
- for (const field of fieldsWithRmPrecision || []) {
351
- if (!field) {
352
- continue;
353
- }
354
- const rmPrecision = (_a = this._dataState.rowMetadata) === null || _a === void 0 ? void 0 : _a.getProp('rm_precision', field);
355
- if (!rmPrecision && rmPrecision !== 0) {
356
- continue;
357
- }
358
- await this.setFieldProp(field, 'precision', rmPrecision);
359
- await this.setFieldProp(field, 'prettyPrecision', rmPrecision);
360
- }
361
- }
362
- addFormLegacyConfig() {
363
- if (this.formLegacyConfigName) {
364
- this._configManager.addFormLegacyConfig(this.formLegacyConfigName);
365
- }
366
- }
367
- render() {
368
- if (!this._dataUnit || !this._dataState) {
369
- return undefined;
370
- }
371
- return (index.h("section", null, index.h("div", { class: "ez-row" }, index.h("div", { class: "ez-col ez-col--sd-12" }, index.h("ez-form", { ref: (ref) => this._form = ref, key: "ezForm" + this._snkDataUnit.entityName, "data-element-id": "embedded", dataUnit: this._dataUnit, config: this._configManager.getConfig(this._dataUnit), recordsValidator: this.recordsValidator, class: this._showFormConfig ? 'snk-form__form--hidden' : '' }), this._showFormConfig &&
372
- index.h("snk-form-config", { messagesBuilder: this.messagesBuilder, dataUnit: this._dataUnit, configManager: this._configManager, onConfigClose: () => this.closeConfig() })))));
373
- }
374
- get _element() { return index.getElement(this); }
375
- };
376
- SnkForm.style = snkFormCss;
377
-
378
- const snkFormConfigCss = ".sc-snk-form-config-h{--snk-form-config--z-index:var(--more-visible, 2);--snk-form-config--background-color:var(--background--xlight, #fff);--snk-form-config__icon--color:var(--text--disable, #AFB6C0);--snk-form-config__label-counter--font-weight:var(--text-weight--extra-small, 200);--snk-form-config__add-group-container--border-radius:var(--border--radius-medium, 12px);--snk-form-config__add-group-container--background-color:var(--background--medium, #d2dce9);--snk-form-config__add-group-container--padding:var(--space--small, 6px);--snk-form-config__add-group-content--border:2px dashed var(--color-strokes, #DCE0E8);--snk-form-config__add-group-content--border-radius:var(--border--radius-small, 6px);--snk-form-config__add-group-label--padding:var(--space--large, 24px);--snk-form-config__btn-add-group--padding:var(--space--large, 24px) var(--space--medium, 12px) 0;--snk-form-config__btn-add-group-container--padding:var(--space--medium, 12px);--snk-form-config__btn-add-group-container--border-radius:var(--border--radius-medium, 12px);--snk-form-config__btn-add-group-container--border:2px solid var(--color-strokes, #DCE0E8);--snk-form-config__btn-add-group-container--background-color:var(--background--body, #fafcff);display:flex;flex-direction:column;position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--snk-form-config--z-index);background-color:var(--snk-form-config--background-color)}div.sc-snk-form-config:focus-visible,div.sc-snk-form-config:focus{outline:none}.form-config__header-container.sc-snk-form-config{display:flex}.form-config__field-container.sc-snk-form-config{width:32%;padding:6px}.form-config__hide-content.sc-snk-form-config{display:none}ez-icon.sc-snk-form-config .left-icon.sc-snk-form-config{--ez-icon--color:var(--snk-form-config__icon--color)}.ez-box__label-counter.sc-snk-form-config{margin-top:-7px;font-weight:var(--snk-form-config__label-counter--font-weight)}.form-config__btn-options.sc-snk-form-config{--ez-button--min-width:300px;--ez-button--background-color:var(--snk-form-config--background-color)}[data-draggable-parent].sc-snk-form-config{position:relative}.form-config__field-config--selected.sc-snk-form-config{position:static}.form-config__field-config--dragged.sc-snk-form-config .draggable-mirror.sc-snk-form-config{z-index:var(--snk-form-config--z-index)}.form-config__config-options.sc-snk-form-config{position:relative;margin-top:-3px;min-width:100%;z-index:1}.form-config__tab-container.sc-snk-form-config,.form-config__fields-available.sc-snk-form-config{position:relative;height:100%;max-height:calc(100vh - 92px)}.form-config__tab-container.sc-snk-form-config .ez-box__container.sc-snk-form-config,.form-config__fields-available.sc-snk-form-config .ez-box__container.sc-snk-form-config{align-content:flex-start;height:100%}.form-config__fields-available.sc-snk-form-config [data-draggable-parent].sc-snk-form-config{align-content:flex-start;overflow-y:auto;height:100%;max-height:calc(100% - 122px)}.form-config__tab-content.sc-snk-form-config{align-content:flex-start;overflow-y:auto;height:auto;max-height:calc(100% - 128px)}[data-draggable-element].sc-snk-form-config{cursor:grab}.form-config__actions-button.sc-snk-form-config{--ez-actions-button__btn-action--min-width:235px}.form-config__add-group.sc-snk-form-config{position:relative;min-height:120px;margin-bottom:10px}.form-config__add-group-container.sc-snk-form-config{position:absolute;display:flex;flex-wrap:wrap;width:100%;box-sizing:border-box;border-radius:var(--snk-form-config__add-group-container--border-radius);background-color:var(--snk-form-config__add-group-container--background-color);padding:var(--snk-form-config__add-group-container--padding)}.form-config__add-group-content.sc-snk-form-config{width:100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;box-sizing:border-box;border:var(--snk-form-config__add-group-content--border);border-radius:var(--snk-form-config__add-group-content--border-radius)}.form-config__add-group-label.sc-snk-form-config{display:flex;justify-content:center;box-sizing:border-box;padding:var(--snk-form-config__add-group-label--padding)}.form-config__btn-add-group.sc-snk-form-config{position:relative;padding:var(--snk-form-config__btn-add-group--padding)}.form-config__btn-add-group-container.sc-snk-form-config{padding:var(--snk-form-config__btn-add-group-container--padding);border-radius:var(--snk-form-config__btn-add-group-container--border-radius);border:var(--snk-form-config__btn-add-group-container--border);background-color:var(--snk-form-config__btn-add-group-container--background-color)}ez-collapsible-box.draggable-mirror.sc-snk-form-config{display:table;background-color:var(--snk-form-config--background-color)}ez-collapsible-box.sc-snk-form-config{margin-bottom:10px}@media screen and (min-width: 480px){.form-config__field-config--selected.sc-snk-form-config .ez-flex.form-config__config-options.sc-snk-form-config{min-width:calc(300% + 12px)}.form-config__field-config--selected.sc-snk-form-config:nth-child(3n+2) .ez-flex.form-config__config-options.sc-snk-form-config{left:calc(100% / 1 * -1)}.form-config__field-config--selected.sc-snk-form-config:nth-child(3n+3) .ez-flex.form-config__config-options.sc-snk-form-config{left:calc(100% / 1 * -2)}}";
379
-
380
- const CONTAINER_ID = {
381
- collapsibleBox: "EZ-COLLAPSIBLE-BOX",
382
- withoutGroup: "fieldsWithoutGroupContainer",
383
- fieldsAvailable: "fieldsAvailableContainer",
384
- addNewGroup: "addNewGroupContainer"
385
- };
386
- const SnkFormConfig = class {
387
- constructor(hostRef) {
388
- index.registerInstance(this, hostRef);
389
- this.configChange = index.createEvent(this, "configChange", 7);
390
- this.configClose = index.createEvent(this, "configClose", 7);
391
- this._listEnabledFields = [];
392
- this._renderTimer = 500;
393
- this._tabSelected = 1;
394
- this._labelNewGroup = "Novo grupo";
395
- this._mouseOnFieldConfig = false;
396
- this._mouseOnConfigOptions = false;
397
- this._editingTitleGroup = false;
398
- this._newGroupBoxes = [];
399
- this._currentGroupBoxes = [];
400
- this._formFieldsStyle = "ez-col ez-col--sd-12 ez-col--tb-4 ez-padding-right--small ez-padding-bottom--medium sc-snk-form-config";
401
- this._fieldsAvailableStyle = "ez-col ez-col--sd-12 ez-col--tb-12 ez-margin-bottom--medium ez-margin-right--medium sc-snk-form-config";
402
- this._fieldFloatingStyle = "form-config__field-config--dragged";
403
- this._sortableTimer = 100;
404
- this._formConfigOptions = [];
405
- this._fieldConfigSelected = undefined;
406
- this._layoutFormConfig = undefined;
407
- this._fieldsAvailable = undefined;
408
- this._formConfig = {};
409
- this._formConfigChanged = false;
410
- this._optionFormConfigSelected = undefined;
411
- this._optionFormConfigChanged = false;
412
- this._tempGroups = [];
413
- this.dataUnit = undefined;
414
- this.configManager = undefined;
415
- this.messagesBuilder = undefined;
416
- this.ignoreReadOnlyFormFields = undefined;
417
- }
418
- observeConfigManager() {
419
- this.loadConfig(this._sortableTimer);
420
- }
421
- loadFields(updateTimer = 0) {
422
- this._layoutFormConfig = [];
423
- if (updateTimer > 0) {
424
- setTimeout(() => {
425
- this.buildFields();
426
- }, updateTimer);
427
- }
428
- else {
429
- this.buildFields();
430
- }
431
- }
432
- buildFields() {
433
- this.buildFormConfig();
434
- this.buildAvailableFields();
435
- }
436
- loadFormConfig(updateTimer) {
437
- var _a;
438
- this._formConfig = this.getConfig();
439
- this.loadFields(updateTimer);
440
- this.controlFieldConfig();
441
- if (((_a = this._filterFieldsAvailable) === null || _a === void 0 ? void 0 : _a.value) != undefined) {
442
- this._filterFieldsAvailable.value = "";
443
- }
444
- }
445
- getConfig() {
446
- let config = this.configManager.getConfig(this.dataUnit, this.ignoreReadOnlyFormFields);
447
- if (config.fields && config.fields.length === 0) {
448
- config = undefined;
449
- }
450
- if (config == undefined) {
451
- config = form.buildFormConfigFromDataUnit(this.dataUnit);
452
- }
453
- return core.ObjectUtils.copy(config);
454
- }
455
- cancelChangeConfig() {
456
- if (this._formConfigChanged === true) {
457
- this.openConfirmDialog(this.getMessage("snkFormConfig.confirm.cancel")).then((canCancel) => {
458
- if (canCancel) {
459
- this._formConfigChanged = false;
460
- this.resetChangeConfig();
461
- }
462
- });
463
- }
464
- else {
465
- this.resetChangeConfig();
466
- }
467
- }
468
- cancelChangeOptionConfig() {
469
- if (this._optionFormConfigChanged === true) {
470
- this.openConfirmDialog(this.getMessage("snkFormConfig.confirm.cancel")).then((canCancel) => {
471
- if (canCancel) {
472
- this._optionFormConfigChanged = false;
473
- this.resetChangeOptionConfig();
474
- }
475
- });
476
- }
477
- else {
478
- this.resetChangeOptionConfig();
479
- }
480
- }
481
- resetChangeConfig() {
482
- this.loadFormConfig(this._sortableTimer);
483
- this.clearTempGroups();
484
- }
485
- resetChangeOptionConfig() {
486
- this._formConfigChanged = false;
487
- this.loadConfig(this._sortableTimer);
488
- this.clearTempGroups();
489
- }
490
- getTabsToSave() {
491
- return this._layoutFormConfig
492
- .map((layoutConfig, index) => {
493
- return {
494
- label: layoutConfig.tab,
495
- order: index,
496
- visible: layoutConfig.visible
497
- };
498
- });
499
- }
500
- getFieldsToSave() {
501
- const fields = [];
502
- const snkFieldConfigs = this._formContainer.querySelectorAll('snk-field-config');
503
- snkFieldConfigs.forEach((snkField) => {
504
- const fieldConfig = snkField.fieldConfig;
505
- if (fieldConfig == undefined) {
506
- return;
507
- }
508
- const fieldToSave = {
509
- cleanOnCopy: fieldConfig.cleanOnCopy || false,
510
- group: fieldConfig.group,
511
- label: fieldConfig.label,
512
- name: fieldConfig.name,
513
- required: fieldConfig.required,
514
- readOnly: fieldConfig.readOnly,
515
- tab: fieldConfig.tab
516
- };
517
- if (fieldConfig.defaultValue != undefined) {
518
- if (fieldConfig.defaultValue.type == undefined) {
519
- fieldToSave.defaultValue = {
520
- type: constants.DEFAULT_TYPE.fixed,
521
- value: fieldConfig.defaultValue
522
- };
523
- }
524
- else {
525
- fieldToSave.defaultValue = fieldConfig.defaultValue;
526
- }
527
- }
528
- fields.push(fieldToSave);
529
- });
530
- return fields;
531
- }
532
- isDefaultConfiguration() {
533
- var _a;
534
- const optionSelected = (_a = this._optionFormConfigSelected) === null || _a === void 0 ? void 0 : _a.origin;
535
- return optionSelected === formConfigFetcher.UserConfigType.DEFAULT
536
- && this._optionFormConfigChanged === true
537
- && this._formConfigChanged === false;
538
- }
539
- buildConfigToSave() {
540
- let formConfig = {};
541
- const isDefault = this.isDefaultConfiguration();
542
- if (isDefault) {
543
- formConfig = this.getConfig();
544
- }
545
- else {
546
- formConfig = core.ObjectUtils.copy(this._formConfig);
547
- }
548
- if (isDefault === false) {
549
- const tabs = this.getTabsToSave();
550
- if ((tabs === null || tabs === void 0 ? void 0 : tabs.length) > 0) {
551
- formConfig.tabs = tabs;
552
- }
553
- const fields = this.getFieldsToSave();
554
- if ((fields === null || fields === void 0 ? void 0 : fields.length) > 0) {
555
- formConfig.fields = fields;
556
- }
557
- }
558
- formConfig.defaultConfiguration = isDefault;
559
- return formConfig;
560
- }
561
- saveConfig() {
562
- var _a;
563
- if (((_a = this._tempGroups) === null || _a === void 0 ? void 0 : _a.length) > 0) {
564
- utils.ApplicationUtils.alert(this.getMessage("snkFormConfig.confirm.title"), this.getMessage("snkFormConfig.confirm.group"));
565
- return;
566
- }
567
- this._formConfigChanged = false;
568
- this._optionFormConfigChanged = false;
569
- this.configManager.saveConfig(this.buildConfigToSave())
570
- .then(savedConfig => {
571
- var _a;
572
- utils.ApplicationUtils.info(this.getMessage("snkFormConfig.info.successfullyConfigSaved"), { iconName: "check" });
573
- const userOption = (_a = this._formConfigOptions) === null || _a === void 0 ? void 0 : _a.find((config) => {
574
- return config.origin === formConfigFetcher.UserConfigType.USER;
575
- });
576
- this.setFormConfig(userOption);
577
- this.configChange.emit(savedConfig);
578
- });
579
- }
580
- applyOptionConfig() {
581
- if (this._optionFormConfigChanged === true && this._optionFormConfigSelected != undefined) {
582
- const name = this._optionFormConfigSelected.name || "configuração selecionada";
583
- const origin = this._optionFormConfigSelected.origin === formConfigFetcher.UserConfigType.DEFAULT ? "pessoal" : "padrão";
584
- const msg = this.getMessage("snkFormConfig.confirm.apply").replace('{0}', name).replace('{1}', origin);
585
- this.openConfirmDialog(msg).then((canCancel) => {
586
- if (canCancel) {
587
- this.saveConfig();
588
- }
589
- });
590
- }
591
- else {
592
- this.saveConfig();
593
- }
594
- }
595
- controlFieldConfig(fieldConfig = undefined) {
596
- var _a;
597
- if (fieldConfig == undefined) {
598
- this._fieldConfigSelected = undefined;
599
- return;
600
- }
601
- if (((_a = this._fieldConfigSelected) === null || _a === void 0 ? void 0 : _a.name) === (fieldConfig === null || fieldConfig === void 0 ? void 0 : fieldConfig.name)) {
602
- this._fieldConfigSelected = undefined;
603
- }
604
- else {
605
- this._fieldConfigSelected = fieldConfig;
606
- }
607
- }
608
- getFieldConfigStyle(fieldConfig) {
609
- var _a;
610
- return this._formFieldsStyle +
611
- (((_a = this._fieldConfigSelected) === null || _a === void 0 ? void 0 : _a.name) === fieldConfig.name ? " form-config__field-config--selected" : "");
612
- }
613
- getFieldsByGroup(group) {
614
- var _a;
615
- return ((_a = group.fields) === null || _a === void 0 ? void 0 : _a.length) ? group.fields.map((field) => {
616
- var _a, _b;
617
- return index.h("div", { key: field.name, class: this.getFieldConfigStyle(field), "data-draggable-element": "field", onMouseDown: (evt) => this.controlMoveField(evt) }, index.h("snk-field-config", { messagesBuilder: this.messagesBuilder, onEzClickIcon: (evt) => { this.handleFieldConfigChange(evt); }, modeInsertion: false, fieldConfig: field, dataUnit: this.dataUnit, isConfigActive: ((_a = this._fieldConfigSelected) === null || _a === void 0 ? void 0 : _a.name) === field.name, id: field.name, key: field.name }), ((_b = this._fieldConfigSelected) === null || _b === void 0 ? void 0 : _b.name) === field.name &&
618
- index.h("div", { class: "ez-flex form-config__config-options" }, index.h("snk-config-options", { idConfig: field.name, messagesBuilder: this.messagesBuilder, dataUnit: this.dataUnit, fieldConfig: this._fieldConfigSelected, "data-element-id": this._element.getAttribute(core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), onConfigOptionsChanged: (evt) => this.handleconfigOptionsChanged(evt.detail) })));
619
- }) : index.h("div", { class: "form-config__add-group-container" }, index.h("div", { class: "form-config__add-group-content" }, index.h("div", { class: "form-config__add-group-label" }, index.h("label", { class: "ez-text ez-text--center ez-text--medium ez-text--primary ez-text--bold" }, this.getMessage("snkFormConfig.form.labelDropField")))));
620
- }
621
- handleconfigOptionsChanged(fieldEdited) {
622
- var _a;
623
- (_a = this._formConfig.fields) === null || _a === void 0 ? void 0 : _a.forEach(field => {
624
- });
625
- this._formConfigChanged = true;
626
- }
627
- closeFormConfig() {
628
- if (this._formConfigChanged === true || this._optionFormConfigChanged === true) {
629
- this.openConfirmDialog(this.getMessage("snkFormConfig.confirm.exit")).then((canClose) => {
630
- if (canClose) {
631
- this._formConfigChanged = false;
632
- this.configClose.emit();
633
- }
634
- });
635
- }
636
- else {
637
- this.configClose.emit();
638
- }
639
- }
640
- openConfirmDialog(msg = "", title = this.getMessage("snkFormConfig.confirm.title")) {
641
- return utils.ApplicationUtils.confirm(title, msg);
642
- }
643
- controlMoveField(evt) {
644
- const element = evt === null || evt === void 0 ? void 0 : evt.target;
645
- if ((element === null || element === void 0 ? void 0 : element.closest('[data-draggable-element="field"]')) != undefined) {
646
- this._mouseOnFieldConfig = true;
647
- if ((element === null || element === void 0 ? void 0 : element.closest(".form-config__config-options")) != undefined || (element === null || element === void 0 ? void 0 : element.closest('.field-config__options')) != undefined) {
648
- this._mouseOnConfigOptions = true;
649
- }
650
- else {
651
- const iconList = ['minus', 'settings-inverted', 'chevron-up'];
652
- const iconName = element === null || element === void 0 ? void 0 : element.iconName;
653
- if (iconList.includes(iconName) === false) {
654
- this.controlFieldConfig();
655
- }
656
- }
657
- }
658
- }
659
- controlStartDraggingField(evt) {
660
- var _a, _b, _c;
661
- if (this._mouseOnConfigOptions) {
662
- evt === null || evt === void 0 ? void 0 : evt.cancel();
663
- this._mouseOnConfigOptions = false;
664
- }
665
- else {
666
- const sourceContainer = (_c = (_b = (_a = evt === null || evt === void 0 ? void 0 : evt.data) === null || _a === void 0 ? void 0 : _a.dragEvent) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.sourceContainer;
667
- if (sourceContainer != undefined) {
668
- sourceContainer.classList.add(this._fieldFloatingStyle);
669
- }
670
- }
671
- }
672
- controlSortedDraggingField(evt) {
673
- var _a, _b, _c, _d, _e, _f, _g, _h;
674
- const oldContainer = (_a = evt === null || evt === void 0 ? void 0 : evt.data) === null || _a === void 0 ? void 0 : _a.oldContainer;
675
- const newContainer = (_b = evt === null || evt === void 0 ? void 0 : evt.data) === null || _b === void 0 ? void 0 : _b.newContainer;
676
- const draggingElement = (_e = (_d = (_c = evt === null || evt === void 0 ? void 0 : evt.data) === null || _c === void 0 ? void 0 : _c.dragEvent) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.source;
677
- const originalElement = (_h = (_g = (_f = evt === null || evt === void 0 ? void 0 : evt.data) === null || _f === void 0 ? void 0 : _f.dragEvent) === null || _g === void 0 ? void 0 : _g.data) === null || _h === void 0 ? void 0 : _h.originalSource;
678
- if (oldContainer != undefined && newContainer != undefined && draggingElement != undefined && originalElement != undefined) {
679
- if ((newContainer.tagName === CONTAINER_ID.collapsibleBox
680
- || newContainer.id === CONTAINER_ID.withoutGroup)
681
- && oldContainer.id === CONTAINER_ID.fieldsAvailable) {
682
- draggingElement.className = this._formFieldsStyle;
683
- draggingElement.querySelector('snk-field-config').modeInsertion = false;
684
- originalElement.className = this._formFieldsStyle;
685
- originalElement.querySelector('snk-field-config').modeInsertion = false;
686
- }
687
- else if ((oldContainer.tagName === CONTAINER_ID.collapsibleBox
688
- || oldContainer.id === CONTAINER_ID.withoutGroup)
689
- && newContainer.id === CONTAINER_ID.fieldsAvailable) {
690
- draggingElement.className = this._fieldsAvailableStyle;
691
- draggingElement.querySelector('snk-field-config').modeInsertion = true;
692
- originalElement.className = this._fieldsAvailableStyle;
693
- originalElement.querySelector('snk-field-config').modeInsertion = true;
694
- }
695
- }
696
- }
697
- isCancelDragAvailableField(newContainer, oldContainer, evt) {
698
- var _a, _b;
699
- if (newContainer == undefined || oldContainer == undefined || evt == undefined) {
700
- return false;
701
- }
702
- if (((_a = evt.data) === null || _a === void 0 ? void 0 : _a.newIndex) !== ((_b = evt.data) === null || _b === void 0 ? void 0 : _b.oldIndex)
703
- && newContainer.id === CONTAINER_ID.fieldsAvailable
704
- && oldContainer.id === newContainer.id) {
705
- evt.cancel();
706
- this._fieldsAvailable = [];
707
- setTimeout(() => {
708
- this.buildAvailableFields();
709
- }, this._sortableTimer);
710
- return true;
711
- }
712
- return false;
713
- }
714
- isRemoveField(newContainer, oldContainer, fieldConfig) {
715
- if (newContainer == undefined || oldContainer == undefined || fieldConfig == undefined) {
716
- return false;
717
- }
718
- if ((oldContainer.tagName === CONTAINER_ID.collapsibleBox
719
- || oldContainer.id === CONTAINER_ID.withoutGroup)
720
- && newContainer.id === CONTAINER_ID.fieldsAvailable) {
721
- const eventDetail = {
722
- detail: {
723
- field: fieldConfig,
724
- type: constants.ACTION_CONFIG.remove
725
- }
726
- };
727
- setTimeout(() => {
728
- this.handleFieldConfigChange(eventDetail);
729
- }, this._renderTimer);
730
- return true;
731
- }
732
- return false;
733
- }
734
- isAddOrMoveField(newContainer, oldContainer, fieldConfig, data) {
735
- var _a;
736
- if (newContainer == undefined || oldContainer == undefined || fieldConfig == undefined || data == undefined) {
737
- return false;
738
- }
739
- if (data.newIndex !== data.oldIndex
740
- || oldContainer.dataset.groupName !== newContainer.dataset.groupName
741
- || (newContainer.id === CONTAINER_ID.withoutGroup
742
- && oldContainer.id === CONTAINER_ID.fieldsAvailable)) {
743
- if (this.isFieldAvailable(newContainer, oldContainer)) {
744
- fieldConfig.tab = (_a = this._tabConfig) === null || _a === void 0 ? void 0 : _a.selectedTab;
745
- }
746
- fieldConfig.group = newContainer.dataset.groupName;
747
- setTimeout(() => {
748
- const isNewGroup = newContainer.id.includes(CONTAINER_ID.addNewGroup);
749
- if (isNewGroup) {
750
- this.clearTempGroups(true);
751
- }
752
- const sortableTimer = oldContainer.dataset.groupName !== newContainer.dataset.groupName
753
- || (newContainer.id === CONTAINER_ID.withoutGroup && oldContainer.id === CONTAINER_ID.fieldsAvailable)
754
- ? this._sortableTimer
755
- : 0;
756
- this.updateFieldsToSave(sortableTimer);
757
- }, this._renderTimer);
758
- return true;
759
- }
760
- return false;
761
- }
762
- isFieldAvailable(newContainer, oldContainer) {
763
- if (newContainer == undefined || oldContainer == undefined) {
764
- return false;
765
- }
766
- return (newContainer.tagName === CONTAINER_ID.collapsibleBox
767
- || newContainer.id === CONTAINER_ID.withoutGroup)
768
- && oldContainer.id === CONTAINER_ID.fieldsAvailable;
769
- }
770
- controlStopDraggingField(evt) {
771
- var _a, _b, _c, _d, _e, _f;
772
- const oldContainer = (_a = evt === null || evt === void 0 ? void 0 : evt.data) === null || _a === void 0 ? void 0 : _a.oldContainer;
773
- const newContainer = (_b = evt === null || evt === void 0 ? void 0 : evt.data) === null || _b === void 0 ? void 0 : _b.newContainer;
774
- if (this.isCancelDragAvailableField(newContainer, oldContainer, evt)) {
775
- return;
776
- }
777
- const originalElement = (_e = (_d = (_c = evt === null || evt === void 0 ? void 0 : evt.data) === null || _c === void 0 ? void 0 : _c.dragEvent) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.originalSource;
778
- const fieldConfig = (_f = originalElement === null || originalElement === void 0 ? void 0 : originalElement.querySelector('snk-field-config')) === null || _f === void 0 ? void 0 : _f.fieldConfig;
779
- if (this.isRemoveField(newContainer, oldContainer, fieldConfig)) {
780
- return;
781
- }
782
- if (this.isAddOrMoveField(newContainer, oldContainer, fieldConfig, evt === null || evt === void 0 ? void 0 : evt.data)) {
783
- return;
784
- }
785
- }
786
- updateFieldsToSave(updateTimer = 0) {
787
- const fields = this.getFieldsToSave();
788
- if ((fields === null || fields === void 0 ? void 0 : fields.length) > 0) {
789
- this._formConfig.fields = fields;
790
- }
791
- this.loadFields(updateTimer);
792
- this._formConfigChanged = true;
793
- }
794
- controlSortableField() {
795
- if (this._sortableContainer == undefined) {
796
- return;
797
- }
798
- if (this._sortableField) {
799
- this._sortableField.destroy();
800
- }
801
- this._sortableField = new Sortable.Sortable(this._sortableContainer.querySelectorAll('[data-draggable-parent="field"]'), {
802
- draggable: '[data-draggable-element="field"]',
803
- mirror: {
804
- constrainDimensions: true
805
- },
806
- distance: constants.CONFIG_EVENTS.dragStartDistance
807
- });
808
- this._sortableField.on(constants.CONFIG_SORTABLE_EVENTS.dragStart, (evt) => this.controlStartDraggingField(evt));
809
- this._sortableField.on(constants.CONFIG_SORTABLE_EVENTS.dragSorted, (evt) => this.controlSortedDraggingField(evt));
810
- this._sortableField.on(constants.CONFIG_SORTABLE_EVENTS.dragStop, (evt) => this.controlStopDraggingField(evt));
811
- }
812
- controlStartDraggingGroup(evt) {
813
- if (this._mouseOnFieldConfig || this._editingTitleGroup) {
814
- evt === null || evt === void 0 ? void 0 : evt.cancel();
815
- this._mouseOnFieldConfig = false;
816
- }
817
- }
818
- controlStopDraggingGroup(evt) {
819
- if (evt.data.newIndex !== evt.data.oldIndex) {
820
- setTimeout(() => {
821
- this.updateFieldsToSave(this._sortableTimer);
822
- }, this._renderTimer);
823
- }
824
- }
825
- controlSortableGroup() {
826
- if (this._sortableContainer == undefined) {
827
- return;
828
- }
829
- if (this._sortableGroup) {
830
- this._sortableGroup.destroy();
831
- }
832
- this._sortableGroup = new Sortable.Sortable(this._sortableContainer.querySelectorAll('[data-draggable-parent="group"]'), {
833
- draggable: '[data-draggable-element="group"]',
834
- mirror: {
835
- constrainDimensions: true
836
- },
837
- distance: constants.CONFIG_EVENTS.dragStartDistance
838
- });
839
- this._sortableGroup.on(constants.CONFIG_SORTABLE_EVENTS.dragStart, (evt) => this.controlStartDraggingGroup(evt));
840
- this._sortableGroup.on(constants.CONFIG_SORTABLE_EVENTS.dragStop, (evt) => this.controlStopDraggingGroup(evt));
841
- }
842
- loadUserConfig() {
843
- if (this.configManager == undefined) {
844
- return;
845
- }
846
- this.configManager.fetchUserAvailableConfigs()
847
- .then((userConfig) => {
848
- this._formConfigOptions = userConfig;
849
- if (this._formConfigOptions == undefined) {
850
- return;
851
- }
852
- let isDefault = this._formConfig != undefined ? this._formConfig.defaultConfiguration : true;
853
- const selectedOption = userConfig
854
- .find((config) => {
855
- return config.origin === (isDefault ? formConfigFetcher.UserConfigType.DEFAULT : formConfigFetcher.UserConfigType.USER);
856
- });
857
- this.setFormConfig(selectedOption);
858
- });
859
- }
860
- setFormConfig(config) {
861
- this._optionFormConfigSelected = config;
862
- }
863
- controlSelectFormConfig(evt) {
864
- const action = evt === null || evt === void 0 ? void 0 : evt.detail;
865
- const selectedOption = this._formConfigOptions
866
- .find((config) => {
867
- return config.origin === (action === null || action === void 0 ? void 0 : action.value);
868
- });
869
- this.setFormConfig(selectedOption);
870
- this._optionFormConfigChanged = true;
871
- this.loadConfigByUser();
872
- }
873
- changeTabOrder(newIndex) {
874
- const tabs = [];
875
- const tabConfigs = this._tabConfig.querySelectorAll('.tab-config__tab');
876
- this._tabSelected = newIndex;
877
- tabConfigs.forEach((tabConfig, index) => {
878
- var _a;
879
- if (index) {
880
- const label = (_a = tabConfig.querySelector('.tab-config__tab-label')) === null || _a === void 0 ? void 0 : _a.getAttribute('title');
881
- tabs.push({
882
- label,
883
- order: (index - 1)
884
- });
885
- }
886
- });
887
- this._layoutFormConfig.map((tabLayout) => {
888
- tabs.forEach((tab) => {
889
- tab.label === tabLayout.tab && (tab.visible = tabLayout.visible);
890
- });
891
- });
892
- if (tabs.length > 0) {
893
- this._formConfig.tabs = tabs;
894
- this.loadFields(this._sortableTimer);
895
- this.controlFieldConfig();
896
- this._formConfigChanged = true;
897
- }
898
- }
899
- async loadConfigByUser() {
900
- if (this.configManager == undefined) {
901
- return;
902
- }
903
- if (this._optionFormConfigSelected == undefined) {
904
- return;
905
- }
906
- let config;
907
- switch (this._optionFormConfigSelected.origin) {
908
- case formConfigFetcher.UserConfigType.DEFAULT:
909
- config = await this.configManager.fetchDefaultConfig();
910
- if (!config) {
911
- config = this.configManager.getEmptyConfig();
912
- }
913
- break;
914
- default:
915
- config = this.getConfig();
916
- break;
917
- }
918
- if (config != undefined) {
919
- this._formConfig = config;
920
- this._tabSelected = 1;
921
- this.loadFields(this._sortableTimer);
922
- this.controlFieldConfig();
923
- this.clearTempGroups();
924
- }
925
- }
926
- loadConfig(updateTimer = 0) {
927
- this.loadFormConfig(updateTimer);
928
- this.loadUserConfig();
929
- }
930
- addNewGroup() {
931
- var _a, _b;
932
- const tab = (_a = this._tabConfig) === null || _a === void 0 ? void 0 : _a.selectedTab;
933
- const hasGroup = (_b = this._tempGroups) === null || _b === void 0 ? void 0 : _b.find((tempGroup) => {
934
- return tempGroup.tab === tab && tempGroup.group.includes(this._labelNewGroup);
935
- });
936
- if (hasGroup == undefined) {
937
- this._tempGroups.push({
938
- tab,
939
- group: this.handleDuplicateGroups(this._labelNewGroup, this._tabConfig.selectedTab)
940
- });
941
- this.loadFields();
942
- this.controlFieldConfig();
943
- this._formConfigChanged = true;
944
- }
945
- }
946
- clearTempGroups(clearInTab = false) {
947
- var _a;
948
- if (((_a = this._tempGroups) === null || _a === void 0 ? void 0 : _a.length) > 0) {
949
- if (clearInTab) {
950
- this._tempGroups = this._tempGroups.filter((tempGroup) => {
951
- return tempGroup.tab !== this._tabConfig.selectedTab;
952
- });
953
- }
954
- else {
955
- this._tempGroups = [];
956
- }
957
- }
958
- }
959
- removeGroup(indexTempGroup = undefined) {
960
- if (indexTempGroup != undefined) {
961
- this._tempGroups = this._tempGroups.filter((tempGroup, index) => {
962
- return (index !== indexTempGroup
963
- && tempGroup.tab === this._tabConfig.selectedTab)
964
- || tempGroup.tab !== this._tabConfig.selectedTab;
965
- });
966
- }
967
- else {
968
- this.updateFieldsToSave(this._sortableTimer);
969
- }
970
- }
971
- checkGroupExists(newLabel, indexGroup, isTempGroup = false) {
972
- var _a, _b, _c;
973
- const tabName = (_a = this._tabConfig) === null || _a === void 0 ? void 0 : _a.selectedTab;
974
- const currentTab = (_b = this._layoutFormConfig) === null || _b === void 0 ? void 0 : _b.find(tab => tab.tab === tabName);
975
- const tabGroupsNames = (_c = currentTab === null || currentTab === void 0 ? void 0 : currentTab.groups) === null || _c === void 0 ? void 0 : _c.map(tab => { var _a; return (_a = tab.group) === null || _a === void 0 ? void 0 : _a.toLowerCase(); });
976
- if (tabGroupsNames === null || tabGroupsNames === void 0 ? void 0 : tabGroupsNames.includes(newLabel === null || newLabel === void 0 ? void 0 : newLabel.toLowerCase())) {
977
- const title = this.getMessage("snkFormConfig.confirm.title");
978
- const message = `
979
- ${this.getMessage("snkFormConfig.alert.titleGroupExists")}
980
- <b>${newLabel}</b>
981
- ${this.getMessage("snkFormConfig.alert.inTab")}
982
- <b>${tabName === constants.TAB_NAMES.main ? this.getMessage("snkFormConfig.form.mainArea") : tabName}</b>.
983
- <br/><br/>
984
- ${this.getMessage("snkFormConfig.alert.infoValidTitle")}
985
- `;
986
- utils.ApplicationUtils.alert(title, message)
987
- .then(() => {
988
- var _a, _b;
989
- if (isTempGroup) {
990
- (_a = this._newGroupBoxes[indexGroup]) === null || _a === void 0 ? void 0 : _a.applyFocusTextEdit();
991
- }
992
- else {
993
- (_b = this._currentGroupBoxes[tabName][indexGroup]) === null || _b === void 0 ? void 0 : _b.applyFocusTextEdit();
994
- }
995
- });
996
- return false;
997
- }
998
- return true;
999
- }
1000
- saveEditLabelTempGroup(editDetails, index) {
1001
- const { newValue: newLabel } = editDetails.detail;
1002
- if (this._newGroupBoxes != undefined && this._newGroupBoxes[index] != undefined) {
1003
- this._newGroupBoxes[index].dataset.groupName = newLabel;
1004
- }
1005
- }
1006
- saveEditLabelGroup(editDetails) {
1007
- var _a;
1008
- const { value: oldLabel, newValue: newLabel } = editDetails.detail;
1009
- (_a = this._formConfig.fields) === null || _a === void 0 ? void 0 : _a.forEach((field) => {
1010
- if (field.group === oldLabel) {
1011
- field.group = newLabel;
1012
- }
1013
- });
1014
- this.loadFields(this._sortableTimer);
1015
- this.controlFieldConfig();
1016
- this._formConfigChanged = true;
1017
- }
1018
- renderTempGroupByTab(tabName) {
1019
- return this._tempGroups.map((tempGroup, indexGroup) => {
1020
- if (tempGroup.tab === tabName) {
1021
- return index.h("ez-collapsible-box", { ref: ref => this._newGroupBoxes[indexGroup] = ref, id: `${CONTAINER_ID.addNewGroup}-${indexGroup}`, editable: true, removable: true, "header-size": "large", label: tempGroup.group, "icon-placement": "left", "data-group-name": tempGroup.group, "data-draggable-parent": "field", class: "form-config__add-group", onEzRemove: () => this.removeGroup(indexGroup), onEzSaveEditLabel: (evt) => this.saveEditLabelTempGroup(evt, indexGroup), onEzEditLabelMode: (evt) => this._editingTitleGroup = evt.detail, conditionalSave: (newLabel) => this.checkGroupExists(newLabel, indexGroup, true) }, this.getFieldsByGroup(tempGroup));
1022
- }
1023
- });
1024
- }
1025
- handleDuplicateGroups(titleNewGroup, currentTab) {
1026
- var _a;
1027
- const selectedTabGroups = this._layoutFormConfig[this._tabConfig.selectedIndex].groups.map(tab => tab.group);
1028
- if (selectedTabGroups != undefined) {
1029
- (_a = this._layoutFormConfig) === null || _a === void 0 ? void 0 : _a.map(tab => {
1030
- if (tab.tab === currentTab) {
1031
- if (tab.groups.some(groups => groups.group === titleNewGroup)) {
1032
- titleNewGroup += `${this.captureHighestValueTitle(selectedTabGroups)}`;
1033
- }
1034
- }
1035
- });
1036
- }
1037
- return titleNewGroup;
1038
- }
1039
- captureHighestValueTitle(groupsTemp) {
1040
- let valuesNumericTitle = [];
1041
- groupsTemp === null || groupsTemp === void 0 ? void 0 : groupsTemp.map(group => {
1042
- if (group != undefined) {
1043
- valuesNumericTitle.push(group.replace(/[^0-9]/g, ''));
1044
- }
1045
- });
1046
- if (Math.max.apply(null, valuesNumericTitle) > 0) {
1047
- return ` (${Math.max.apply(null, valuesNumericTitle) + 1})`;
1048
- }
1049
- else {
1050
- return ' (1)';
1051
- }
1052
- }
1053
- getLayoutFormConfig() {
1054
- var _a, _b, _c;
1055
- if (((_a = this._formConfig) === null || _a === void 0 ? void 0 : _a.fields) == undefined) {
1056
- return;
1057
- }
1058
- let layoutFormConfig = [];
1059
- let fields = [];
1060
- for (const field of this._formConfig.fields) {
1061
- const hasField = fields.find((fieldTemp) => {
1062
- return field.name === fieldTemp.name && field.tab === fieldTemp.tab;
1063
- });
1064
- if (hasField == undefined) {
1065
- fields.push(field);
1066
- const fieldMD = this.dataUnit.getField(field.name);
1067
- /**
1068
- * Quando um campo é ocultado pelo dev, mas queremos manter ele na config precisamos fazer essa tratativa.
1069
- */
1070
- const visibleOnConfig = ((_b = fieldMD === null || fieldMD === void 0 ? void 0 : fieldMD.properties) === null || _b === void 0 ? void 0 : _b.visibleOnConfig) === true && (fieldMD === null || fieldMD === void 0 ? void 0 : fieldMD.visible) === false;
1071
- if ((fieldMD === null || fieldMD === void 0 ? void 0 : fieldMD.visible) || visibleOnConfig) {
1072
- if (field.label == undefined || field.label === "") {
1073
- field.label = fieldMD.label;
1074
- }
1075
- if (field.tab == undefined || field.tab === "") {
1076
- field.tab = this.getMessage("snkFormConfig.form.tabGeneral");
1077
- }
1078
- let tab = layoutFormConfig.find(value => value.tab === field.tab);
1079
- if (tab == undefined) {
1080
- let visible = null;
1081
- if (this._formConfig.tabs != undefined) {
1082
- const configTabs = this._formConfig.tabs.filter(configTab => configTab.label === field.tab);
1083
- if (configTabs.length > 0) {
1084
- visible = configTabs[0].visible;
1085
- }
1086
- }
1087
- const tabLabel = ((_c = field.tab) === null || _c === void 0 ? void 0 : _c.label) || field.tab;
1088
- if (visible !== null) {
1089
- tab = { tab: tabLabel, groups: [], visible };
1090
- }
1091
- else {
1092
- tab = { tab: tabLabel, groups: [], visible: true };
1093
- }
1094
- layoutFormConfig.push(tab);
1095
- }
1096
- const group = tab.groups.find(value => value.group === field.group);
1097
- if (group) {
1098
- group.fields.push(field);
1099
- }
1100
- else {
1101
- const newGroup = { group: field.group, fields: [field] };
1102
- if (field.group === undefined) {
1103
- tab.groups.unshift(newGroup);
1104
- }
1105
- else {
1106
- tab.groups.push(newGroup);
1107
- }
1108
- }
1109
- }
1110
- }
1111
- }
1112
- return layoutFormConfig;
1113
- }
1114
- configureTabs(layoutFormConfig) {
1115
- var _a;
1116
- if (((_a = this._formConfig) === null || _a === void 0 ? void 0 : _a.tabs) == undefined) {
1117
- return layoutFormConfig;
1118
- }
1119
- if (layoutFormConfig == undefined) {
1120
- layoutFormConfig = [];
1121
- }
1122
- if (this._formConfig.defaultConfiguration) {
1123
- return layoutFormConfig;
1124
- }
1125
- return this._formConfig.tabs.map((tab) => {
1126
- return layoutFormConfig.find(config => { var _a, _b; return ((_a = tab.label) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === ((_b = config.tab) === null || _b === void 0 ? void 0 : _b.toLowerCase()); })
1127
- || { tab: tab.label, groups: [], visible: tab.visible };
1128
- });
1129
- }
1130
- configureTabMain(layoutFormConfig) {
1131
- if (layoutFormConfig == undefined) {
1132
- layoutFormConfig = [];
1133
- }
1134
- const hasTabMain = layoutFormConfig.find((layoutTab) => {
1135
- return layoutTab.tab === constants.TAB_NAMES.main;
1136
- });
1137
- if (hasTabMain == undefined) {
1138
- layoutFormConfig.unshift({ tab: constants.TAB_NAMES.main, groups: [], visible: true });
1139
- }
1140
- return layoutFormConfig;
1141
- }
1142
- updateTabs() {
1143
- const tabs = this.getTabsToSave();
1144
- if ((tabs === null || tabs === void 0 ? void 0 : tabs.length) > 0) {
1145
- this._formConfig.tabs = tabs;
1146
- if (tabs.length === 1) {
1147
- this._tabSelected = 0;
1148
- }
1149
- }
1150
- }
1151
- buildFormConfig() {
1152
- var _a;
1153
- if (((_a = this._formConfig) === null || _a === void 0 ? void 0 : _a.fields) == undefined) {
1154
- return;
1155
- }
1156
- let layoutFormConfig = this.getLayoutFormConfig();
1157
- layoutFormConfig = this.configureTabs(layoutFormConfig);
1158
- layoutFormConfig = this.configureTabMain(layoutFormConfig);
1159
- this._layoutFormConfig = layoutFormConfig;
1160
- this.updateTabs();
1161
- }
1162
- buildAvailableFields() {
1163
- var _a, _b;
1164
- if (((_a = this._formConfig) === null || _a === void 0 ? void 0 : _a.fields) == undefined) {
1165
- return;
1166
- }
1167
- let fieldsFormConfig = [];
1168
- let fieldsMetadata = this.dataUnit.metadata.fields;
1169
- for (const field of this._formConfig.fields) {
1170
- fieldsFormConfig.push(field);
1171
- }
1172
- const listFieldsAvailable = fieldsMetadata.filter(({ name: _nameFieldMetadado, visible: _visibleMetadado, properties }) => {
1173
- const hasCfg = fieldsFormConfig.some(({ name: _nameFieldForm }) => _nameFieldForm === _nameFieldMetadado);
1174
- /**
1175
- * Quando a visibilidade de um campo é alterada pelo dataunit, mas o desenvolvedor deseja que o mesmo continue
1176
- * sendo apresentado no configurador, precisamos fazer essa tratativa, verificando se o campo não tem configuração
1177
- */
1178
- if (!hasCfg && properties.visibleOnConfig === true && !_visibleMetadado)
1179
- return properties.visibleOnConfig;
1180
- return _visibleMetadado === true && hasCfg === false;
1181
- });
1182
- this._fieldsAvailable = listFieldsAvailable;
1183
- this._listEnabledFields = listFieldsAvailable;
1184
- if (((_b = this._filterFieldsAvailable) === null || _b === void 0 ? void 0 : _b.value) != undefined) {
1185
- const filterValue = this._filterFieldsAvailable.value;
1186
- this.onFilterChange(filterValue);
1187
- }
1188
- }
1189
- changeTabSelected(tabSelected) {
1190
- this._tabSelected = tabSelected.index;
1191
- const selectorTab = this._formContainer.querySelector("div#tab" + tabSelected.index);
1192
- this._formContainer.querySelectorAll(".form-config__tab-content").forEach(container => container.className = "form-config__hide-content sc-snk-form-config");
1193
- if (selectorTab) {
1194
- selectorTab.className = "form-config__tab-content ez-flex ez-flex--column ez-size-width--full ez-padding--medium sc-snk-form-config";
1195
- }
1196
- }
1197
- onFilterChange(value) {
1198
- this._fieldsAvailable = core.ArrayUtils.applyStringFilter(value, this._listEnabledFields, true, "label");
1199
- }
1200
- orderFieldsAvailable(fields) {
1201
- return core.ArrayUtils.sortAlphabetically(fields);
1202
- }
1203
- handleLabelCounter(sizeList) {
1204
- const labels = [this.getMessage("snkFormConfig.availableFields.labelNoFields"), this.getMessage("snkFormConfig.availableFields.labelOneField")];
1205
- return sizeList > 1 ? `${sizeList} ${this.getMessage("snkFormConfig.availableFields.labelAvailableFields")}` : labels[sizeList];
1206
- }
1207
- controlAddFieldConfig(fieldConfig) {
1208
- var _a;
1209
- this._formConfigChanged = false;
1210
- if (fieldConfig == undefined) {
1211
- return;
1212
- }
1213
- if (this._formConfig.fields == undefined) {
1214
- this._formConfig.fields = [];
1215
- }
1216
- const fieldFinded = this._formConfig.fields.filter((field) => {
1217
- return field.name === fieldConfig.name && field.tab && fieldConfig.tab;
1218
- });
1219
- if (fieldFinded.length > 0) {
1220
- fieldFinded.forEach((field) => {
1221
- field.name = fieldConfig.name;
1222
- field.label = fieldConfig.label;
1223
- field.required = fieldConfig.required;
1224
- field.readOnly = fieldConfig.readOnly;
1225
- field.group = fieldConfig.group;
1226
- });
1227
- }
1228
- else {
1229
- this._formConfig.fields.push({
1230
- name: fieldConfig.name,
1231
- label: fieldConfig.label,
1232
- required: fieldConfig.required,
1233
- readOnly: fieldConfig.readOnly,
1234
- group: fieldConfig.group,
1235
- tab: (_a = this._tabConfig) === null || _a === void 0 ? void 0 : _a.selectedTab
1236
- });
1237
- }
1238
- this.loadFields();
1239
- this.controlFieldConfig();
1240
- this._formConfigChanged = true;
1241
- this.resetSortables();
1242
- }
1243
- controlRemoveFieldConfig(fieldConfig, updateTimer) {
1244
- var _a;
1245
- this._formConfigChanged = false;
1246
- if (fieldConfig == undefined) {
1247
- return;
1248
- }
1249
- this._formConfig.fields = (_a = this._formConfig.fields) === null || _a === void 0 ? void 0 : _a.filter((field) => field.name !== fieldConfig.name);
1250
- this.loadFields(updateTimer);
1251
- this.controlFieldConfig();
1252
- this._formConfigChanged = true;
1253
- this.resetSortables();
1254
- }
1255
- resetSortables() {
1256
- this.controlSortableField();
1257
- this.controlSortableGroup();
1258
- }
1259
- handleFieldConfigChange(evt, updateTimer = 0) {
1260
- const { field: fieldConfig, type: actionType } = evt.detail;
1261
- if (actionType === constants.ACTION_CONFIG.configuration) {
1262
- this.controlFieldConfig(fieldConfig);
1263
- return;
1264
- }
1265
- if (actionType === constants.ACTION_CONFIG.remove) {
1266
- this.controlRemoveFieldConfig(fieldConfig, updateTimer);
1267
- return;
1268
- }
1269
- if (actionType === constants.ACTION_CONFIG.add) {
1270
- this.controlAddFieldConfig(fieldConfig);
1271
- return;
1272
- }
1273
- }
1274
- changeTabLabel(editDetails) {
1275
- var _a, _b;
1276
- const { value: oldLabel, newValue: newLabel } = editDetails.detail.detail;
1277
- (_a = this._formConfig.fields) === null || _a === void 0 ? void 0 : _a.forEach((field) => {
1278
- if (field.tab === oldLabel) {
1279
- field.tab = newLabel;
1280
- }
1281
- });
1282
- (_b = this._formConfig.tabs) === null || _b === void 0 ? void 0 : _b.forEach((tab) => {
1283
- if (tab.label === oldLabel) {
1284
- tab.label = newLabel;
1285
- }
1286
- });
1287
- this.loadFields(this._sortableTimer);
1288
- this.controlFieldConfig();
1289
- this._formConfigChanged = true;
1290
- }
1291
- handleDeleteTab(tabSelected) {
1292
- let options = {
1293
- canClose: false,
1294
- labelCancel: this.getMessage("snkFormConfig.confirm.labelCancel"),
1295
- labelConfirm: this.getMessage("snkFormConfig.confirm.labelDelete"),
1296
- btnConfirmDanger: false
1297
- };
1298
- const title = this.getMessage("snkFormConfig.confirm.title");
1299
- const deleteTab = this.getMessage("snkFormConfig.confirm.deleteTab") + ` <b>${tabSelected.detail.label}</b>?`;
1300
- utils.ApplicationUtils.confirm(title, deleteTab, null, utils.DialogType.WARN, options)
1301
- .then(response => {
1302
- var _a;
1303
- if (response) {
1304
- this._formConfig.tabs = (_a = this._formConfig.tabs) === null || _a === void 0 ? void 0 : _a.filter((tab) => {
1305
- return tab.label !== tabSelected.detail.label;
1306
- });
1307
- this.loadFields(this._sortableTimer);
1308
- this.controlFieldConfig();
1309
- this._formConfigChanged = true;
1310
- }
1311
- });
1312
- }
1313
- changeHideTab(tabSelected) {
1314
- var _a;
1315
- (_a = this._formConfig.tabs) === null || _a === void 0 ? void 0 : _a.forEach((tab) => {
1316
- if (tab.label === tabSelected.detail.label) {
1317
- tab.visible = !tab.visible;
1318
- }
1319
- });
1320
- this.loadFields(this._sortableTimer);
1321
- this.controlFieldConfig();
1322
- this._formConfigChanged = true;
1323
- }
1324
- handleCanStartDragTab() {
1325
- var _a, _b;
1326
- const tabs = this._layoutFormConfig.map(tab => tab.tab);
1327
- for (const tab of tabs) {
1328
- (_a = this._currentGroupBoxes[tab]) === null || _a === void 0 ? void 0 : _a.map(collapsibleBox => collapsibleBox === null || collapsibleBox === void 0 ? void 0 : collapsibleBox.cancelEdition());
1329
- }
1330
- (_b = this._newGroupBoxes) === null || _b === void 0 ? void 0 : _b.map(collapsibleBox => collapsibleBox === null || collapsibleBox === void 0 ? void 0 : collapsibleBox.cancelEdition());
1331
- }
1332
- /**
1333
- * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
1334
- * através de um pequeno modulo na estrutura da aplicação:
1335
- * - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
1336
- * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-form.msg.ts"
1337
- */
1338
- getMessage(key, params) {
1339
- return this.messagesBuilder.getMessage(key, params);
1340
- }
1341
- componentDidRender() {
1342
- this.controlSortableField();
1343
- this.controlSortableGroup();
1344
- }
1345
- async componentWillRender() {
1346
- if (this.messagesBuilder == undefined) {
1347
- const application = core.ApplicationContext.getContextValue("__SNK__APPLICATION__");
1348
- this.messagesBuilder = application.messagesBuilder;
1349
- }
1350
- }
1351
- componentWillLoad() {
1352
- this.loadConfig();
1353
- }
1354
- componentDidLoad() {
1355
- const dataInfo = { dataUnit: this.dataUnit };
1356
- core.ElementIDUtils.addIDInfo(this._element, null, dataInfo);
1357
- }
1358
- render() {
1359
- var _a, _b, _c, _d;
1360
- return (index.h(index.Host, null, index.h("div", { class: "ez-row ez-padding--medium" }, index.h("div", { class: "ez-col ez-col--sd-7 ez-col--tb-9 ez-align--middle" }, index.h("ez-button", { mode: "icon", title: this.getMessage("snkFormConfig.goBackTitle"), iconName: "arrow_back", class: "ez-padding--small", size: "small", onClick: () => this.closeFormConfig(), id: "formConfigToBack" }), index.h("h1", { class: "ez-title ez-title--primary ez-title--extra-large ez-padding--small" }, this.getMessage("snkFormConfig.title")), this._formConfigOptions &&
1361
- index.h("ez-actions-button", { class: "form-config__actions-button ez-margin-left--medium", value: (_a = this._optionFormConfigSelected) === null || _a === void 0 ? void 0 : _a.origin, showLabel: true, displayIcon: "chevron-down", checkOption: true, size: "small", actions: this._formConfigOptions.map((option) => {
1362
- return { value: option.origin, label: option.name };
1363
- }), onEzAction: (evt) => this.controlSelectFormConfig(evt), id: "selectConfig" })), index.h("div", { class: "ez-col ez-col--sd-5 ez-col--tb-3 ez-align--middle ez-align--right" }, this._formConfigChanged === true && this._optionFormConfigChanged === false &&
1364
- index.h("div", { class: "ez-row ez-align--middle ez-align--right" }, index.h("ez-button", { label: "Cancelar", class: "ez-padding-left--medium", size: "small", onClick: () => this.cancelChangeConfig() }), index.h("ez-button", { label: "Salvar", class: "ez-button--primary ez-padding-left--medium", size: "small", onClick: () => this.saveConfig() }, index.h("ez-icon", { class: "ez-margin-right--small", slot: "leftIcon", iconName: "save" }))), this._optionFormConfigChanged === true &&
1365
- index.h("div", { class: "ez-row ez-align--middle ez-align--right" }, index.h("ez-button", { label: "Cancelar", class: "ez-padding-left--medium", size: "small", onClick: () => this.cancelChangeOptionConfig() }), index.h("ez-button", { label: this.getMessage("snkFormConfig.applyConfig"), class: "ez-button--primary ez-padding-left--medium", size: "small", onClick: () => this.applyOptionConfig() })))), index.h("div", { class: "ez-row ez-padding--medium", ref: ref => this._sortableContainer = ref }, index.h("div", { class: "form-config__tab-container ez-col ez-col--sd-9 ez-col--tb-9 ez-padding-right--medium" }, ((_b = this._layoutFormConfig) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
1366
- index.h("section", { class: "ez-box__container", ref: ref => this._formContainer = ref }, index.h("snk-tab-config", { ref: ref => this._tabConfig = ref, selectedIndex: this._tabSelected, messagesBuilder: this.messagesBuilder, onEzTabChange: (ev) => this.changeTabSelected(ev.detail), onEzOrderChange: (ev) => this.changeTabOrder(ev.detail), onEditionTitleTab: (ev) => this.changeTabLabel(ev), onDeleteTab: (ev) => this.handleDeleteTab(ev), onHideTab: (ev) => this.changeHideTab(ev), onCanStartDrag: () => this.handleCanStartDragTab(), tabItems: this._layoutFormConfig.map((tab) => { return { tabKey: tab.tab, label: tab.tab, visible: tab.visible }; }) }), this._layoutFormConfig.map((tab, indexTab) => index.h("div", { id: "tab" + indexTab, "data-draggable-parent": "group", class: this._tabSelected === indexTab
1367
- ? "form-config__tab-content ez-flex ez-flex--column ez-size-width--full ez-padding--medium"
1368
- : "form-config__hide-content" }, tab.groups.map((group, indexGroup) => {
1369
- if (group.group) {
1370
- if (this._currentGroupBoxes[tab.tab] == undefined) {
1371
- this._currentGroupBoxes[tab.tab] = [];
1372
- }
1373
- return index.h("ez-collapsible-box", { ref: ref => this._currentGroupBoxes[tab.tab][indexGroup] = ref, editable: true, removable: true, "header-size": "large", label: group.group, "icon-placement": "left", "data-group-name": group.group, "data-draggable-parent": "field", "data-draggable-element": "group", onEzRemove: () => this.removeGroup(), onEzSaveEditLabel: (evt) => this.saveEditLabelGroup(evt), onEzEditLabelMode: (evt) => this._editingTitleGroup = evt.detail, conditionalSave: (newLabel) => this.checkGroupExists(newLabel, indexGroup) }, this.getFieldsByGroup(group));
1374
- }
1375
- else {
1376
- return index.h("div", { class: "ez-flex ez-flex--column ez-size-width--full" }, index.h("label", { class: "ez-text ez-text--secondary ez-margin-vertical--small" }, this.getMessage("snkFormConfig.form.subTitleInfo")), index.h("div", { id: CONTAINER_ID.withoutGroup, class: "ez-row", "data-draggable-parent": "field" }, this.getFieldsByGroup(group)), index.h("hr", { class: "ez-divider-horizontal ez-margin-vertical--medium" }));
1377
- }
1378
- }), this.renderTempGroupByTab(tab.tab))), index.h("div", { class: "form-config__btn-add-group ez-row" }, index.h("div", { class: "form-config__btn-add-group-container ez-col ez-col--sd-12 ez-col--tb-12 ez-align--center" }, index.h("ez-button", { label: this.getMessage("snkFormConfig.form.labelNewGroup"), class: "ez-padding-horizontal--small ez-button--primary", size: "small", onClick: () => this.addNewGroup() }, index.h("ez-icon", { class: "ez-margin-right--small", slot: "leftIcon", iconName: "plus" })))))), index.h("div", { class: "form-config__fields-available ez-col ez-col--sd-3 ez-col--tb-3" }, index.h("section", { class: "ez-box__container ez-col ez-col--pn-12" }, index.h("h1", { class: "ez-title ez-title--large ez-title--primary ez-padding-bottom--medium" }, this.getMessage("snkFormConfig.availableFields.title")), index.h("ez-filter-input", { id: "searchFields", ref: ref => this._filterFieldsAvailable = ref, label: this.getMessage("snkFormConfig.availableFields.labelSearchField"), onEzChange: evt => this.onFilterChange(evt.detail) }), index.h("span", { class: "ez-box__label-counter ez-text ez-text--medium ez-text--primary ez-margin-bottom--medium" }, this.handleLabelCounter((_c = this._fieldsAvailable) === null || _c === void 0 ? void 0 : _c.length)), ((_d = this._layoutFormConfig) === null || _d === void 0 ? void 0 : _d.length) > 0 &&
1379
- index.h("div", { id: CONTAINER_ID.fieldsAvailable, class: "ez-row", "data-draggable-parent": "field" }, this.orderFieldsAvailable(this._fieldsAvailable).map((field) => index.h("div", { key: field.name, class: this._fieldsAvailableStyle, "data-draggable-element": "field", onMouseDown: (evt) => this.controlMoveField(evt) }, index.h("snk-field-config", { messagesBuilder: this.messagesBuilder, onEzClickIcon: (evt) => { this.handleFieldConfigChange(evt); }, dataUnit: this.dataUnit, fieldConfig: field, id: field.name })))))))));
1380
- }
1381
- get _element() { return index.getElement(this); }
1382
- static get watchers() { return {
1383
- "configManager": ["observeConfigManager"]
1384
- }; }
1385
- };
1386
- SnkFormConfig.style = snkFormConfigCss;
1387
-
1388
- exports.snk_config_options = SnkConfigOptions;
1389
- exports.snk_form = SnkForm;
1390
- exports.snk_form_config = SnkFormConfig;