@sankhyalabs/sankhyablocks 9.1.0-ms.6 → 9.1.0-ms.7

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 (326) hide show
  1. package/dist/cjs/{ClientSideExporterProvider-6a4108c9.js → ClientSideExporterProvider-994f6e26.js} +10 -6
  2. package/dist/cjs/{ConfigStorage-bb8c0edf.js → ConfigStorage-1931defc.js} +2 -2
  3. package/dist/cjs/{DataFetcher-e23a263b.js → DataFetcher-ad9fb3bb.js} +2724 -22
  4. package/dist/cjs/{FormConfigHelper-c664dbae.js → FormConfigHelper-ebb77625.js} +4 -5
  5. package/dist/cjs/{ISave-e0be2362.js → ISave-18ffb73e.js} +1 -1
  6. package/dist/cjs/{SnkFormConfigManager-a23df43c.js → SnkFormConfigManager-65e5288e.js} +3 -3
  7. package/dist/cjs/{auth-fetcher-8670a38f.js → auth-fetcher-afbe69ab.js} +1 -1
  8. package/dist/cjs/config-header.cjs.entry.js +2 -2
  9. package/dist/cjs/{dataunit-fetcher-c34a8217.js → dataunit-fetcher-c7253b02.js} +22 -21
  10. package/dist/cjs/field-config_2.cjs.entry.js +9 -6
  11. package/dist/cjs/fields-layout.cjs.entry.js +20 -13
  12. package/dist/cjs/fields-selector.cjs.entry.js +11 -6
  13. package/dist/cjs/{form-config-fetcher-d8b78403.js → form-config-fetcher-f6e66d64.js} +1 -1
  14. package/dist/cjs/guides-configurator.cjs.entry.js +14 -3
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +12 -8
  17. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  18. package/dist/cjs/snk-actions-button_8.cjs.entry.js +20 -9
  19. package/dist/cjs/snk-application.cjs.entry.js +51 -21
  20. package/dist/cjs/snk-attach.cjs.entry.js +18 -12
  21. package/dist/cjs/snk-configurator.cjs.entry.js +1 -1
  22. package/dist/cjs/snk-crud.cjs.entry.js +17 -13
  23. package/dist/cjs/snk-data-exporter.cjs.entry.js +5 -6
  24. package/dist/cjs/{snk-data-unit-47c6d16b.js → snk-data-unit-448fce74.js} +14 -20
  25. package/dist/cjs/snk-data-unit.cjs.entry.js +3 -4
  26. package/dist/cjs/snk-detail-view.cjs.entry.js +21 -15
  27. package/dist/cjs/snk-expression-group_2.cjs.entry.js +21 -20
  28. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +12 -12
  29. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  30. package/dist/cjs/snk-filter-number.cjs.entry.js +3 -1
  31. package/dist/cjs/snk-filter-period.cjs.entry.js +3 -1
  32. package/dist/cjs/snk-form_2.cjs.entry.js +8 -8
  33. package/dist/cjs/snk-grid.cjs.entry.js +6 -6
  34. package/dist/cjs/{snk-guides-viewer-1689e877.js → snk-guides-viewer-c23ed218.js} +9 -9
  35. package/dist/cjs/snk-guides-viewer.cjs.entry.js +7 -7
  36. package/dist/cjs/snk-personalized-filter.cjs.entry.js +4 -4
  37. package/dist/cjs/snk-pesquisa.cjs.entry.js +26 -19
  38. package/dist/cjs/snk-simple-crud.cjs.entry.js +18 -16
  39. package/dist/collection/components/snk-actions-button/clientEvent/index.js +3 -2
  40. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +12 -6
  41. package/dist/collection/components/snk-application/snk-application.js +51 -7
  42. package/dist/collection/components/snk-attach/snk-attach.js +1 -1
  43. package/dist/collection/components/snk-attach/structure/builder/attach-crud-config.builder.js +7 -4
  44. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +7 -3
  45. package/dist/collection/components/snk-configurator/snk-configurator.js +1 -1
  46. package/dist/collection/components/snk-crud/snk-crud.js +12 -8
  47. package/dist/collection/components/snk-crud/subcomponents/GuideBuilder.js +11 -3
  48. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +4 -4
  49. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +5 -5
  50. package/dist/collection/components/snk-data-unit/MultipleUpdateHelper.js +4 -1
  51. package/dist/collection/components/snk-data-unit/snk-data-unit.js +0 -8
  52. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +3 -1
  53. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-period.js +3 -1
  54. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +1 -1
  55. package/dist/collection/components/snk-filter-bar/filter-list/snk-filter-list.js +1 -1
  56. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +1 -1
  57. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -0
  58. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +5 -5
  59. package/dist/collection/components/snk-form-config/FormConfigHelper.js +4 -5
  60. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +1 -1
  61. package/dist/collection/components/snk-form-config/config-header/config-header.js +2 -2
  62. package/dist/collection/components/snk-form-config/field-item/field-config/field-config.js +2 -2
  63. package/dist/collection/components/snk-form-config/field-item/field-item.js +6 -3
  64. package/dist/collection/components/snk-form-config/fields-layout/fields-layout.css +2 -2
  65. package/dist/collection/components/snk-form-config/fields-layout/fields-layout.js +20 -11
  66. package/dist/collection/components/snk-form-config/fields-selector/fields-selector.js +30 -5
  67. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.css +2 -2
  68. package/dist/collection/components/snk-form-config/guides-configurator/guides-configurator.js +15 -2
  69. package/dist/collection/components/snk-form-config/snk-form-config.js +3 -3
  70. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +30 -1
  71. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +1 -1
  72. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.js +3 -3
  73. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/filter-operands/filter-operands.js +12 -12
  74. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.js +6 -5
  75. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +28 -4
  76. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +23 -16
  77. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +12 -10
  78. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +26 -1
  79. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +19 -12
  80. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +22 -20
  81. package/dist/collection/lib/message/SnkMessageBuilder.js +19 -14
  82. package/dist/collection/lib/message/messageResourceEnUSUtils.js +30 -45
  83. package/dist/collection/lib/message/messageResourceEsESUtils.js +30 -45
  84. package/dist/collection/lib/message/messageResourcePtBRUtils.js +30 -45
  85. package/dist/collection/lib/message/resources/en-us/continuousInsertUtils.msg.js +6 -0
  86. package/dist/collection/lib/message/resources/en-us/dataFetcher.msg.js +12 -0
  87. package/dist/collection/lib/message/resources/en-us/dataUnitDataLoaderHelper.msg.js +18 -0
  88. package/dist/collection/lib/message/resources/en-us/snk-actions-button.msg.js +3 -1
  89. package/dist/collection/lib/message/resources/en-us/snk-application.msg.js +21 -2
  90. package/dist/collection/lib/message/resources/en-us/snk-attach.msg.js +4 -1
  91. package/dist/collection/lib/message/resources/en-us/snk-configurator.msg.js +6 -1
  92. package/dist/collection/lib/message/resources/en-us/snk-crud.msg.js +28 -3
  93. package/dist/collection/lib/message/resources/en-us/snk-data-unit.msg.js +6 -2
  94. package/dist/collection/lib/message/resources/en-us/snk-error-handler.msg.js +17 -0
  95. package/dist/collection/lib/message/resources/en-us/snk-filter-bar.msg.js +7 -0
  96. package/dist/collection/lib/message/resources/en-us/snk-filter-list.msg.js +3 -0
  97. package/dist/collection/lib/message/resources/en-us/snk-form.msg.js +44 -2
  98. package/dist/collection/lib/message/resources/en-us/snk-layout-form-config.msg.js +10 -0
  99. package/dist/collection/lib/message/resources/en-us/snk-personalized-filter.msg.js +17 -0
  100. package/dist/collection/lib/message/resources/en-us/snk-pesquisa.msg.js +25 -0
  101. package/dist/collection/lib/message/resources/en-us/snk-simple-crud.msg.js +6 -0
  102. package/dist/collection/lib/message/resources/en-us/snk-simple-form-config.msg.js +16 -0
  103. package/dist/collection/lib/message/resources/es-es/continuousInsertUtils.msg.js +6 -0
  104. package/dist/collection/lib/message/resources/es-es/dataFetcher.msg.js +12 -0
  105. package/dist/collection/lib/message/resources/es-es/dataUnitDataLoaderHelper.msg.js +18 -0
  106. package/dist/collection/lib/message/resources/es-es/snk-actions-button.msg.js +3 -1
  107. package/dist/collection/lib/message/resources/es-es/snk-application.msg.js +21 -2
  108. package/dist/collection/lib/message/resources/es-es/snk-attach.msg.js +3 -0
  109. package/dist/collection/lib/message/resources/es-es/snk-configurator.msg.js +6 -1
  110. package/dist/collection/lib/message/resources/es-es/snk-crud.msg.js +27 -2
  111. package/dist/collection/lib/message/resources/es-es/snk-data-unit.msg.js +4 -0
  112. package/dist/collection/lib/message/resources/es-es/snk-error-handler.msg.js +17 -0
  113. package/dist/collection/lib/message/resources/es-es/snk-filter-bar.msg.js +7 -0
  114. package/dist/collection/lib/message/resources/es-es/snk-filter-list.msg.js +3 -0
  115. package/dist/collection/lib/message/resources/es-es/snk-form.msg.js +44 -2
  116. package/dist/collection/lib/message/resources/es-es/snk-layout-form-config.msg.js +10 -0
  117. package/dist/collection/lib/message/resources/es-es/snk-personalized-filter.msg.js +17 -0
  118. package/dist/collection/lib/message/resources/es-es/snk-pesquisa.msg.js +25 -0
  119. package/dist/collection/lib/message/resources/es-es/snk-simple-crud.msg.js +6 -0
  120. package/dist/collection/lib/message/resources/es-es/snk-simple-form-config.msg.js +16 -0
  121. package/dist/collection/lib/message/resources/pt-br/continuousInsertUtils.msg.js +6 -0
  122. package/dist/collection/lib/message/resources/pt-br/dataFetcher.msg.js +12 -0
  123. package/dist/collection/lib/message/resources/pt-br/dataUnitDataLoaderHelper.msg.js +18 -0
  124. package/dist/collection/lib/message/resources/pt-br/snk-actions-button.msg.js +3 -1
  125. package/dist/collection/lib/message/resources/pt-br/snk-application.msg.js +19 -0
  126. package/dist/collection/lib/message/resources/pt-br/snk-attach.msg.js +3 -0
  127. package/dist/collection/lib/message/resources/pt-br/snk-configurator.msg.js +6 -1
  128. package/dist/collection/lib/message/resources/pt-br/snk-crud.msg.js +27 -2
  129. package/dist/collection/lib/message/resources/pt-br/snk-data-unit.msg.js +4 -0
  130. package/dist/collection/lib/message/resources/pt-br/snk-error-handler.msg.js +17 -0
  131. package/dist/collection/lib/message/resources/pt-br/snk-filter-bar.msg.js +7 -0
  132. package/dist/collection/lib/message/resources/pt-br/snk-filter-list.msg.js +3 -0
  133. package/dist/collection/lib/message/resources/pt-br/snk-form.msg.js +45 -3
  134. package/dist/collection/lib/message/resources/pt-br/snk-layout-form-config.msg.js +10 -0
  135. package/dist/collection/lib/message/resources/pt-br/snk-personalized-filter.msg.js +17 -0
  136. package/dist/collection/lib/message/resources/pt-br/snk-pesquisa.msg.js +24 -0
  137. package/dist/collection/lib/message/resources/pt-br/snk-simple-crud.msg.js +6 -0
  138. package/dist/collection/lib/message/resources/pt-br/snk-simple-form-config.msg.js +16 -0
  139. package/dist/collection/lib/utils/ContinuousInsertUtils.js +6 -2
  140. package/dist/components/ContinuousInsertUtils.js +6 -2
  141. package/dist/components/DataFetcher.js +2695 -14
  142. package/dist/components/SnkFormConfigManager.js +1 -1
  143. package/dist/components/config-header2.js +2 -2
  144. package/dist/components/dataunit-fetcher.js +22 -21
  145. package/dist/components/field-config2.js +6 -7
  146. package/dist/components/field-item2.js +6 -3
  147. package/dist/components/fields-layout2.js +19 -12
  148. package/dist/components/fields-selector2.js +11 -5
  149. package/dist/components/guides-configurator2.js +14 -3
  150. package/dist/components/pesquisa-tree2.js +9 -4
  151. package/dist/components/snk-actions-button2.js +3 -2
  152. package/dist/components/snk-application2.js +46 -15
  153. package/dist/components/snk-attach2.js +14 -8
  154. package/dist/components/snk-configurator2.js +1 -1
  155. package/dist/components/snk-crud.js +12 -8
  156. package/dist/components/snk-data-unit2.js +5 -11
  157. package/dist/components/snk-detail-view2.js +19 -13
  158. package/dist/components/snk-expression-group2.js +3 -3
  159. package/dist/components/snk-expression-item2.js +18 -17
  160. package/dist/components/snk-filter-bar2.js +6 -6
  161. package/dist/components/snk-filter-item2.js +1 -1
  162. package/dist/components/snk-filter-list.js +1 -1
  163. package/dist/components/snk-filter-modal.js +1 -1
  164. package/dist/components/snk-filter-number.js +3 -1
  165. package/dist/components/snk-filter-period.js +3 -1
  166. package/dist/components/snk-form-config2.js +3 -3
  167. package/dist/components/snk-layout-form-config2.js +7 -1
  168. package/dist/components/snk-personalized-filter2.js +1 -1
  169. package/dist/components/snk-pesquisa2.js +23 -16
  170. package/dist/components/snk-simple-crud2.js +12 -10
  171. package/dist/components/snk-simple-form-config2.js +7 -1
  172. package/dist/esm/{ClientSideExporterProvider-09dee1a3.js → ClientSideExporterProvider-7c2781f4.js} +10 -6
  173. package/dist/esm/{ConfigStorage-cf578768.js → ConfigStorage-b5a1dba3.js} +2 -2
  174. package/dist/esm/{DataFetcher-db08cad0.js → DataFetcher-6f6de657.js} +2695 -14
  175. package/dist/esm/{FormConfigHelper-49fe72ca.js → FormConfigHelper-4e42f0b6.js} +4 -5
  176. package/dist/esm/{ISave-da565824.js → ISave-7ecdca20.js} +1 -1
  177. package/dist/esm/{SnkFormConfigManager-c1cd9dcd.js → SnkFormConfigManager-34fc1dc7.js} +3 -3
  178. package/dist/esm/{auth-fetcher-43c8d76b.js → auth-fetcher-7332a9a9.js} +1 -1
  179. package/dist/esm/config-header.entry.js +2 -2
  180. package/dist/esm/{dataunit-fetcher-1b78797a.js → dataunit-fetcher-f21cbad0.js} +22 -21
  181. package/dist/esm/field-config_2.entry.js +9 -6
  182. package/dist/esm/fields-layout.entry.js +20 -13
  183. package/dist/esm/fields-selector.entry.js +11 -6
  184. package/dist/esm/{form-config-fetcher-e623539b.js → form-config-fetcher-6ab4e805.js} +1 -1
  185. package/dist/esm/guides-configurator.entry.js +14 -3
  186. package/dist/esm/loader.js +1 -1
  187. package/dist/esm/pesquisa-grid_2.entry.js +12 -8
  188. package/dist/esm/sankhyablocks.js +1 -1
  189. package/dist/esm/snk-actions-button_8.entry.js +20 -9
  190. package/dist/esm/snk-application.entry.js +50 -20
  191. package/dist/esm/snk-attach.entry.js +18 -12
  192. package/dist/esm/snk-configurator.entry.js +1 -1
  193. package/dist/esm/snk-crud.entry.js +17 -13
  194. package/dist/esm/snk-data-exporter.entry.js +5 -6
  195. package/dist/esm/{snk-data-unit-c12986b7.js → snk-data-unit-b7e6e7a6.js} +6 -12
  196. package/dist/esm/snk-data-unit.entry.js +3 -4
  197. package/dist/esm/snk-detail-view.entry.js +21 -15
  198. package/dist/esm/snk-expression-group_2.entry.js +21 -20
  199. package/dist/esm/snk-filter-bar_4.entry.js +12 -12
  200. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  201. package/dist/esm/snk-filter-number.entry.js +3 -1
  202. package/dist/esm/snk-filter-period.entry.js +3 -1
  203. package/dist/esm/snk-form_2.entry.js +8 -8
  204. package/dist/esm/snk-grid.entry.js +6 -6
  205. package/dist/esm/{snk-guides-viewer-defa2629.js → snk-guides-viewer-fbfece85.js} +10 -10
  206. package/dist/esm/snk-guides-viewer.entry.js +7 -7
  207. package/dist/esm/snk-personalized-filter.entry.js +4 -4
  208. package/dist/esm/snk-pesquisa.entry.js +27 -20
  209. package/dist/esm/snk-simple-crud.entry.js +19 -17
  210. package/dist/sankhyablocks/p-012208e0.entry.js +1 -0
  211. package/dist/sankhyablocks/p-07b14811.entry.js +1 -0
  212. package/dist/sankhyablocks/p-0dac8fef.js +1 -0
  213. package/dist/sankhyablocks/p-0e495575.js +1 -0
  214. package/dist/sankhyablocks/p-11346b8d.entry.js +1 -0
  215. package/dist/sankhyablocks/p-1210500e.js +1 -0
  216. package/dist/sankhyablocks/p-158adf33.entry.js +1 -0
  217. package/dist/sankhyablocks/{p-fa591f6f.js → p-16fc4acd.js} +1 -1
  218. package/dist/sankhyablocks/{p-405edf96.js → p-3dba3468.js} +1 -1
  219. package/dist/sankhyablocks/p-4872dc3a.entry.js +1 -0
  220. package/dist/sankhyablocks/{p-90ee1990.entry.js → p-4e63ffed.entry.js} +1 -1
  221. package/dist/sankhyablocks/p-5bab470d.entry.js +1 -0
  222. package/dist/sankhyablocks/p-5c7af8a9.entry.js +1 -0
  223. package/dist/sankhyablocks/p-5e282b33.entry.js +1 -0
  224. package/dist/sankhyablocks/p-6703336d.entry.js +1 -0
  225. package/dist/sankhyablocks/p-6a015ba2.js +1 -0
  226. package/dist/sankhyablocks/p-735a1175.entry.js +1 -0
  227. package/dist/sankhyablocks/p-75af335e.entry.js +1 -0
  228. package/dist/sankhyablocks/p-7b3ca294.entry.js +1 -0
  229. package/dist/sankhyablocks/{p-cfa8cac2.entry.js → p-7fbc6442.entry.js} +1 -1
  230. package/dist/sankhyablocks/p-81769310.entry.js +11 -0
  231. package/dist/sankhyablocks/p-8d1508aa.entry.js +1 -0
  232. package/dist/sankhyablocks/p-8f73da95.js +1 -0
  233. package/dist/sankhyablocks/p-a5108625.entry.js +1 -0
  234. package/dist/sankhyablocks/p-ad2ae575.entry.js +1 -0
  235. package/dist/sankhyablocks/p-b35574b5.js +60 -0
  236. package/dist/sankhyablocks/p-b49281be.entry.js +1 -0
  237. package/dist/sankhyablocks/{p-c9657baa.js → p-ba4979b4.js} +1 -1
  238. package/dist/sankhyablocks/{p-b21d32f6.js → p-c6331595.js} +1 -1
  239. package/dist/sankhyablocks/{p-e25412da.js → p-c9e6d720.js} +1 -1
  240. package/dist/sankhyablocks/p-d377aa7a.entry.js +1 -0
  241. package/dist/sankhyablocks/p-eacff4b7.entry.js +1 -0
  242. package/dist/sankhyablocks/p-eb0616d3.entry.js +1 -0
  243. package/dist/sankhyablocks/p-f39b0ebe.entry.js +1 -0
  244. package/dist/sankhyablocks/p-f8f29e1a.entry.js +1 -0
  245. package/dist/sankhyablocks/p-fa18530e.entry.js +1 -0
  246. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  247. package/dist/types/components/snk-application/errorhandler/snk-error-handler.d.ts +1 -0
  248. package/dist/types/components/snk-application/snk-application.d.ts +6 -0
  249. package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +1 -1
  250. package/dist/types/components/snk-crud/snk-crud.d.ts +1 -0
  251. package/dist/types/components/snk-crud/subcomponents/GuideBuilder.d.ts +4 -1
  252. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +0 -6
  253. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-number.d.ts +1 -0
  254. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-period.d.ts +1 -0
  255. package/dist/types/components/snk-form-config/FormConfigHelper.d.ts +1 -1
  256. package/dist/types/components/snk-form-config/fields-layout/fields-layout.d.ts +3 -1
  257. package/dist/types/components/snk-form-config/fields-selector/fields-selector.d.ts +3 -0
  258. package/dist/types/components/snk-form-config/guides-configurator/guides-configurator.d.ts +2 -0
  259. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +3 -0
  260. package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.d.ts +1 -0
  261. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +6 -0
  262. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +3 -0
  263. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +1 -0
  264. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +6 -0
  265. package/dist/types/components.d.ts +24 -0
  266. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +2 -0
  267. package/dist/types/lib/message/SnkMessageBuilder.d.ts +7 -1
  268. package/dist/types/lib/message/resources/en-us/continuousInsertUtils.msg.d.ts +1 -0
  269. package/dist/types/lib/message/resources/en-us/dataFetcher.msg.d.ts +1 -0
  270. package/dist/types/lib/message/resources/en-us/dataUnitDataLoaderHelper.msg.d.ts +1 -0
  271. package/dist/types/lib/message/resources/en-us/snk-error-handler.msg.d.ts +1 -0
  272. package/dist/types/lib/message/resources/en-us/snk-filter-list.msg.d.ts +1 -0
  273. package/dist/types/lib/message/resources/en-us/snk-layout-form-config.msg.d.ts +1 -0
  274. package/dist/types/lib/message/resources/en-us/snk-pesquisa.msg.d.ts +1 -0
  275. package/dist/types/lib/message/resources/en-us/snk-simple-form-config.msg.d.ts +1 -0
  276. package/dist/types/lib/message/resources/es-es/continuousInsertUtils.msg.d.ts +1 -0
  277. package/dist/types/lib/message/resources/es-es/dataFetcher.msg.d.ts +1 -0
  278. package/dist/types/lib/message/resources/es-es/dataUnitDataLoaderHelper.msg.d.ts +1 -0
  279. package/dist/types/lib/message/resources/es-es/snk-error-handler.msg.d.ts +1 -0
  280. package/dist/types/lib/message/resources/es-es/snk-filter-list.msg.d.ts +1 -0
  281. package/dist/types/lib/message/resources/es-es/snk-layout-form-config.msg.d.ts +1 -0
  282. package/dist/types/lib/message/resources/es-es/snk-pesquisa.msg.d.ts +1 -0
  283. package/dist/types/lib/message/resources/es-es/snk-simple-form-config.msg.d.ts +1 -0
  284. package/dist/types/lib/message/resources/pt-br/continuousInsertUtils.msg.d.ts +1 -0
  285. package/dist/types/lib/message/resources/pt-br/dataFetcher.msg.d.ts +1 -0
  286. package/dist/types/lib/message/resources/pt-br/dataUnitDataLoaderHelper.msg.d.ts +1 -0
  287. package/dist/types/lib/message/resources/pt-br/snk-error-handler.msg.d.ts +1 -0
  288. package/dist/types/lib/message/resources/pt-br/snk-filter-list.msg.d.ts +1 -0
  289. package/dist/types/lib/message/resources/pt-br/snk-layout-form-config.msg.d.ts +1 -0
  290. package/dist/types/lib/message/resources/pt-br/snk-pesquisa.msg.d.ts +1 -0
  291. package/dist/types/lib/message/resources/pt-br/snk-simple-form-config.msg.d.ts +1 -0
  292. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +1 -0
  293. package/package.json +1 -1
  294. package/dist/cjs/SnkMessageBuilder-acd9ec62.js +0 -1937
  295. package/dist/components/SnkMessageBuilder.js +0 -1915
  296. package/dist/esm/SnkMessageBuilder-c8b452b6.js +0 -1915
  297. package/dist/sankhyablocks/p-09ba8326.entry.js +0 -1
  298. package/dist/sankhyablocks/p-1c69a957.entry.js +0 -1
  299. package/dist/sankhyablocks/p-224fa6f9.js +0 -1
  300. package/dist/sankhyablocks/p-22a8656b.entry.js +0 -1
  301. package/dist/sankhyablocks/p-23b20add.entry.js +0 -1
  302. package/dist/sankhyablocks/p-2628f34e.entry.js +0 -1
  303. package/dist/sankhyablocks/p-34cfb5ad.entry.js +0 -11
  304. package/dist/sankhyablocks/p-35e73c5d.js +0 -1
  305. package/dist/sankhyablocks/p-360f0b74.js +0 -1
  306. package/dist/sankhyablocks/p-37b4f642.js +0 -60
  307. package/dist/sankhyablocks/p-49d968e2.entry.js +0 -1
  308. package/dist/sankhyablocks/p-4b8691b6.js +0 -1
  309. package/dist/sankhyablocks/p-4d2ff2fb.entry.js +0 -1
  310. package/dist/sankhyablocks/p-4eb731b3.js +0 -1
  311. package/dist/sankhyablocks/p-60d3abf6.entry.js +0 -1
  312. package/dist/sankhyablocks/p-6bc7c7ee.entry.js +0 -1
  313. package/dist/sankhyablocks/p-71a05822.entry.js +0 -1
  314. package/dist/sankhyablocks/p-7ced2cf4.entry.js +0 -1
  315. package/dist/sankhyablocks/p-81820bf8.entry.js +0 -1
  316. package/dist/sankhyablocks/p-86bd4478.entry.js +0 -1
  317. package/dist/sankhyablocks/p-86c8f7f2.entry.js +0 -1
  318. package/dist/sankhyablocks/p-aef68e58.entry.js +0 -1
  319. package/dist/sankhyablocks/p-b033bf30.entry.js +0 -1
  320. package/dist/sankhyablocks/p-b1ea8c6d.entry.js +0 -1
  321. package/dist/sankhyablocks/p-cb2a4613.entry.js +0 -1
  322. package/dist/sankhyablocks/p-cd1a5b6a.js +0 -1
  323. package/dist/sankhyablocks/p-cfc219f6.entry.js +0 -1
  324. package/dist/sankhyablocks/p-d67526b6.entry.js +0 -1
  325. package/dist/sankhyablocks/p-f442c8f6.entry.js +0 -1
  326. package/dist/sankhyablocks/p-f65421cd.entry.js +0 -1
@@ -2,11 +2,10 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
2
2
  import { DateUtils, StringUtils, ObjectUtils, WaitingChangeException, SilentException, WarningException, ErrorException, ElementIDUtils, SearchUtils, ArrayUtils, KeyboardManager, OnboardingUtils, DependencyType, ApplicationContext, DataType, ErrorTracking, UserAgentUtils, LockManager, LockManagerOperation } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { C as ConfigStorage } from './ConfigStorage.js';
5
- import { d as dist, D as DataFetcher, U as UrlUtils } from './DataFetcher.js';
5
+ import { d as dist, D as DataFetcher, U as UrlUtils, S as SnkMessageBuilder } from './DataFetcher.js';
6
6
  import { A as AutorizationType, a as AuthFetcher } from './auth-fetcher.js';
7
7
  import { P as PreloadManager, D as DataUnitFetcher } from './dataunit-fetcher.js';
8
8
  import { a as PesquisaFetcher } from './ISave.js';
9
- import { S as SnkMessageBuilder } from './SnkMessageBuilder.js';
10
9
  import { c as TEMPLATES_SKELETON } from './constants.js';
11
10
  import './filter-item-type.enum.js';
12
11
  import { F as FormConfigFetcher } from './form-config-fetcher.js';
@@ -231,6 +230,9 @@ class SnkErrorHandler {
231
230
  window.addEventListener("error", evt => this.errorHandler(evt));
232
231
  window.addEventListener("unhandledrejection", evt => this.rejectionHandler(evt));
233
232
  }
233
+ getMessage(key, params) {
234
+ return this._app.messagesBuilder.getMessage(key, params);
235
+ }
234
236
  rejectionHandler(evt) {
235
237
  const reason = evt.reason;
236
238
  //Promisse rejeitada com WaitingChangeException, não precisam
@@ -242,7 +244,7 @@ class SnkErrorHandler {
242
244
  else {
243
245
  this._app.isDebugMode().then((isDebug) => {
244
246
  if (isDebug) {
245
- this._app.error("Promise rejeitada", "Erro interno: Uma promise foi rejeitada sem razão determinada.");
247
+ this._app.error(this.getMessage("snkErrorHandler.title.promiseRejected"), this.getMessage("snkErrorHandler.message.undeterminedPromiseRejection"));
246
248
  }
247
249
  });
248
250
  }
@@ -252,15 +254,17 @@ class SnkErrorHandler {
252
254
  this.processException(evt.error);
253
255
  }
254
256
  buildErrorCodeHTML(errorCode) {
255
- const onclick = 'try{window.workspace.openHelp(\'_tbcode:' + errorCode + '\')} catch(e){alert(\'Não é possível abrir a ajuda fora do workspace Sankhya\');}';
256
- return '<br><a href="#" onclick="' + onclick + '">Código: ' + errorCode + '</a>';
257
+ const cannotOpenHelpMessage = this.getMessage("snkErrorHandler.message.cannotOpenHelp");
258
+ const errorCodeLabel = this.getMessage("snkErrorHandler.errorCode.label");
259
+ const onclick = `try{window.workspace.openHelp('_tbcode:${errorCode}')} catch(e){alert('${cannotOpenHelpMessage}');}`;
260
+ return `<br><a href="#" onclick="${onclick}">${errorCodeLabel}${errorCode}</a>`;
257
261
  }
258
262
  processException(exception) {
259
263
  if (exception.errorCode) {
260
264
  exception.message += this.buildErrorCodeHTML(exception.errorCode);
261
265
  }
262
266
  if (exception instanceof SilentException) {
263
- console.warn("SilentException ignorada", exception);
267
+ console.warn(this.getMessage("snkErrorHandler.message.silentExceptionIgnored"), exception);
264
268
  }
265
269
  else if (exception instanceof WaitingChangeException) {
266
270
  this._app.alert(exception.title, exception.message);
@@ -278,8 +282,9 @@ class SnkErrorHandler {
278
282
  this._app.error(exception.name, exception.message);
279
283
  }
280
284
  else {
281
- const title = (exception === null || exception === void 0 ? void 0 : exception.title) || "Erro detectado";
282
- const message = (typeof exception === "string") ? exception : exception.message || `Erro interno "${ObjectUtils.objectToString(exception)}"`;
285
+ const title = (exception === null || exception === void 0 ? void 0 : exception.title) || this.getMessage("snkErrorHandler.title.errorDetected", undefined);
286
+ const message = (typeof exception === "string") ? exception :
287
+ exception.message || `${this.getMessage("snkErrorHandler.error.internal")} "${ObjectUtils.objectToString(exception)}"`;
283
288
  this._app.error(title, message);
284
289
  }
285
290
  }
@@ -521,6 +526,7 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
521
526
  this.applicationLoaded = createEvent(this, "applicationLoaded", 7);
522
527
  this.applicationLoading = createEvent(this, "applicationLoading", 7);
523
528
  this.NEW_VERSION_POPUP_LOCKER = "NEW_VERSION_POPUP_LOCKER";
529
+ this.FEATURE_FLAG_CACHE_DURATION = 3600000; // 1 hora em milissegundos
524
530
  this._authPromises = [];
525
531
  this._keyboardManager = new KeyboardManager();
526
532
  this._waitingAppReady = new Array();
@@ -528,6 +534,7 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
528
534
  this._duPromises = new Map();
529
535
  this._requestListener = RequestListenerFactory.create({ strategy: 'request_time' });
530
536
  this._maxTimerAppLoading = 10000;
537
+ this._featureFlagsCache = new Map();
531
538
  this._isBrowserTypeElectron = false;
532
539
  this._pendingActions = new Map;
533
540
  this._loadPkParameter = null;
@@ -819,6 +826,29 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
819
826
  .catch(error => reject(error));
820
827
  });
821
828
  }
829
+ /**
830
+ * Retorna se uma feature flag global está ativa ou não.
831
+ */
832
+ async isFeatureActive(featureName) {
833
+ const now = Date.now();
834
+ let payload = {
835
+ "serviceName": "SystemUtilsSP.featureIsActive",
836
+ "requestBody": {
837
+ "featureName": featureName
838
+ }
839
+ };
840
+ if (this._featureFlagsCache.get(featureName) && now < this._featureFlagsCache.get(featureName).expires) {
841
+ return Promise.resolve(this._featureFlagsCache.get(featureName).isActive);
842
+ }
843
+ //Caso ocorra um erro nessa chamada, o reject do error é feito automaticamente
844
+ const result = await DataFetcher.get().callServiceBroker("SystemUtilsSP.featureIsActive", JSON.stringify(payload));
845
+ const isActive = result.isActive;
846
+ this._featureFlagsCache.set(featureName, {
847
+ isActive: isActive,
848
+ expires: now + this.FEATURE_FLAG_CACHE_DURATION,
849
+ });
850
+ return isActive;
851
+ }
822
852
  /**
823
853
  * Salva a configuração de determinado recurso.
824
854
  */
@@ -1128,8 +1158,8 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
1128
1158
  const dataType = (masterDescriptor === null || masterDescriptor === void 0 ? void 0 : masterDescriptor.dataType) || DataType.TEXT;
1129
1159
  const value = dataUnit.getFieldValue(fieldName);
1130
1160
  if (value == undefined) {
1131
- this.alert("Erro ao pesquisar", necessario informar o campo ${masterDescriptor.label} para executar a pesquisa.`);
1132
- throw new Error( necessario informar o campo ${masterDescriptor.label} para executar a pesquisa.`);
1161
+ this.alert(this.getMessage("snkApplication.search.error.title"), this.getMessage("snkApplication.search.error.requiredField", { fieldLabel: masterDescriptor.label }));
1162
+ throw new Error(this.getMessage("snkApplication.search.error.requiredField", { fieldLabel: masterDescriptor.label }));
1133
1163
  }
1134
1164
  return { name: fieldName, value, dataType };
1135
1165
  })
@@ -1400,7 +1430,7 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
1400
1430
  const snkDataUnit = this.getFirstDataUnitFromDOM();
1401
1431
  const dataUnit = snkDataUnit.dataUnit;
1402
1432
  if (!dataUnit) {
1403
- console.warn("Dataunit não inicializado");
1433
+ console.warn(this.getMessage("snkApplication.dataUnit.initDataUnitError"));
1404
1434
  snkDataUnit.addEventListener("dataUnitReady", (event) => {
1405
1435
  this.loadDataWithPKFilter(pkObject, event.detail);
1406
1436
  this._currentPkParameter = pkHash;
@@ -1654,9 +1684,9 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
1654
1684
  }
1655
1685
  initKeyboardManager() {
1656
1686
  this._keyboardManager
1657
- .bind("ctrl + g", Workspace.searchApp.bind(this), { description: "Pesquisar por telas" })
1658
- .bind("ctrl + d", Workspace.showDesktop.bind(this), { description: "Mostrar o desktop" })
1659
- .bind("F1", Workspace.openHelp.bind(this), { description: "Abrir ajuda" });
1687
+ .bind("ctrl + g", Workspace.searchApp.bind(this), { description: this.getMessage("snkApplication.keyboard.shortcuts.searchApp") })
1688
+ .bind("ctrl + d", Workspace.showDesktop.bind(this), { description: this.getMessage("snkApplication.keyboard.shortcuts.showDesktop") })
1689
+ .bind("F1", Workspace.openHelp.bind(this), { description: this.getMessage("snkApplication.keyboard.shortcuts.openHelp") });
1660
1690
  }
1661
1691
  removeShortcuts() {
1662
1692
  this._keyboardManager.unbindAllShortcutKeys();
@@ -1702,7 +1732,7 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
1702
1732
  return (h("div", { class: "loading-hidden", style: this.getLoadingVisibilityStyle() }, h("div", { class: "ez-margin--medium ez-margin-top--medium ez-padding--medium" }, h("ez-skeleton", { count: 1, variant: "text", width: "70%", height: "25px", animation: "progress" })), h("div", { class: "ez-flex ez-margin--medium ez-margin-top--medium", style: { maxHeight: "calc(-105px + 100vh)", overflow: "hidden" } }, h("div", { class: "ez-flex ez-flex--column ez-margin-right--large", style: { width: "25%", overflow: "hidden" } }, Array(this.getCountSkeleton(30, 6)).fill(null).map((_, index) => h("ez-skeleton", { key: index, count: 1, variant: "text", width: this.getSkeletonRandomWidth(), height: "30px", animation: "progress", marginBottom: "10px" }))), h("div", { class: "ez-flex ez-flex--column", style: { width: "75%" } }, h("div", { class: "ez-padding--medium", style: { width: "100%" } }, h("ez-skeleton", { count: 1, variant: "text", width: "30%", height: "25px", animation: "progress" })), h("div", { class: "ez-padding--medium", style: { height: "45%" } }, h("div", { class: "ez-flex", style: { width: "100%", height: "100%" } }, [1, 2, 3, 4].map((_, columnIndex) => (h("div", { key: columnIndex, class: "ez-padding-right--large", style: { width: "25%", overflow: "hidden" } }, Array(this.getCountSkeleton(50, 20)).fill(null).map((_, index) => h("ez-skeleton", { key: index, count: 1, variant: "text", width: "100%", height: "50px", animation: "progress", marginBottom: "10px" }))))))), h("div", { class: "ez-padding--medium", style: { width: "100%" } }, h("ez-skeleton", { count: 1, variant: "text", width: "30%", height: "25px", animation: "progress" })), h("div", { class: "ez-padding--medium", style: { height: "45%" } }, h("div", { class: "ez-flex", style: { width: "100%", height: "100%" } }, [1, 2, 3, 4].map((_, columnIndex) => (h("div", { key: columnIndex, class: "ez-padding-right--large", style: { width: "25%", overflow: "hidden" } }, Array(this.getCountSkeleton(50, 20)).fill(null).map((_, index) => h("ez-skeleton", { key: index, count: 1, variant: "text", width: "100%", height: "50px", animation: "progress", marginBottom: "10px" })))))))))));
1703
1733
  }
1704
1734
  getSpinnerLoadingDefault() {
1705
- return (h("div", { class: "loading-hidden", style: this.getLoadingVisibilityStyle() }, h("div", { class: "ez-flex ez-size-height--full ez-size-width--full ez-flex--justify-center ez-flex--align-items-center spinner" }, h("ez-icon", { iconName: "sync", size: "x-large", class: "spin" }), h("span", { class: "ez-title ez-title--secondary ez-title--extra-large" }, "Carregando..."))));
1735
+ return (h("div", { class: "loading-hidden", style: this.getLoadingVisibilityStyle() }, h("div", { class: "ez-flex ez-size-height--full ez-size-width--full ez-flex--justify-center ez-flex--align-items-center spinner" }, h("ez-icon", { iconName: "sync", size: "x-large", class: "spin" }), h("span", { class: "ez-title ez-title--secondary ez-title--extra-large" }, this.getMessage("snkApplication.loading.text")))));
1706
1736
  }
1707
1737
  render() {
1708
1738
  return (h(Host, { style: {
@@ -1745,6 +1775,7 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
1745
1775
  "closePopUp": [64],
1746
1776
  "temOpcional": [64],
1747
1777
  "getConfig": [64],
1778
+ "isFeatureActive": [64],
1748
1779
  "saveConfig": [64],
1749
1780
  "getAttributeFromHTMLWrapper": [64],
1750
1781
  "openApp": [64],
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
2
  import { ApplicationContext, DataType, Action, UserInterface, StringUtils, DataUnitLoaderUtils, DataUnit } from '@sankhyalabs/core';
3
- import { D as DataFetcher } from './DataFetcher.js';
3
+ import { D as DataFetcher, S as SnkMessageBuilder } from './DataFetcher.js';
4
4
  import { S as SaveErrorsEnum } from './ISave.js';
5
5
  import { P as PreloadManager, D as DataUnitFetcher, I as InMemoryLoader } from './dataunit-fetcher.js';
6
6
  import './filter-item-type.enum.js';
@@ -358,10 +358,12 @@ class AnexoSistemaDataUnitFactory {
358
358
  }
359
359
  }
360
360
 
361
- const application$1 = ApplicationContext.getContextValue("__SNK__APPLICATION__");
361
+ let messageBuilderInstance;
362
362
  const getMessage$1 = (key) => {
363
- var _a, _b;
364
- return (_b = (_a = application$1 === null || application$1 === void 0 ? void 0 : application$1.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage) === null || _b === void 0 ? void 0 : _b.call(_a, key, null);
363
+ if (!messageBuilderInstance) {
364
+ messageBuilderInstance = new SnkMessageBuilder();
365
+ }
366
+ return messageBuilderInstance.getMessage(key);
365
367
  };
366
368
  const attachCrudConfig = {
367
369
  grid: {
@@ -535,10 +537,14 @@ class AttachFetcherDataUnitFactory {
535
537
  }
536
538
  }
537
539
 
538
- const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
540
+ let messagesBuilder;
539
541
  const getMessage = (key) => {
540
- var _a, _b;
541
- return (_b = (_a = application === null || application === void 0 ? void 0 : application.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage) === null || _b === void 0 ? void 0 : _b.call(_a, key, null);
542
+ var _a;
543
+ if (!messagesBuilder) {
544
+ const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
545
+ messagesBuilder = application === null || application === void 0 ? void 0 : application.messagesBuilder;
546
+ }
547
+ return (_a = messagesBuilder === null || messagesBuilder === void 0 ? void 0 : messagesBuilder.getMessage) === null || _a === void 0 ? void 0 : _a.call(messagesBuilder, key, null);
542
548
  };
543
549
  const TaskbarAttachButtons = {
544
550
  DOWNLOAD: {
@@ -725,7 +731,7 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
725
731
  }
726
732
  downloadAttachment(selectedRecord) {
727
733
  if (!selectedRecord)
728
- throw new Error('Nenhum registro selecionado');
734
+ throw new Error(this.getMessage("snkAttach.alertValidation.noRecordSelected.message"));
729
735
  if (selectedRecord.LINK) {
730
736
  window.open(`${selectedRecord.LINK}`);
731
737
  return;
@@ -112,7 +112,7 @@ const SnkConfigurator = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
112
112
  insideCustomElementsContainer === null || insideCustomElementsContainer === void 0 ? void 0 : insideCustomElementsContainer.appendChild(configuratorCustomElement);
113
113
  }
114
114
  render() {
115
- return (h("ez-modal", { ref: (element) => (this.modal = element), opened: this._opened, "close-esc": false, "close-outside-click": false, "modal-size": "small", scrim: "light", onEzCloseModal: () => this.closeConfig() }, h("div", { class: "snk-configurator" }, h("div", { class: "snk-configurator__header" }, h("label", { class: "snk-configurator__title" }, this.getMessage('snkConfigurator.titleConfigurations')), h("div", { class: "snk-configurator__button-close" }, h("ez-button", { mode: "icon", iconName: "close", size: "medium", onClick: () => this.closeConfig() }))), h("div", { class: "snk-configurator__main" }, h("ez-collapsible-box", { boxBordered: true, label: "Modo de visualiza\u00E7\u00E3o ", headerSize: "medium", class: "snk-configurator__collapsable-box" }, h("ez-radio-button", { value: this.getViewModeValue().toString(), onEzChange: (evt) => this.onViewModeChanged(evt), enabled: this.enableModeConfig() }, h("ez-radio-button-option", { label: this.getMessage('snkConfigurator.labelGrid'), value: VIEW_MODE.GRID }), h("ez-radio-button-option", { label: this.getMessage('snkConfigurator.labelForm'), value: VIEW_MODE.FORM })), h("div", { class: "snk-configurator__collsable-box-action" }, h("ez-button", { label: this.viewMode === VIEW_MODE.GRID ? this.getMessage('snkConfigurator.labelConfigGrid') : this.getMessage('snkConfigurator.labelConfigForm'), class: "snk-configurator__button-config ez-button--secondary", onClick: () => this.onClickOpenConfig(), id: "openConfigurator" }))), this.layoutFormConfig && h("ez-collapsible-box", { boxBordered: true, value: true, label: "Layout do formul\u00E1rio", headerSize: "medium", class: "snk-configurator__collapsable-box ez-margin-top--medium" }, h("div", { class: 'ez-flex ez-flex--column ez-size-width--full' }, h("snk-layout-form-config", { ref: (ref) => this._snkLayoutFormConfig = ref }))), h("div", { id: "slotContainer", class: "snk-configurator__outline" })), this.showActionButtons && (h("div", { class: "snk-configurator__action-buttons" }, h("ez-button", { label: "Cancelar", onClick: () => this.cancel.emit() }), h("ez-button", { label: "Salvar", onClick: () => this.handleSave(), class: "ez-button--primary" }))))));
115
+ return (h("ez-modal", { ref: (element) => (this.modal = element), opened: this._opened, "close-esc": false, "close-outside-click": false, "modal-size": "small", scrim: "light", onEzCloseModal: () => this.closeConfig() }, h("div", { class: "snk-configurator" }, h("div", { class: "snk-configurator__header" }, h("label", { class: "snk-configurator__title" }, this.getMessage('snkConfigurator.titleConfigurations')), h("div", { class: "snk-configurator__button-close" }, h("ez-button", { mode: "icon", iconName: "close", size: "medium", onClick: () => this.closeConfig() }))), h("div", { class: "snk-configurator__main" }, h("ez-collapsible-box", { boxBordered: true, label: this.getMessage('snkConfigurator.subTitleModeConfig'), headerSize: "medium", class: "snk-configurator__collapsable-box" }, h("ez-radio-button", { value: this.getViewModeValue().toString(), onEzChange: (evt) => this.onViewModeChanged(evt), enabled: this.enableModeConfig() }, h("ez-radio-button-option", { label: this.getMessage('snkConfigurator.labelGrid'), value: VIEW_MODE.GRID }), h("ez-radio-button-option", { label: this.getMessage('snkConfigurator.labelForm'), value: VIEW_MODE.FORM })), h("div", { class: "snk-configurator__collsable-box-action" }, h("ez-button", { label: this.viewMode === VIEW_MODE.GRID ? this.getMessage('snkConfigurator.labelConfigGrid') : this.getMessage('snkConfigurator.labelConfigForm'), class: "snk-configurator__button-config ez-button--secondary", onClick: () => this.onClickOpenConfig(), id: "openConfigurator" }))), this.layoutFormConfig && h("ez-collapsible-box", { boxBordered: true, value: true, label: this.getMessage('snkConfigurator.labelLayoutForm'), headerSize: "medium", class: "snk-configurator__collapsable-box ez-margin-top--medium" }, h("div", { class: 'ez-flex ez-flex--column ez-size-width--full' }, h("snk-layout-form-config", { ref: (ref) => this._snkLayoutFormConfig = ref, messagesBuilder: this.messagesBuilder }))), h("div", { id: "slotContainer", class: "snk-configurator__outline" })), this.showActionButtons && (h("div", { class: "snk-configurator__action-buttons" }, h("ez-button", { label: this.getMessage('snkConfigurator.buttons.cancel'), onClick: () => this.cancel.emit() }), h("ez-button", { label: this.getMessage('snkConfigurator.buttons.save'), onClick: () => this.handleSave(), class: "ez-button--primary" }))))));
116
116
  }
117
117
  get _element() { return this; }
118
118
  static get style() { return snkConfiguratorCss; }
@@ -347,28 +347,32 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
347
347
  }
348
348
  if (this._keyboardManager) {
349
349
  this._keyboardManager
350
- .bind("F6", this.toggleView.bind(this), { description: "Alterna entre modo formulário e grade.", element: this._element })
351
- .bind("F7", saveDataUnitHandlingFocus.bind(this), { description: "Salva os dados.", element: this._element })
352
- .bind("ctrl + \\", saveDataUnitHandlingFocus.bind(this), { description: "Salva os dados.", element: this._element })
353
- .bind("F8", handleAddRecord.bind(this), { description: "Adiciona um novo registro.", element: this._element })
354
- .bind("F9", dataUnit.removeSelectedRecords.bind(dataUnit), { description: "Remove o registro selecionado.", element: this._element })
355
- .bind("ctrl + F9", dataUnit.removeSelectedRecords.bind(dataUnit), { description: "Remove o registro selecionado.", element: this._element })
350
+ .bind("F6", this.toggleView.bind(this), { description: this.getMessage("snkCrud.shortcuts.toggleView"), element: this._element })
351
+ .bind("F7", saveDataUnitHandlingFocus.bind(this), { description: this.getMessage("snkCrud.shortcuts.saveData"), element: this._element })
352
+ .bind("ctrl + \\", saveDataUnitHandlingFocus.bind(this), { description: this.getMessage("snkCrud.shortcuts.addRecord"), element: this._element })
353
+ .bind("F8", handleAddRecord.bind(this), { description: this.getMessage("snkCrud.shortcuts.addRecord"), element: this._element })
354
+ .bind("F9", dataUnit.removeSelectedRecords.bind(dataUnit), { description: this.getMessage("snkCrud.shortcuts.removeRecord"), element: this._element })
355
+ .bind("ctrl + F9", dataUnit.removeSelectedRecords.bind(dataUnit), { description: this.getMessage("snkCrud.shortcuts.removeRecord"), element: this._element })
356
356
  .bind("F5", async () => {
357
357
  const currentView = await this._viewStack.getSelectedIndex();
358
358
  if (VIEW_MODE.GRID === currentView) {
359
359
  dataUnit.loadData();
360
360
  }
361
- }, { description: "Atualiza os dados.", element: this._element })
361
+ }, { description: this.getMessage("snkCrud.shortcuts.refreshData"), element: this._element })
362
362
  .bind("Escape", () => {
363
363
  if (dataUnit.isDirty()) {
364
364
  dataUnit.cancelEdition();
365
365
  }
366
366
  }, {
367
367
  debounceTime: 1000,
368
- description: "Cancela uma ação.", element: this._element
368
+ description: this.getMessage("snkCrud.shortcuts.cancelAction"), element: this._element
369
369
  });
370
370
  }
371
371
  }
372
+ getMessage(key, params) {
373
+ if (this.messagesBuilder)
374
+ return this.messagesBuilder.getMessage(key, params);
375
+ }
372
376
  async removeShortcuts() {
373
377
  var _a;
374
378
  (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { Action, ObjectUtils, DataUnitAction, StringUtils, ApplicationContext } from '@sankhyalabs/core';
2
+ import { ApplicationContext, Action, ObjectUtils, DataUnitAction, StringUtils } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
- import { O as OperationMap, S as SnkMessageBuilder } from './SnkMessageBuilder.js';
4
+ import { O as OperationMap, S as SnkMessageBuilder } from './DataFetcher.js';
5
5
  import { g as getRecordValue, a as DatasetStrategy } from './dataunit-fetcher.js';
6
6
  import { convertType } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
7
7
  import { g as getSelectedRecordsIDsInfo } from './GetSelectedRecordsIDsInfo.js';
@@ -34,11 +34,13 @@ function groupChanges(changingFields) {
34
34
  return changesMap;
35
35
  }
36
36
  function getTabName(tabName) {
37
+ const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
38
+ const labelPrincipal = application.messagesBuilder.getMessage("snkDataUnit.main");
37
39
  switch (tabName) {
38
40
  case NO_TAB_NAME:
39
41
  return "";
40
42
  case MAIN_TAB_NAME:
41
- return "Principal";
43
+ return labelPrincipal;
42
44
  default:
43
45
  return tabName;
44
46
  }
@@ -933,14 +935,6 @@ class DataStateImpl {
933
935
  this.metadataByRow = datastate.metadataByRow;
934
936
  this.rowMetadata = datastate.rowMetadata;
935
937
  }
936
- get selectedRecords() {
937
- var _a;
938
- console.warn("SnkDataUnit: O método `selectedRecords` foi descontinuado. Use o método `selectionInfo`.");
939
- if ((_a = this.selectionInfo) === null || _a === void 0 ? void 0 : _a.isAllRecords()) {
940
- throw new Error("Erro interno: Impossível obter os registros selecionados. A seleção atual é virtual. Use o atributo `selectionInfo`.");
941
- }
942
- return this.selectionInfo.records;
943
- }
944
938
  }
945
939
  function defineCustomElement() {
946
940
  if (typeof customElements === "undefined") {
@@ -2,7 +2,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Fragment, forceUpdate,
2
2
  import { ObjectUtils, StringUtils, Action, KeyboardManager, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { S as SnkFormConfigManager } from './SnkFormConfigManager.js';
4
4
  import { buildFormMetadata, FormMetadata } from '@sankhyalabs/ezui/dist/collection/utils/form';
5
- import './DataFetcher.js';
5
+ import { S as SnkMessageBuilder } from './DataFetcher.js';
6
6
  import { P as PresentationMode } from './ISave.js';
7
7
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
8
8
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
@@ -13,7 +13,7 @@ import { V as VIEW_MODE } from './constants.js';
13
13
  import { T as TaskbarElement, d as defineCustomElement$5 } from './snk-taskbar2.js';
14
14
  import { T as TaskbarProcessor } from './ContinuousInsertUtils.js';
15
15
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
16
- import { buildFieldSearch, SHORTCUT_SEARCH_FIELD, LABEL_SEARCH_FIELD } from '@sankhyalabs/ezui/dist/collection/utils';
16
+ import { buildFieldSearch, SHORTCUT_SEARCH_FIELD } from '@sankhyalabs/ezui/dist/collection/utils';
17
17
  import { d as defineCustomElement$C } from './config-header2.js';
18
18
  import { d as defineCustomElement$B } from './configs-button2.js';
19
19
  import { d as defineCustomElement$A } from './field-config2.js';
@@ -26,7 +26,6 @@ import { d as defineCustomElement$u } from './snk-attach2.js';
26
26
  import { d as defineCustomElement$t } from './snk-configurator2.js';
27
27
  import { d as defineCustomElement$s } from './snk-data-exporter2.js';
28
28
  import { d as defineCustomElement$r } from './snk-data-unit2.js';
29
- import { S as SnkMessageBuilder } from './SnkMessageBuilder.js';
30
29
  import { d as defineCustomElement$q } from './snk-exporter-email-sender2.js';
31
30
  import { d as defineCustomElement$p } from './snk-expression-group2.js';
32
31
  import { d as defineCustomElement$o } from './snk-expression-item2.js';
@@ -177,7 +176,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
177
176
  var _a, _b;
178
177
  if (this.dataUnit.isMultipleEdition) {
179
178
  const selectedRecords = (_b = (_a = this.dataUnit.getSelectionInfo()) === null || _a === void 0 ? void 0 : _a.records) !== null && _b !== void 0 ? _b : [];
180
- return `Editando ${selectedRecords.length} registros`;
179
+ return this.messagesBuilder.getMessage("snkCrud.multipleEdition.editing", { COUNT: selectedRecords.length });
181
180
  }
182
181
  return this.messagesBuilder.getMessage(key, this.dataUnit.getSelectedRecord());
183
182
  }
@@ -196,7 +195,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
196
195
  Array.from(allSheets.values()).forEach((sheet) => {
197
196
  const item = { id: sheet.name, label: sheet.label };
198
197
  if (this.isDetail(sheet.name) && disableDetails) {
199
- item.tooltip = "Para alterar detalhes é necessário estar com um (e apenas um) registro selecionado.";
198
+ item.tooltip = this.getMessage("snkCrud.detail.tooltip.needSingleSelection");
200
199
  item.disabled = true;
201
200
  }
202
201
  guides.push(item);
@@ -442,7 +441,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
442
441
  }
443
442
  componentWillLoad() {
444
443
  if (this.resourceID == undefined) {
445
- throw new Error("Erro interno: resourceID não informado");
444
+ throw new Error(this.getMessage("snkCrud.errors.resourceIDNotProvided"));
446
445
  }
447
446
  this._configManager = new SnkFormConfigManager(this.configName, this.resourceID, this.setMasterFormConfig.bind(this), this.dataUnit);
448
447
  this.addFormLegacyConfigName();
@@ -591,7 +590,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
591
590
  if (!this._mainForm)
592
591
  return;
593
592
  await this._mainForm.showSearchField();
594
- }, { description: LABEL_SEARCH_FIELD, element: this._element });
593
+ }, { description: this.getMessage("snkSimpleCrud.findFields"), element: this._element });
595
594
  }
596
595
  render() {
597
596
  var _a, _b;
@@ -872,14 +871,21 @@ function defineCustomElement$1() {
872
871
  }
873
872
 
874
873
  class GuideBuilder {
875
- constructor(parentGuide, formMetadata, dataUnit) {
874
+ constructor(parentGuide, formMetadata, dataUnit, messageBuilder) {
876
875
  this._parentGuide = parentGuide;
877
876
  this._formMetadata = formMetadata;
878
877
  this._dataUnit = dataUnit;
878
+ this._messageBuilder = messageBuilder;
879
+ if (!this._messageBuilder) {
880
+ this._messageBuilder = new SnkMessageBuilder();
881
+ }
879
882
  }
880
883
  get id() {
881
884
  return this._parentGuide.id;
882
885
  }
886
+ getMessage(key, params) {
887
+ return this._messageBuilder.getMessage(key, params);
888
+ }
883
889
  buildGuideItem(detailBuilders) {
884
890
  const item = Object.assign({}, this._parentGuide);
885
891
  delete item.expanded;
@@ -903,11 +909,11 @@ class GuideBuilder {
903
909
  id,
904
910
  label,
905
911
  disabled,
906
- tooltip: disabled ? "Finalize o cadastro para ter acesso a esta guia." : undefined
912
+ tooltip: disabled ? this.getMessage("snkCrud.guide.tooltip.disabledDetail") : undefined
907
913
  };
908
914
  });
909
915
  const newGuideItem = children.shift();
910
- newGuideItem.label = isNewRecord ? "Novo Registro" : currentRecord.__record__label__;
916
+ newGuideItem.label = isNewRecord ? this.getMessage("snkCrud.title.newRecord") : currentRecord.__record__label__;
911
917
  newGuideItem.children = children;
912
918
  item.children = [newGuideItem];
913
919
  return item;
@@ -961,7 +967,7 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
961
967
  const newRecord = newValue === null || newValue === void 0 ? void 0 : newValue.selectedRecord;
962
968
  const oldRecord = oldValue === null || oldValue === void 0 ? void 0 : oldValue.selectedRecord;
963
969
  if ((newRecord === null || newRecord === void 0 ? void 0 : newRecord.__record__id__) !== (oldRecord === null || oldRecord === void 0 ? void 0 : oldRecord.__record__id__)) {
964
- this.snkDetailGuidesChange.emit(new GuideBuilder(this.branchGuide, this._formMetadata, this.dataUnit));
970
+ this.snkDetailGuidesChange.emit(new GuideBuilder(this.branchGuide, this._formMetadata, this.dataUnit, this.messagesBuilder));
965
971
  }
966
972
  if (openInsertion) {
967
973
  setTimeout(() => {
@@ -1160,7 +1166,7 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
1160
1166
  }
1161
1167
  addErrorBadgeToBranchGuide() {
1162
1168
  this.branchGuide = Object.assign(Object.assign({}, this.branchGuide), { badge: 'error' });
1163
- this.snkDetailGuidesChange.emit(new GuideBuilder(this.branchGuide, this._formMetadata, this.dataUnit));
1169
+ this.snkDetailGuidesChange.emit(new GuideBuilder(this.branchGuide, this._formMetadata, this.dataUnit, this.messagesBuilder));
1164
1170
  }
1165
1171
  normalizeBranchGuideId(id) {
1166
1172
  return id === null || id === void 0 ? void 0 : id.replace(/child\[(.*?)\]/g, '$1').replace(/::/g, '>');
@@ -1206,7 +1212,7 @@ const SnkDetailView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
1206
1212
  this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
1207
1213
  this._keyboardManager.bind(SHORTCUT_SEARCH_FIELD, async () => {
1208
1214
  await this._snkFormView.showSearchField();
1209
- }, { description: LABEL_SEARCH_FIELD, element: this._element });
1215
+ }, { description: this.messagesBuilder.getMessage("snkSimpleCrud.findFields"), element: this._element });
1210
1216
  }
1211
1217
  render() {
1212
1218
  this.updateLabel();
@@ -128,7 +128,7 @@ const SnkExpressionGroup = /*@__PURE__*/ proxyCustomElement(class extends HTMLEl
128
128
  entityName: "",
129
129
  fieldName: "",
130
130
  description: "",
131
- label: "Valor",
131
+ label: this.getMessage("snkPersonalizedFilter.info.labelDefaultValue"),
132
132
  type: undefined,
133
133
  expression: undefined,
134
134
  operand: undefined,
@@ -153,7 +153,7 @@ const SnkExpressionGroup = /*@__PURE__*/ proxyCustomElement(class extends HTMLEl
153
153
  entityName: "",
154
154
  fieldName: "",
155
155
  description: "",
156
- label: "Valor",
156
+ label: this.getMessage("snkPersonalizedFilter.info.labelDefaultValue"),
157
157
  type: undefined,
158
158
  expression: undefined,
159
159
  operand: undefined,
@@ -240,7 +240,7 @@ const SnkExpressionGroup = /*@__PURE__*/ proxyCustomElement(class extends HTMLEl
240
240
  }
241
241
  render() {
242
242
  const canAddGroup = this.canAddGroup();
243
- return (h(Host, null, h("div", { class: !this.isFirstLevel() && this._showDashes ? 'dashes' : 'hidden', style: this.buildGroupStyle() }), h("div", { class: !this.isFirstLevel() && this._showDashes ? 'horizontal-dashes' : 'hidden' }), h("div", { class: 'ez-flex ez-flex--align-items-center' }, h("div", { class: 'snk-expression-group__container-condition ez-flex ez-flex-item--align-center ez-flex--align-items-center', "data-condition": this._conditionOperator, title: this.getTooltipMessageForOperator() }, h("label", { class: "ez-label ez-padding-right--medium ez-padding-left--medium ez-title--primary" }, this.getMessage("snkPersonalizedFilter.info.condition")), h("div", null, h("ez-combo-box", Object.assign({ class: "snk-expression-group__container-option", canShowError: false, mode: "slim", suppressEmptyOption: true, enabled: this.canChangeGroupCondition(), value: this._conditionOperator, onEzChange: (evt) => this.handleConditionOperatorChange(evt.detail.value) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `comboBoxConditions_level_${this.getDataGroupLevel()}` }), h("option", { value: FilterGroupCondition.AND }, "E"), h("option", { value: FilterGroupCondition.OR }, "OU")))), h("ez-button", { class: "ez-padding-right--medium ez-padding-left--medium", mode: "icon", iconName: "plus", size: "small", enabled: this.canAddExpression, title: this.getMessageAddTooltip(), onClick: () => this.handleAddExpression() }), h("ez-button", { label: this.getMessage("snkPersonalizedFilter.info.addGroup"), size: "small", enabled: canAddGroup, title: !canAddGroup ? this.getMessage('snkPersonalizedFilter.info.labelDisabledAddGroupButton', { LIMIT_GROUP_LEVEL: this.LIMIT_GROUP_LEVEL + 1 }) : '', onClick: () => this.handleAddGroup() }, h("ez-icon", { class: "ez-padding-right--small", slot: "leftIcon", iconName: "plus" })), !this.isFirstLevel() && h("ez-button", { title: this.getMessage("snkPersonalizedFilter.info.labelDeleteExpression"), class: "ez-padding-left--medium", mode: "icon", iconName: "delete", size: "small", onClick: (evt) => this.confirmRemoveGroup(evt) })), h("div", { class: "ez-padding-top--small snk-expression-group__container-expression" }, h("div", { class: "ez-padding-top--small" }, this.renderExpressionItems())), h("div", { class: "ez-padding-top--small snk-expression-group__container-expression" }, h("div", { class: "ez-padding-top--small" }, this.renderGroups()))));
243
+ return (h(Host, null, h("div", { class: !this.isFirstLevel() && this._showDashes ? 'dashes' : 'hidden', style: this.buildGroupStyle() }), h("div", { class: !this.isFirstLevel() && this._showDashes ? 'horizontal-dashes' : 'hidden' }), h("div", { class: 'ez-flex ez-flex--align-items-center' }, h("div", { class: 'snk-expression-group__container-condition ez-flex ez-flex-item--align-center ez-flex--align-items-center', "data-condition": this._conditionOperator, title: this.getTooltipMessageForOperator() }, h("label", { class: "ez-label ez-padding-right--medium ez-padding-left--medium ez-title--primary" }, this.getMessage("snkPersonalizedFilter.info.condition")), h("div", null, h("ez-combo-box", Object.assign({ class: "snk-expression-group__container-option", canShowError: false, mode: "slim", suppressEmptyOption: true, enabled: this.canChangeGroupCondition(), value: this._conditionOperator, onEzChange: (evt) => this.handleConditionOperatorChange(evt.detail.value) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `comboBoxConditions_level_${this.getDataGroupLevel()}` }), h("option", { value: FilterGroupCondition.AND }, this.getMessage("snkPersonalizedFilter.info.conditionAnd")), h("option", { value: FilterGroupCondition.OR }, this.getMessage("snkPersonalizedFilter.info.conditionOr"))))), h("ez-button", { class: "ez-padding-right--medium ez-padding-left--medium", mode: "icon", iconName: "plus", size: "small", enabled: this.canAddExpression, title: this.getMessageAddTooltip(), onClick: () => this.handleAddExpression() }), h("ez-button", { label: this.getMessage("snkPersonalizedFilter.info.addGroup"), size: "small", enabled: canAddGroup, title: !canAddGroup ? this.getMessage('snkPersonalizedFilter.info.labelDisabledAddGroupButton', { LIMIT_GROUP_LEVEL: this.LIMIT_GROUP_LEVEL + 1 }) : '', onClick: () => this.handleAddGroup() }, h("ez-icon", { class: "ez-padding-right--small", slot: "leftIcon", iconName: "plus" })), !this.isFirstLevel() && h("ez-button", { title: this.getMessage("snkPersonalizedFilter.info.labelDeleteExpression"), class: "ez-padding-left--medium", mode: "icon", iconName: "delete", size: "small", onClick: (evt) => this.confirmRemoveGroup(evt) })), h("div", { class: "ez-padding-top--small snk-expression-group__container-expression" }, h("div", { class: "ez-padding-top--small" }, this.renderExpressionItems())), h("div", { class: "ez-padding-top--small snk-expression-group__container-expression" }, h("div", { class: "ez-padding-top--small" }, this.renderGroups()))));
244
244
  }
245
245
  get _element() { return this; }
246
246
  static get watchers() { return {
@@ -9,20 +9,20 @@ import { convertType } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
9
9
  import { d as defineCustomElement$1 } from './snk-filter-param-config2.js';
10
10
 
11
11
  const defaultsOperand = [
12
- { label: "Igual (=)", value: "EQUAL" },
13
- { label: "Diferente (<>)", value: "DIFFERENT" },
14
- { label: "Contendo (LIKE)", value: "LIKE" },
15
- { label: "Contido em (IN)", value: "IN" },
16
- { label: "Iniciado com (%?)", value: "START_WITH" },
17
- { label: "Terminado com (?%)", value: "FINISHED_WITH" },
18
- { label: "Vazio (NULL)", value: "NULL" },
19
- { label: "Não Vazio (NOT NULL)", value: "NOT_NULL" },
12
+ { label: "snkPersonalizedFilter.operands.equal", value: "EQUAL" },
13
+ { label: "snkPersonalizedFilter.operands.different", value: "DIFFERENT" },
14
+ { label: "snkPersonalizedFilter.operands.like", value: "LIKE" },
15
+ { label: "snkPersonalizedFilter.operands.in", value: "IN" },
16
+ { label: "snkPersonalizedFilter.operands.startWith", value: "START_WITH" },
17
+ { label: "snkPersonalizedFilter.operands.finishedWith", value: "FINISHED_WITH" },
18
+ { label: "snkPersonalizedFilter.operands.null", value: "NULL" },
19
+ { label: "snkPersonalizedFilter.operands.notNull", value: "NOT_NULL" },
20
20
  ];
21
21
  const FilterOperandDefault = defaultsOperand.concat([
22
- { label: "Maior (>)", value: "LARGER" },
23
- { label: "Maior ou Igual (>=)", value: "LARGER_EQUAL" },
24
- { label: "Menor (<)", value: "SMALLER" },
25
- { label: "Menor ou Igual (<=)", value: "SMALLER_EQUAL" }
22
+ { label: "snkPersonalizedFilter.operands.larger", value: "LARGER" },
23
+ { label: "snkPersonalizedFilter.operands.largerEqual", value: "LARGER_EQUAL" },
24
+ { label: "snkPersonalizedFilter.operands.smaller", value: "SMALLER" },
25
+ { label: "snkPersonalizedFilter.operands.smallerEqual", value: "SMALLER_EQUAL" }
26
26
  ]);
27
27
  const FilterOperandTypeTextSearch = defaultsOperand;
28
28
  const FIELD_TYPE_SEARCH_AND_TEXT = [
@@ -188,12 +188,15 @@ const SnkExpressionItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
188
188
  buildOptionsOperator() {
189
189
  var _a;
190
190
  if (FIELD_TYPE_SEARCH_AND_TEXT.includes((_a = this._fieldSelected) === null || _a === void 0 ? void 0 : _a.userInterface)) {
191
- return this.filterOperandTypeTextSearch;
191
+ return this.translateOperandOptions(this.filterOperandTypeTextSearch);
192
192
  }
193
193
  else {
194
- return this.filterOperandDefault;
194
+ return this.translateOperandOptions(this.filterOperandDefault);
195
195
  }
196
196
  }
197
+ translateOperandOptions(options) {
198
+ return options.map(option => ({ label: this.getMessage(option.label), value: option.value }));
199
+ }
197
200
  handleChangeOperator(optionSelected) {
198
201
  this.checkOptionIsNull(optionSelected);
199
202
  this.setValueExpression("operand", optionSelected);
@@ -287,9 +290,7 @@ const SnkExpressionItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
287
290
  }
288
291
  render() {
289
292
  var _a;
290
- return (h(Host, null, h("div", { class: "dashes" }), h("div", { class: "box" }, h("div", { class: "box__container" }, h("div", { class: "box__container--input-filter" }, h("ez-filter-input", Object.assign({ ref: ref => this._elFilterInput = ref, value: (_a = this._fieldSelected) === null || _a === void 0 ? void 0 : _a.path, label: this.getMessage("snkPersonalizedFilter.info.labelSearchField"), canShowError: false, onEzChange: (evt) => this.handleChangeFilterInput(evt), onFocus: () => this.handleFocus() }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `expressionFilterInput_${this.expression.fieldName || this.DEFAULT_FIELD_NAME}` })), h("snk-filter-field-search", { ref: ref => this._elFilterFieldSearch = ref, searchable: false, onEzSelectFilterItem: (ev) => this.handleSelectItem(ev.detail), fieldsDataSource: this._dataSourceFetcher })), h("div", { class: "box__container--input-operator" }, h("ez-combo-box", Object.assign({ label: this.getMessage("snkPersonalizedFilter.info.labelOperator"), value: this.expression.operand, canShowError: false, options: this.buildOptionsOperator(), onEzChange: (evt) => { var _a; return this.handleChangeOperator((_a = evt.detail) === null || _a === void 0 ? void 0 : _a.value); }, suppressEmptyOption: true }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `comboBoxOperand_${this.expression.fieldName || this.DEFAULT_FIELD_NAME}` }))), h("div", { class: "box__container--input-value" }, !this._fieldSelected ?
291
- h("ez-number-input", { label: "Valor", canShowError: false, enabled: (!this._showValueVariable && !this._optionNotNull) }) :
292
- this.buildFieldByType()), h("div", { class: "box__container--input-value-variable" }, !this._optionNotNull &&
293
+ return (h(Host, null, h("div", { class: "dashes" }), h("div", { class: "box" }, h("div", { class: "box__container" }, h("div", { class: "box__container--input-filter" }, h("ez-filter-input", Object.assign({ ref: ref => this._elFilterInput = ref, value: (_a = this._fieldSelected) === null || _a === void 0 ? void 0 : _a.path, label: this.getMessage("snkPersonalizedFilter.info.labelSearchField"), canShowError: false, onEzChange: (evt) => this.handleChangeFilterInput(evt), onFocus: () => this.handleFocus() }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `expressionFilterInput_${this.expression.fieldName || this.DEFAULT_FIELD_NAME}` })), h("snk-filter-field-search", { ref: ref => this._elFilterFieldSearch = ref, searchable: false, onEzSelectFilterItem: (ev) => this.handleSelectItem(ev.detail), fieldsDataSource: this._dataSourceFetcher })), h("div", { class: "box__container--input-operator" }, h("ez-combo-box", Object.assign({ label: this.getMessage("snkPersonalizedFilter.info.labelOperator"), value: this.expression.operand, canShowError: false, options: this.buildOptionsOperator(), onEzChange: (evt) => { var _a; return this.handleChangeOperator((_a = evt.detail) === null || _a === void 0 ? void 0 : _a.value); }, suppressEmptyOption: true }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `comboBoxOperand_${this.expression.fieldName || this.DEFAULT_FIELD_NAME}` }))), h("div", { class: "box__container--input-value" }, !this._fieldSelected ? (h("ez-number-input", { label: this.getMessage('snkPersonalizedFilter.info.labelDefaultValue'), canShowError: false, enabled: !this._showValueVariable && !this._optionNotNull })) : (this.buildFieldByType())), h("div", { class: "box__container--input-value-variable" }, !this._optionNotNull &&
293
294
  h("ez-tooltip", { message: this.getMessage("snkPersonalizedFilter.info.checkVariableDisabled"), active: this.isDefaultFilter }, h("ez-check", { ref: ref => this._elValueVariable = ref, value: this.expression.paramVariable, label: this.getMessage("snkPersonalizedFilter.info.labelValueVarible"), mode: CheckMode.SWITCH, onEzChange: (evt) => this.handleChangeValueVariable(evt.detail), enabled: !this.isDefaultFilter })), (this._showValueVariable && !this._optionNotNull) &&
294
295
  h("ez-icon", Object.assign({ class: "box__container--input-value-variable--icon", size: "large", iconName: "settings-inverted" }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: 'iconConfig' }, { title: this.getMessage("snkPersonalizedFilter.info.titleTooltip"), onClick: () => this.openSnkFilterParamConfig() })), h("snk-filter-param-config", { ref: (el) => this._elFilterParamConfigRef = el, messagesBuilder: this.messagesBuilder })), h("div", { class: "box__container--button-delete" }, h("div", { class: "box__container--button-delete--icon" }, h("ez-button", { mode: "icon", iconName: "delete", enabled: this.canRemove, label: this.getMessage("snkPersonalizedFilter.info.labelDeleteItem"), onClick: (evt) => this.confirmRemove(evt) })))))));
295
296
  }
@@ -253,7 +253,7 @@ class SnkFilterModalFactory {
253
253
  }
254
254
  }
255
255
 
256
- const snkFilterBarCss = ".sc-snk-filter-bar-h{display:grid;grid-template-columns:1fr minmax(100px, 100%) 1fr 1fr;--snk-personalized-filter--z-index:var(--elevation--20, 20);--snk-personalized-filter--background-color:var(--background--xlight, #fff)}.snk-filter-bar__title.sc-snk-filter-bar{max-width:260px;display:inline-block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:16px;font-family:var(--font-pattern, Arial);font-weight:var(--text-weight--large, 600);color:var(--color--title-primary, #2B3A54);margin-top:12px}[data-mode=\"hidden\"].sc-snk-filter-bar-h{width:0px;height:0px}[data-mode=\"button\"].sc-snk-filter-bar-h{grid-template-columns:1fr;width:fit-content}.snk-filter__popover-container.sc-snk-filter-bar{display:flex;cursor:auto}.filter-bar__personalized-filter.sc-snk-filter-bar{display:flex;flex-direction:column;position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;z-index:var(--snk-personalized-filter--z-index);background-color:var(--snk-personalized-filter--background-color)}.snk-filter__popover.sc-snk-filter-bar{display:flex;flex-direction:column;position:absolute;width:fit-content;height:fit-content;min-width:265px;background-color:var(--background--xlight, #fff);border-radius:var(--border--radius-medium, 12px);box-shadow:var(--shadow, 0px 0px 16px 0px #000)}.snk-filter-item__editor-header.sc-snk-filter-bar{flex-grow:1;font-weight:var(--text-weight--medium, 400);color:var(--color--title-primary, #2B3A54)}.snk-filter__popover-rule.sc-snk-filter-bar{border-style:solid;border-color:var(--color--disable-secondary, #F2F5F8);border-radius:1px;border-width:1px;width:100%}.editor__ez-check.sc-snk-filter-bar{--ez-check__label--padding-left:0}.snk-filter-item__editor-header-button.sc-snk-filter-bar{cursor:pointer;background-color:transparent;border:none;padding:3px;outline-color:var(--color--primary)}.snk-filter-bar__divider.sc-snk-filter-bar{margin-bottom:var(--space--small);height:80%}.snk-filter-bar__filter-item-container.sc-snk-filter-bar{display:flex;align-items:start}.snk-filter-bar__scroller.sc-snk-filter-bar .sc-snk-filter-bar:first-child{margin-left:var(--space-extra-small, 3px)}.snk-filter-bar__filter-list-items-container.sc-snk-filter-bar{overflow-y:auto;max-height:360px;margin-top:var(--space--small, 6px)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar{cursor:pointer;border-radius:var(--border--radius-small, 6px);border:none;background-color:transparent}.snk-filter-bar__filter-list-item__label.sc-snk-filter-bar{color:var(--title--primary)}.snk-filter-bar__filter-list-item__label--secondary.sc-snk-filter-bar{color:var(--text--primary)}.snk-filter-bar__filter-list-item__icon.sc-snk-filter-bar{--ez-icon--color:var(--title--primary)}.snk-filter-bar__filter-list-item__icon--secondary.sc-snk-filter-bar{--ez-icon--color:var(--text--secondary)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:focus-visible{outline:none;background-color:var(--background--medium)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:hover{background-color:var(--background--medium)}.snk-filter-bar__filter-list-items-container--empty.sc-snk-filter-bar{width:100%;height:100px;display:flex;justify-content:center;align-self:center;align-items:center}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar{position:relative}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar::after{display:flex;position:absolute;content:\"\";width:8px;height:8px;top:7px;left:17px;background-color:var(--icon--alert--color, #008561);border-radius:50%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar{--modal-item-border-width:2px;display:flex;flex-direction:row;margin-left:var(--modal-item-border-width);border-radius:var(--border--radius-medium, 12px);background-color:var(--background--medium, #f0f3f7);border:none;width:100%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar:focus-visible{outline:var(--color--primary) solid var(--modal-item-border-width)}.snk-filter-bar__filter-modal-item__check.sc-snk-filter-bar{width:auto}.snk-filter-bar__filter-modal-item__label.sc-snk-filter-bar{font-weight:var(--text-weight--medium)}.snk-filter-bar__filter-modal-content.sc-snk-filter-bar{display:grid;grid-template-rows:auto auto 1fr auto;width:99%;height:100%}";
256
+ const snkFilterBarCss = ".sc-snk-filter-bar-h{display:grid;grid-template-columns:1fr minmax(100px, 100%) 1fr 1fr;--snk-personalized-filter--z-index:var(--elevation--20, 20);--snk-personalized-filter--background-color:var(--background--xlight, #fff)}.snk-filter-bar__title.sc-snk-filter-bar{max-width:260px;display:inline-block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:16px;font-family:var(--font-pattern, Arial);font-weight:var(--text-weight--large, 600);color:var(--color--title-primary, #2B3A54);margin-top:12px}[data-mode=\"hidden\"].sc-snk-filter-bar-h{width:0px;height:0px}[data-mode=\"button\"].sc-snk-filter-bar-h{grid-template-columns:1fr;width:fit-content}.snk-filter__popover-container.sc-snk-filter-bar{display:flex;cursor:auto}.filter-bar__personalized-filter.sc-snk-filter-bar{display:flex;flex-direction:column;position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;z-index:var(--snk-personalized-filter--z-index);background-color:var(--snk-personalized-filter--background-color)}.snk-filter__popover.sc-snk-filter-bar{display:flex;flex-direction:column;position:absolute;width:fit-content;height:fit-content;min-width:265px;background-color:var(--background--xlight, #fff);border-radius:var(--border--radius-medium, 12px);box-shadow:var(--shadow, 0px 0px 16px 0px #000)}.snk-filter-item__editor-header.sc-snk-filter-bar{flex-grow:1;font-weight:var(--text-weight--medium, 400);color:var(--color--title-primary, #2B3A54)}.snk-filter__popover-rule.sc-snk-filter-bar{border-style:solid;border-color:var(--color--disable-secondary, #F2F5F8);border-radius:1px;border-width:1px;width:100%}.editor__ez-check.sc-snk-filter-bar{--ez-check__label--padding-left:0}.snk-filter-item__editor-header-button.sc-snk-filter-bar{cursor:pointer;background-color:transparent;border:none;padding:3px;outline-color:var(--color--primary)}.snk-filter-bar__divider.sc-snk-filter-bar{margin-bottom:var(--space--small);height:80%}.snk-filter-bar__filter-item-container.sc-snk-filter-bar{display:flex;align-items:start;margin:var(--space--2, 2px) 0}.snk-filter-bar__scroller.sc-snk-filter-bar .sc-snk-filter-bar:first-child{margin-left:var(--space-extra-small, 3px)}.snk-filter-bar__filter-list-items-container.sc-snk-filter-bar{overflow-y:auto;max-height:360px;margin-top:var(--space--small, 6px)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar{cursor:pointer;border-radius:var(--border--radius-small, 6px);border:none;background-color:transparent}.snk-filter-bar__filter-list-item__label.sc-snk-filter-bar{color:var(--title--primary)}.snk-filter-bar__filter-list-item__label--secondary.sc-snk-filter-bar{color:var(--text--primary)}.snk-filter-bar__filter-list-item__icon.sc-snk-filter-bar{--ez-icon--color:var(--title--primary)}.snk-filter-bar__filter-list-item__icon--secondary.sc-snk-filter-bar{--ez-icon--color:var(--text--secondary)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:focus-visible{outline:none;background-color:var(--background--medium)}.snk-filter-bar__filter-list-item.sc-snk-filter-bar:hover{background-color:var(--background--medium)}.snk-filter-bar__filter-list-items-container--empty.sc-snk-filter-bar{width:100%;height:100px;display:flex;justify-content:center;align-self:center;align-items:center}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar{position:relative}.snk-filter-bar__filter-list-items-button--active.sc-snk-filter-bar::after{display:flex;position:absolute;content:\"\";width:8px;height:8px;top:7px;left:17px;background-color:var(--icon--alert--color, #008561);border-radius:50%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar{--modal-item-border-width:2px;display:flex;flex-direction:row;margin-left:var(--modal-item-border-width);border-radius:var(--border--radius-medium, 12px);background-color:var(--background--medium, #f0f3f7);border:none;width:100%}.snk-filter-bar__filter-modal-item.sc-snk-filter-bar:focus-visible{outline:var(--color--primary) solid var(--modal-item-border-width)}.snk-filter-bar__filter-modal-item__check.sc-snk-filter-bar{width:auto}.snk-filter-bar__filter-modal-item__label.sc-snk-filter-bar{font-weight:var(--text-weight--medium)}.snk-filter-bar__filter-modal-content.sc-snk-filter-bar{display:grid;grid-template-rows:auto auto 1fr auto;width:99%;height:100%}";
257
257
 
258
258
  const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
259
259
  constructor() {
@@ -366,7 +366,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
366
366
  async updateFilterItem(newFilterItem) {
367
367
  const itemIndex = this.filterConfig.findIndex(item => item.id === newFilterItem.id);
368
368
  if (itemIndex == -1) {
369
- console.warn("[SnkFilterBar.updateFilterItem] FilterItem não encontrado, o mesmo não será atualizado.");
369
+ console.warn("[SnkFilterBar.updateFilterItem] " + this.getMessage("snkFilterBar.filterItem.updateFilterItemNotFound"));
370
370
  return Promise.resolve();
371
371
  }
372
372
  this._loadingPending = true;
@@ -381,7 +381,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
381
381
  async addFilterItem(filterItem) {
382
382
  const itemIndex = this.filterConfig.findIndex(item => item.id === filterItem.id);
383
383
  if (itemIndex > -1) {
384
- console.warn("[SnkFilterBar.addFilterItem] FilterItem existe , o mesmo não será adicionado novamente.");
384
+ console.warn("[SnkFilterBar.addFilterItem] " + this.getMessage("snkFilterBar.filterItem.addFilterItemExists"));
385
385
  return Promise.resolve();
386
386
  }
387
387
  this.filterConfig.push(filterItem);
@@ -399,7 +399,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
399
399
  async removeFilterItem(filterID) {
400
400
  const itemIndex = this.filterConfig.findIndex(item => item.id === filterID);
401
401
  if (itemIndex == -1) {
402
- console.warn("[SnkFilterBar.removeFilterItem] FilterItem não encontrado");
402
+ console.warn("[SnkFilterBar.removeFilterItem] " + this.getMessage("snkFilterBar.filterItem.removeFilterItemNotFound"));
403
403
  return Promise.resolve(undefined);
404
404
  }
405
405
  const itemToRemove = this.filterConfig[itemIndex];
@@ -742,9 +742,9 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
742
742
  return h("snk-personalized-filter", { class: "filter-bar__personalized-filter", filterId: this.personalizedFilterId, ref: (el) => this._elPersonalizedFilter = el, isDefaultFilter: this._isDefaultFilter, onEzCancel: () => this.handleHidePersonalizedFilter(false), onEzAfterSave: () => this.handleHidePersonalizedFilter(true), entityUri: this.dataUnit.name, configName: this.configName, resourceID: this.resourceID });
743
743
  }
744
744
  if (this.mode !== "regular") {
745
- return (h(Host, { "data-mode": this.mode }, this.getPersonalizedFilterVariableItems(), this.mode === 'button' && (h("ez-button", { class: "ez-margin-left--medium", size: "small", label: this.getMessage('snkFilterBar.filters', undefined, 'Filtros'), onClick: this.showFilterModal.bind(this) }))));
745
+ return (h(Host, { "data-mode": this.mode }, this.getPersonalizedFilterVariableItems(), this.mode === 'button' && (h("ez-button", { class: "ez-margin-left--medium", size: "small", label: this.getMessage('snkFilterBar.filters', undefined, this.getMessage("snkFilterBar.filters")), onClick: this.showFilterModal.bind(this) }))));
746
746
  }
747
- return (h(Host, null, h("div", null, h("span", { class: "snk-filter-bar__title", title: this.title, "data-tooltip": this.title, "data-flow": "bottom" }, this.title)), h("ez-scroller", { class: "snk-filter-bar__scroller", direction: EzScrollDirection.HORIZONTAL, activeShadow: true, locked: this.scrollerLocked }, h("section", { class: "snk-filter-bar__filter-item-container" }, this.getFilterItems())), h("ez-button", { class: "ez-padding-left--medium ez-margin-top--extra-small", size: "small", label: this.getMessage('snkFilterBar.filters', undefined, 'Filtros'), onClick: this.showFilterModal.bind(this) }, h("ez-icon", { slot: "leftIcon", iconName: "plus", class: "ez-padding-right--small" }))));
747
+ return (h(Host, null, h("div", null, h("span", { class: "snk-filter-bar__title", title: this.title, "data-tooltip": this.title, "data-flow": "bottom" }, this.title)), h("ez-scroller", { class: "snk-filter-bar__scroller", direction: EzScrollDirection.HORIZONTAL, activeShadow: true, locked: this.scrollerLocked }, h("section", { class: "snk-filter-bar__filter-item-container" }, this.getFilterItems())), h("ez-button", { class: "ez-padding-left--medium ez-margin-top--extra-small", size: "small", label: this.getMessage('snkFilterBar.filters', undefined, this.getMessage("snkFilterBar.filters")), onClick: this.showFilterModal.bind(this) }, h("ez-icon", { slot: "leftIcon", iconName: "plus", class: "ez-padding-right--small" }))));
748
748
  }
749
749
  get _element() { return this; }
750
750
  static get watchers() { return {