@sankhyalabs/sankhyablocks 9.1.0-ms.5 → 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 (447) hide show
  1. package/dist/cjs/{ClientSideExporterProvider-6a4108c9.js → ClientSideExporterProvider-994f6e26.js} +10 -6
  2. package/dist/cjs/{ConfigStorage-34aa43d8.js → ConfigStorage-1931defc.js} +12 -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-61bf3266.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 +95 -45
  19. package/dist/cjs/snk-application.cjs.entry.js +51 -21
  20. package/dist/cjs/snk-attach.cjs.entry.js +46 -23
  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-a4f9287b.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 +9 -9
  33. package/dist/cjs/snk-grid.cjs.entry.js +6 -6
  34. package/dist/cjs/{snk-guides-viewer-29298823.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 +25 -23
  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 +46 -12
  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-grid-config/snk-grid-config.js +74 -36
  71. package/dist/collection/components/snk-grid-config/snk-select-box/snk-select-box.js +20 -1
  72. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +30 -1
  73. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +1 -1
  74. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.js +3 -3
  75. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/filter-operands/filter-operands.js +12 -12
  76. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.js +6 -5
  77. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +28 -4
  78. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +23 -16
  79. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +20 -18
  80. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +26 -1
  81. package/dist/collection/lib/configs/ConfigStorage.js +3 -0
  82. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +19 -12
  83. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +22 -20
  84. package/dist/collection/lib/http/data-fetcher/fetchers/grid-config-fetcher.js +9 -1
  85. package/dist/collection/lib/message/SnkMessageBuilder.js +34 -56
  86. package/dist/collection/lib/message/messageResourceEnUSUtils.js +76 -0
  87. package/dist/collection/lib/message/messageResourceEsESUtils.js +76 -0
  88. package/dist/collection/lib/message/messageResourcePtBRUtils.js +76 -0
  89. package/dist/collection/lib/message/resources/en-us/continuousInsertUtils.msg.js +6 -0
  90. package/dist/collection/lib/message/resources/en-us/crud-utils.msg.js +3 -0
  91. package/dist/collection/lib/message/resources/en-us/dataFetcher.msg.js +12 -0
  92. package/dist/collection/lib/message/resources/en-us/dataUnitDataLoaderHelper.msg.js +18 -0
  93. package/dist/collection/lib/message/resources/en-us/file-viewer.msg.js +9 -0
  94. package/dist/collection/lib/message/resources/en-us/snk-actions-button.msg.js +29 -0
  95. package/dist/collection/lib/message/resources/en-us/snk-application.msg.js +27 -0
  96. package/dist/collection/lib/message/resources/en-us/snk-attach.msg.js +42 -0
  97. package/dist/collection/lib/message/resources/en-us/snk-configurator.msg.js +13 -0
  98. package/dist/collection/lib/message/resources/en-us/snk-crud.msg.js +35 -0
  99. package/dist/collection/lib/message/resources/en-us/snk-data-exporter.msg.js +35 -0
  100. package/dist/collection/lib/message/resources/en-us/snk-data-unit.msg.js +40 -0
  101. package/dist/collection/lib/message/resources/en-us/snk-entity-list.msg.js +3 -0
  102. package/dist/collection/lib/message/resources/en-us/snk-error-handler.msg.js +17 -0
  103. package/dist/collection/lib/message/resources/en-us/snk-exporter.msg.js +20 -0
  104. package/dist/collection/lib/message/resources/en-us/snk-filter-bar.msg.js +71 -0
  105. package/dist/collection/lib/message/resources/en-us/snk-filter-field-search.msg.js +7 -0
  106. package/dist/collection/lib/message/resources/en-us/snk-filter-list.msg.js +3 -0
  107. package/dist/collection/lib/message/resources/en-us/snk-filter-param-config.msg.js +18 -0
  108. package/dist/collection/lib/message/resources/en-us/snk-form.msg.js +118 -0
  109. package/dist/collection/lib/message/resources/en-us/snk-grid.msg.js +41 -0
  110. package/dist/collection/lib/message/resources/en-us/snk-layout-form-config.msg.js +10 -0
  111. package/dist/collection/lib/message/resources/en-us/snk-personalized-filter.msg.js +105 -0
  112. package/dist/collection/lib/message/resources/en-us/snk-pesquisa.msg.js +25 -0
  113. package/dist/collection/lib/message/resources/en-us/snk-print-selector.msg.js +23 -0
  114. package/dist/collection/lib/message/resources/en-us/snk-simple-bar.msg.js +3 -0
  115. package/dist/collection/lib/message/resources/en-us/snk-simple-crud.msg.js +14 -0
  116. package/dist/collection/lib/message/resources/en-us/snk-simple-form-config.msg.js +16 -0
  117. package/dist/collection/lib/message/resources/en-us/snk-taskbar.msg.js +18 -0
  118. package/dist/collection/lib/message/resources/es-es/continuousInsertUtils.msg.js +6 -0
  119. package/dist/collection/lib/message/resources/es-es/crud-utils.msg.js +3 -0
  120. package/dist/collection/lib/message/resources/es-es/dataFetcher.msg.js +12 -0
  121. package/dist/collection/lib/message/resources/es-es/dataUnitDataLoaderHelper.msg.js +18 -0
  122. package/dist/collection/lib/message/resources/es-es/file-viewer.msg.js +9 -0
  123. package/dist/collection/lib/message/resources/es-es/snk-actions-button.msg.js +29 -0
  124. package/dist/collection/lib/message/resources/es-es/snk-application.msg.js +27 -0
  125. package/dist/collection/lib/message/resources/es-es/snk-attach.msg.js +42 -0
  126. package/dist/collection/lib/message/resources/es-es/snk-configurator.msg.js +13 -0
  127. package/dist/collection/lib/message/resources/es-es/snk-crud.msg.js +35 -0
  128. package/dist/collection/lib/message/resources/es-es/snk-data-exporter.msg.js +35 -0
  129. package/dist/collection/lib/message/resources/es-es/snk-data-unit.msg.js +40 -0
  130. package/dist/collection/lib/message/resources/es-es/snk-entity-list.msg.js +3 -0
  131. package/dist/collection/lib/message/resources/es-es/snk-error-handler.msg.js +17 -0
  132. package/dist/collection/lib/message/resources/es-es/snk-exporter.msg.js +20 -0
  133. package/dist/collection/lib/message/resources/es-es/snk-filter-bar.msg.js +71 -0
  134. package/dist/collection/lib/message/resources/es-es/snk-filter-field-search.msg.js +7 -0
  135. package/dist/collection/lib/message/resources/es-es/snk-filter-list.msg.js +3 -0
  136. package/dist/collection/lib/message/resources/es-es/snk-filter-param-config.msg.js +18 -0
  137. package/dist/collection/lib/message/resources/es-es/snk-form.msg.js +118 -0
  138. package/dist/collection/lib/message/resources/es-es/snk-grid.msg.js +41 -0
  139. package/dist/collection/lib/message/resources/es-es/snk-layout-form-config.msg.js +10 -0
  140. package/dist/collection/lib/message/resources/es-es/snk-personalized-filter.msg.js +105 -0
  141. package/dist/collection/lib/message/resources/es-es/snk-pesquisa.msg.js +25 -0
  142. package/dist/collection/lib/message/resources/es-es/snk-print-selector.msg.js +23 -0
  143. package/dist/collection/lib/message/resources/es-es/snk-simple-bar.msg.js +3 -0
  144. package/dist/collection/lib/message/resources/es-es/snk-simple-crud.msg.js +14 -0
  145. package/dist/collection/lib/message/resources/es-es/snk-simple-form-config.msg.js +16 -0
  146. package/dist/collection/lib/message/resources/es-es/snk-taskbar.msg.js +18 -0
  147. package/dist/collection/lib/message/resources/pt-br/continuousInsertUtils.msg.js +6 -0
  148. package/dist/collection/lib/message/resources/{crud-utils.msg.js → pt-br/crud-utils.msg.js} +1 -2
  149. package/dist/collection/lib/message/resources/pt-br/dataFetcher.msg.js +12 -0
  150. package/dist/collection/lib/message/resources/pt-br/dataUnitDataLoaderHelper.msg.js +18 -0
  151. package/dist/collection/lib/message/resources/{file-viewer.msg.js → pt-br/file-viewer.msg.js} +1 -2
  152. package/dist/collection/lib/message/resources/{snk-actions-button.msg.js → pt-br/snk-actions-button.msg.js} +3 -1
  153. package/dist/collection/lib/message/resources/pt-br/snk-application.msg.js +27 -0
  154. package/dist/collection/lib/message/resources/{snk-attach.msg.js → pt-br/snk-attach.msg.js} +3 -1
  155. package/dist/collection/lib/message/resources/{snk-configurator.msg.js → pt-br/snk-configurator.msg.js} +6 -1
  156. package/dist/collection/lib/message/resources/pt-br/snk-crud.msg.js +35 -0
  157. package/dist/collection/lib/message/resources/{snk-data-unit.msg.js → pt-br/snk-data-unit.msg.js} +5 -2
  158. package/dist/collection/lib/message/resources/pt-br/snk-error-handler.msg.js +17 -0
  159. package/dist/collection/lib/message/resources/{snk-exporter.msg.js → pt-br/snk-exporter.msg.js} +1 -2
  160. package/dist/collection/lib/message/resources/pt-br/snk-filter-bar.msg.js +71 -0
  161. package/dist/collection/lib/message/resources/pt-br/snk-filter-list.msg.js +3 -0
  162. package/dist/collection/lib/message/resources/{snk-form.msg.js → pt-br/snk-form.msg.js} +45 -3
  163. package/dist/collection/lib/message/resources/pt-br/snk-grid.msg.js +41 -0
  164. package/dist/collection/lib/message/resources/pt-br/snk-layout-form-config.msg.js +10 -0
  165. package/dist/collection/lib/message/resources/{snk-personalized-filter.msg.js → pt-br/snk-personalized-filter.msg.js} +17 -0
  166. package/dist/collection/lib/message/resources/pt-br/snk-pesquisa.msg.js +24 -0
  167. package/dist/collection/lib/message/resources/{snk-simple-crud.msg.js → pt-br/snk-simple-crud.msg.js} +6 -1
  168. package/dist/collection/lib/message/resources/pt-br/snk-simple-form-config.msg.js +16 -0
  169. package/dist/collection/lib/message/resources/{snk-taskbar.msg.js → pt-br/snk-taskbar.msg.js} +1 -2
  170. package/dist/collection/lib/utils/ContinuousInsertUtils.js +6 -2
  171. package/dist/components/ConfigStorage.js +11 -1
  172. package/dist/components/ContinuousInsertUtils.js +6 -2
  173. package/dist/components/DataFetcher.js +2695 -14
  174. package/dist/components/SnkFormConfigManager.js +1 -1
  175. package/dist/components/config-header2.js +2 -2
  176. package/dist/components/dataunit-fetcher.js +22 -21
  177. package/dist/components/field-config2.js +6 -7
  178. package/dist/components/field-item2.js +6 -3
  179. package/dist/components/fields-layout2.js +19 -12
  180. package/dist/components/fields-selector2.js +11 -5
  181. package/dist/components/guides-configurator2.js +14 -3
  182. package/dist/components/pesquisa-tree2.js +9 -4
  183. package/dist/components/snk-actions-button2.js +3 -2
  184. package/dist/components/snk-application2.js +46 -15
  185. package/dist/components/snk-attach2.js +43 -19
  186. package/dist/components/snk-configurator2.js +1 -1
  187. package/dist/components/snk-crud.js +12 -8
  188. package/dist/components/snk-data-unit2.js +5 -11
  189. package/dist/components/snk-detail-view2.js +19 -13
  190. package/dist/components/snk-expression-group2.js +3 -3
  191. package/dist/components/snk-expression-item2.js +18 -17
  192. package/dist/components/snk-filter-bar2.js +6 -6
  193. package/dist/components/snk-filter-item2.js +1 -1
  194. package/dist/components/snk-filter-list.js +1 -1
  195. package/dist/components/snk-filter-modal.js +1 -1
  196. package/dist/components/snk-filter-number.js +3 -1
  197. package/dist/components/snk-filter-period.js +3 -1
  198. package/dist/components/snk-form-config2.js +3 -3
  199. package/dist/components/snk-grid-config2.js +73 -35
  200. package/dist/components/snk-layout-form-config2.js +7 -1
  201. package/dist/components/snk-personalized-filter2.js +1 -1
  202. package/dist/components/snk-pesquisa2.js +23 -16
  203. package/dist/components/snk-select-box2.js +4 -2
  204. package/dist/components/snk-simple-crud2.js +19 -17
  205. package/dist/components/snk-simple-form-config2.js +7 -1
  206. package/dist/esm/{ClientSideExporterProvider-09dee1a3.js → ClientSideExporterProvider-7c2781f4.js} +10 -6
  207. package/dist/esm/{ConfigStorage-89154c4e.js → ConfigStorage-b5a1dba3.js} +12 -2
  208. package/dist/esm/{DataFetcher-db08cad0.js → DataFetcher-6f6de657.js} +2695 -14
  209. package/dist/esm/{FormConfigHelper-49fe72ca.js → FormConfigHelper-4e42f0b6.js} +4 -5
  210. package/dist/esm/{ISave-da565824.js → ISave-7ecdca20.js} +1 -1
  211. package/dist/esm/{SnkFormConfigManager-d64d62d6.js → SnkFormConfigManager-34fc1dc7.js} +3 -3
  212. package/dist/esm/{auth-fetcher-43c8d76b.js → auth-fetcher-7332a9a9.js} +1 -1
  213. package/dist/esm/config-header.entry.js +2 -2
  214. package/dist/esm/{dataunit-fetcher-1b78797a.js → dataunit-fetcher-f21cbad0.js} +22 -21
  215. package/dist/esm/field-config_2.entry.js +9 -6
  216. package/dist/esm/fields-layout.entry.js +20 -13
  217. package/dist/esm/fields-selector.entry.js +11 -6
  218. package/dist/esm/{form-config-fetcher-e623539b.js → form-config-fetcher-6ab4e805.js} +1 -1
  219. package/dist/esm/guides-configurator.entry.js +14 -3
  220. package/dist/esm/loader.js +1 -1
  221. package/dist/esm/pesquisa-grid_2.entry.js +12 -8
  222. package/dist/esm/sankhyablocks.js +1 -1
  223. package/dist/esm/snk-actions-button_8.entry.js +95 -45
  224. package/dist/esm/snk-application.entry.js +50 -20
  225. package/dist/esm/snk-attach.entry.js +46 -23
  226. package/dist/esm/snk-configurator.entry.js +1 -1
  227. package/dist/esm/snk-crud.entry.js +17 -13
  228. package/dist/esm/snk-data-exporter.entry.js +5 -6
  229. package/dist/esm/{snk-data-unit-330db397.js → snk-data-unit-b7e6e7a6.js} +6 -12
  230. package/dist/esm/snk-data-unit.entry.js +3 -4
  231. package/dist/esm/snk-detail-view.entry.js +21 -15
  232. package/dist/esm/snk-expression-group_2.entry.js +21 -20
  233. package/dist/esm/snk-filter-bar_4.entry.js +12 -12
  234. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  235. package/dist/esm/snk-filter-number.entry.js +3 -1
  236. package/dist/esm/snk-filter-period.entry.js +3 -1
  237. package/dist/esm/snk-form_2.entry.js +9 -9
  238. package/dist/esm/snk-grid.entry.js +6 -6
  239. package/dist/esm/{snk-guides-viewer-9335318d.js → snk-guides-viewer-fbfece85.js} +10 -10
  240. package/dist/esm/snk-guides-viewer.entry.js +7 -7
  241. package/dist/esm/snk-personalized-filter.entry.js +4 -4
  242. package/dist/esm/snk-pesquisa.entry.js +27 -20
  243. package/dist/esm/snk-simple-crud.entry.js +26 -24
  244. package/dist/sankhyablocks/p-012208e0.entry.js +1 -0
  245. package/dist/sankhyablocks/p-07b14811.entry.js +1 -0
  246. package/dist/sankhyablocks/p-0dac8fef.js +1 -0
  247. package/dist/sankhyablocks/p-0e495575.js +1 -0
  248. package/dist/sankhyablocks/p-11346b8d.entry.js +1 -0
  249. package/dist/sankhyablocks/{p-412e06e9.js → p-1210500e.js} +1 -1
  250. package/dist/sankhyablocks/p-158adf33.entry.js +1 -0
  251. package/dist/sankhyablocks/{p-fa591f6f.js → p-16fc4acd.js} +1 -1
  252. package/dist/sankhyablocks/p-3dba3468.js +56 -0
  253. package/dist/sankhyablocks/p-4872dc3a.entry.js +1 -0
  254. package/dist/sankhyablocks/{p-b2946adb.entry.js → p-4e63ffed.entry.js} +1 -1
  255. package/dist/sankhyablocks/p-5bab470d.entry.js +1 -0
  256. package/dist/sankhyablocks/p-5c7af8a9.entry.js +1 -0
  257. package/dist/sankhyablocks/p-5e282b33.entry.js +1 -0
  258. package/dist/sankhyablocks/p-6703336d.entry.js +1 -0
  259. package/dist/sankhyablocks/p-6a015ba2.js +1 -0
  260. package/dist/sankhyablocks/p-735a1175.entry.js +1 -0
  261. package/dist/sankhyablocks/p-75af335e.entry.js +1 -0
  262. package/dist/sankhyablocks/p-7b3ca294.entry.js +1 -0
  263. package/dist/sankhyablocks/{p-5126b34e.entry.js → p-7fbc6442.entry.js} +1 -1
  264. package/dist/sankhyablocks/p-81769310.entry.js +11 -0
  265. package/dist/sankhyablocks/p-8d1508aa.entry.js +1 -0
  266. package/dist/sankhyablocks/p-8f73da95.js +1 -0
  267. package/dist/sankhyablocks/p-a5108625.entry.js +1 -0
  268. package/dist/sankhyablocks/p-ad2ae575.entry.js +1 -0
  269. package/dist/sankhyablocks/p-b35574b5.js +60 -0
  270. package/dist/sankhyablocks/p-b49281be.entry.js +1 -0
  271. package/dist/sankhyablocks/{p-c9657baa.js → p-ba4979b4.js} +1 -1
  272. package/dist/sankhyablocks/{p-b21d32f6.js → p-c6331595.js} +1 -1
  273. package/dist/sankhyablocks/{p-e25412da.js → p-c9e6d720.js} +1 -1
  274. package/dist/sankhyablocks/p-d377aa7a.entry.js +1 -0
  275. package/dist/sankhyablocks/p-eacff4b7.entry.js +1 -0
  276. package/dist/sankhyablocks/p-eb0616d3.entry.js +1 -0
  277. package/dist/sankhyablocks/p-f39b0ebe.entry.js +1 -0
  278. package/dist/sankhyablocks/p-f8f29e1a.entry.js +1 -0
  279. package/dist/sankhyablocks/p-fa18530e.entry.js +1 -0
  280. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  281. package/dist/types/components/snk-application/errorhandler/snk-error-handler.d.ts +1 -0
  282. package/dist/types/components/snk-application/snk-application.d.ts +6 -0
  283. package/dist/types/components/snk-attach/interfaces/ICrudConfig.d.ts +1 -1
  284. package/dist/types/components/snk-attach/snk-attach.d.ts +5 -0
  285. package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +1 -1
  286. package/dist/types/components/snk-crud/snk-crud.d.ts +1 -0
  287. package/dist/types/components/snk-crud/subcomponents/GuideBuilder.d.ts +4 -1
  288. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +0 -6
  289. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-number.d.ts +1 -0
  290. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-period.d.ts +1 -0
  291. package/dist/types/components/snk-form-config/FormConfigHelper.d.ts +1 -1
  292. package/dist/types/components/snk-form-config/fields-layout/fields-layout.d.ts +3 -1
  293. package/dist/types/components/snk-form-config/fields-selector/fields-selector.d.ts +3 -0
  294. package/dist/types/components/snk-form-config/guides-configurator/guides-configurator.d.ts +2 -0
  295. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +7 -0
  296. package/dist/types/components/snk-grid-config/snk-select-box/snk-select-box.d.ts +4 -0
  297. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +3 -0
  298. package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.d.ts +1 -0
  299. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +6 -0
  300. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +3 -0
  301. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +2 -1
  302. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +6 -0
  303. package/dist/types/components.d.ts +40 -0
  304. package/dist/types/lib/configs/ConfigStorage.d.ts +1 -0
  305. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +2 -0
  306. package/dist/types/lib/http/data-fetcher/fetchers/grid-config-fetcher.d.ts +3 -2
  307. package/dist/types/lib/message/SnkMessageBuilder.d.ts +11 -1
  308. package/dist/types/lib/message/resources/en-us/continuousInsertUtils.msg.d.ts +1 -0
  309. package/dist/types/lib/message/resources/en-us/crud-utils.msg.d.ts +1 -0
  310. package/dist/types/lib/message/resources/en-us/dataFetcher.msg.d.ts +1 -0
  311. package/dist/types/lib/message/resources/en-us/dataUnitDataLoaderHelper.msg.d.ts +1 -0
  312. package/dist/types/lib/message/resources/en-us/file-viewer.msg.d.ts +1 -0
  313. package/dist/types/lib/message/resources/en-us/snk-application.msg.d.ts +1 -0
  314. package/dist/types/lib/message/resources/{snk-attach.msg.d.ts → en-us/snk-attach.msg.d.ts} +0 -1
  315. package/dist/types/lib/message/resources/{snk-crud.msg.d.ts → en-us/snk-crud.msg.d.ts} +0 -1
  316. package/dist/types/lib/message/resources/en-us/snk-data-unit.msg.d.ts +1 -0
  317. package/dist/types/lib/message/resources/en-us/snk-error-handler.msg.d.ts +1 -0
  318. package/dist/types/lib/message/resources/en-us/snk-exporter.msg.d.ts +1 -0
  319. package/dist/types/lib/message/resources/en-us/snk-filter-bar.msg.d.ts +1 -0
  320. package/dist/types/lib/message/resources/en-us/snk-filter-list.msg.d.ts +1 -0
  321. package/dist/types/lib/message/resources/en-us/snk-layout-form-config.msg.d.ts +1 -0
  322. package/dist/types/lib/message/resources/en-us/snk-pesquisa.msg.d.ts +1 -0
  323. package/dist/types/lib/message/resources/{snk-simple-crud.msg.d.ts → en-us/snk-simple-crud.msg.d.ts} +0 -1
  324. package/dist/types/lib/message/resources/en-us/snk-simple-form-config.msg.d.ts +1 -0
  325. package/dist/types/lib/message/resources/en-us/snk-taskbar.msg.d.ts +1 -0
  326. package/dist/types/lib/message/resources/es-es/continuousInsertUtils.msg.d.ts +1 -0
  327. package/dist/types/lib/message/resources/es-es/crud-utils.msg.d.ts +1 -0
  328. package/dist/types/lib/message/resources/es-es/dataFetcher.msg.d.ts +1 -0
  329. package/dist/types/lib/message/resources/es-es/dataUnitDataLoaderHelper.msg.d.ts +1 -0
  330. package/dist/types/lib/message/resources/es-es/file-viewer.msg.d.ts +1 -0
  331. package/dist/types/lib/message/resources/es-es/snk-actions-button.msg.d.ts +1 -0
  332. package/dist/types/lib/message/resources/es-es/snk-application.msg.d.ts +1 -0
  333. package/dist/types/lib/message/resources/{snk-application.msg.d.ts → es-es/snk-attach.msg.d.ts} +0 -1
  334. package/dist/types/lib/message/resources/es-es/snk-configurator.msg.d.ts +1 -0
  335. package/dist/types/lib/message/resources/es-es/snk-crud.msg.d.ts +1 -0
  336. package/dist/types/lib/message/resources/es-es/snk-data-exporter.msg.d.ts +1 -0
  337. package/dist/types/lib/message/resources/es-es/snk-data-unit.msg.d.ts +1 -0
  338. package/dist/types/lib/message/resources/es-es/snk-entity-list.msg.d.ts +1 -0
  339. package/dist/types/lib/message/resources/es-es/snk-error-handler.msg.d.ts +1 -0
  340. package/dist/types/lib/message/resources/es-es/snk-exporter.msg.d.ts +1 -0
  341. package/dist/types/lib/message/resources/es-es/snk-filter-bar.msg.d.ts +1 -0
  342. package/dist/types/lib/message/resources/es-es/snk-filter-field-search.msg.d.ts +1 -0
  343. package/dist/types/lib/message/resources/es-es/snk-filter-list.msg.d.ts +1 -0
  344. package/dist/types/lib/message/resources/es-es/snk-filter-param-config.msg.d.ts +1 -0
  345. package/dist/types/lib/message/resources/es-es/snk-form.msg.d.ts +4 -0
  346. package/dist/types/lib/message/resources/es-es/snk-grid.msg.d.ts +2 -0
  347. package/dist/types/lib/message/resources/es-es/snk-layout-form-config.msg.d.ts +1 -0
  348. package/dist/types/lib/message/resources/es-es/snk-personalized-filter.msg.d.ts +1 -0
  349. package/dist/types/lib/message/resources/es-es/snk-pesquisa.msg.d.ts +1 -0
  350. package/dist/types/lib/message/resources/es-es/snk-print-selector.msg.d.ts +1 -0
  351. package/dist/types/lib/message/resources/es-es/snk-simple-bar.msg.d.ts +1 -0
  352. package/dist/types/lib/message/resources/es-es/snk-simple-crud.msg.d.ts +1 -0
  353. package/dist/types/lib/message/resources/es-es/snk-simple-form-config.msg.d.ts +1 -0
  354. package/dist/types/lib/message/resources/es-es/snk-taskbar.msg.d.ts +1 -0
  355. package/dist/types/lib/message/resources/pt-br/continuousInsertUtils.msg.d.ts +1 -0
  356. package/dist/types/lib/message/resources/pt-br/crud-utils.msg.d.ts +1 -0
  357. package/dist/types/lib/message/resources/pt-br/dataFetcher.msg.d.ts +1 -0
  358. package/dist/types/lib/message/resources/pt-br/dataUnitDataLoaderHelper.msg.d.ts +1 -0
  359. package/dist/types/lib/message/resources/pt-br/file-viewer.msg.d.ts +1 -0
  360. package/dist/types/lib/message/resources/pt-br/snk-actions-button.msg.d.ts +1 -0
  361. package/dist/types/lib/message/resources/pt-br/snk-application.msg.d.ts +1 -0
  362. package/dist/types/lib/message/resources/pt-br/snk-attach.msg.d.ts +1 -0
  363. package/dist/types/lib/message/resources/pt-br/snk-configurator.msg.d.ts +1 -0
  364. package/dist/types/lib/message/resources/pt-br/snk-crud.msg.d.ts +1 -0
  365. package/dist/types/lib/message/resources/pt-br/snk-data-exporter.msg.d.ts +1 -0
  366. package/dist/types/lib/message/resources/pt-br/snk-data-unit.msg.d.ts +1 -0
  367. package/dist/types/lib/message/resources/pt-br/snk-entity-list.msg.d.ts +1 -0
  368. package/dist/types/lib/message/resources/pt-br/snk-error-handler.msg.d.ts +1 -0
  369. package/dist/types/lib/message/resources/pt-br/snk-exporter.msg.d.ts +1 -0
  370. package/dist/types/lib/message/resources/pt-br/snk-filter-bar.msg.d.ts +1 -0
  371. package/dist/types/lib/message/resources/pt-br/snk-filter-field-search.msg.d.ts +1 -0
  372. package/dist/types/lib/message/resources/pt-br/snk-filter-list.msg.d.ts +1 -0
  373. package/dist/types/lib/message/resources/pt-br/snk-filter-param-config.msg.d.ts +1 -0
  374. package/dist/types/lib/message/resources/pt-br/snk-form.msg.d.ts +4 -0
  375. package/dist/types/lib/message/resources/pt-br/snk-grid.msg.d.ts +2 -0
  376. package/dist/types/lib/message/resources/pt-br/snk-layout-form-config.msg.d.ts +1 -0
  377. package/dist/types/lib/message/resources/pt-br/snk-personalized-filter.msg.d.ts +1 -0
  378. package/dist/types/lib/message/resources/pt-br/snk-pesquisa.msg.d.ts +1 -0
  379. package/dist/types/lib/message/resources/pt-br/snk-print-selector.msg.d.ts +1 -0
  380. package/dist/types/lib/message/resources/pt-br/snk-simple-bar.msg.d.ts +1 -0
  381. package/dist/types/lib/message/resources/pt-br/snk-simple-crud.msg.d.ts +1 -0
  382. package/dist/types/lib/message/resources/pt-br/snk-simple-form-config.msg.d.ts +1 -0
  383. package/dist/types/lib/message/resources/pt-br/snk-taskbar.msg.d.ts +1 -0
  384. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +1 -0
  385. package/package.json +1 -1
  386. package/dist/cjs/SnkMessageBuilder-221cc88d.js +0 -731
  387. package/dist/collection/lib/message/resources/snk-application.msg.js +0 -9
  388. package/dist/collection/lib/message/resources/snk-crud.msg.js +0 -11
  389. package/dist/collection/lib/message/resources/snk-filter-bar.msg.js +0 -65
  390. package/dist/collection/lib/message/resources/snk-grid.msg.js +0 -40
  391. package/dist/components/SnkMessageBuilder.js +0 -709
  392. package/dist/esm/SnkMessageBuilder-da87a821.js +0 -709
  393. package/dist/sankhyablocks/p-0750661e.entry.js +0 -1
  394. package/dist/sankhyablocks/p-1079e61b.entry.js +0 -11
  395. package/dist/sankhyablocks/p-1c69a957.entry.js +0 -1
  396. package/dist/sankhyablocks/p-22a8656b.entry.js +0 -1
  397. package/dist/sankhyablocks/p-23b20add.entry.js +0 -1
  398. package/dist/sankhyablocks/p-2d58f98e.entry.js +0 -1
  399. package/dist/sankhyablocks/p-2ebd3bfd.entry.js +0 -1
  400. package/dist/sankhyablocks/p-31193a60.entry.js +0 -1
  401. package/dist/sankhyablocks/p-35e73c5d.js +0 -1
  402. package/dist/sankhyablocks/p-37b4f642.js +0 -60
  403. package/dist/sankhyablocks/p-3b1d73f9.js +0 -1
  404. package/dist/sankhyablocks/p-49d968e2.entry.js +0 -1
  405. package/dist/sankhyablocks/p-4d2ff2fb.entry.js +0 -1
  406. package/dist/sankhyablocks/p-5b31b239.entry.js +0 -1
  407. package/dist/sankhyablocks/p-71a05822.entry.js +0 -1
  408. package/dist/sankhyablocks/p-7c9815ea.entry.js +0 -1
  409. package/dist/sankhyablocks/p-7ced2cf4.entry.js +0 -1
  410. package/dist/sankhyablocks/p-86bd4478.entry.js +0 -1
  411. package/dist/sankhyablocks/p-8758404f.js +0 -56
  412. package/dist/sankhyablocks/p-9a6fbf3d.entry.js +0 -1
  413. package/dist/sankhyablocks/p-a2c6944d.entry.js +0 -1
  414. package/dist/sankhyablocks/p-c99293d5.entry.js +0 -1
  415. package/dist/sankhyablocks/p-cb2a4613.entry.js +0 -1
  416. package/dist/sankhyablocks/p-cd1a5b6a.js +0 -1
  417. package/dist/sankhyablocks/p-cfc219f6.entry.js +0 -1
  418. package/dist/sankhyablocks/p-d67526b6.entry.js +0 -1
  419. package/dist/sankhyablocks/p-e56eb36b.entry.js +0 -1
  420. package/dist/sankhyablocks/p-f442c8f6.entry.js +0 -1
  421. package/dist/sankhyablocks/p-fc4eac32.js +0 -1
  422. package/dist/sankhyablocks/p-fc87708a.js +0 -1
  423. package/dist/types/lib/message/resources/crud-utils.msg.d.ts +0 -2
  424. package/dist/types/lib/message/resources/file-viewer.msg.d.ts +0 -2
  425. package/dist/types/lib/message/resources/snk-data-unit.msg.d.ts +0 -2
  426. package/dist/types/lib/message/resources/snk-exporter.msg.d.ts +0 -2
  427. package/dist/types/lib/message/resources/snk-filter-bar.msg.d.ts +0 -2
  428. package/dist/types/lib/message/resources/snk-taskbar.msg.d.ts +0 -2
  429. /package/dist/collection/components/snk-simple-crud/{regular-buttons.js → snk-simple-crud.constants.js} +0 -0
  430. /package/dist/collection/lib/message/resources/{snk-data-exporter.msg.js → pt-br/snk-data-exporter.msg.js} +0 -0
  431. /package/dist/collection/lib/message/resources/{snk-entity-list.msg.js → pt-br/snk-entity-list.msg.js} +0 -0
  432. /package/dist/collection/lib/message/resources/{snk-filter-field-search.msg.js → pt-br/snk-filter-field-search.msg.js} +0 -0
  433. /package/dist/collection/lib/message/resources/{snk-filter-param-config.msg.js → pt-br/snk-filter-param-config.msg.js} +0 -0
  434. /package/dist/collection/lib/message/resources/{snk-print-selector.msg.js → pt-br/snk-print-selector.msg.js} +0 -0
  435. /package/dist/collection/lib/message/resources/{snk-simple-bar.msg.js → pt-br/snk-simple-bar.msg.js} +0 -0
  436. /package/dist/types/components/snk-simple-crud/{regular-buttons.d.ts → snk-simple-crud.constants.d.ts} +0 -0
  437. /package/dist/types/lib/message/resources/{snk-actions-button.msg.d.ts → en-us/snk-actions-button.msg.d.ts} +0 -0
  438. /package/dist/types/lib/message/resources/{snk-configurator.msg.d.ts → en-us/snk-configurator.msg.d.ts} +0 -0
  439. /package/dist/types/lib/message/resources/{snk-data-exporter.msg.d.ts → en-us/snk-data-exporter.msg.d.ts} +0 -0
  440. /package/dist/types/lib/message/resources/{snk-entity-list.msg.d.ts → en-us/snk-entity-list.msg.d.ts} +0 -0
  441. /package/dist/types/lib/message/resources/{snk-filter-field-search.msg.d.ts → en-us/snk-filter-field-search.msg.d.ts} +0 -0
  442. /package/dist/types/lib/message/resources/{snk-filter-param-config.msg.d.ts → en-us/snk-filter-param-config.msg.d.ts} +0 -0
  443. /package/dist/types/lib/message/resources/{snk-form.msg.d.ts → en-us/snk-form.msg.d.ts} +0 -0
  444. /package/dist/types/lib/message/resources/{snk-grid.msg.d.ts → en-us/snk-grid.msg.d.ts} +0 -0
  445. /package/dist/types/lib/message/resources/{snk-personalized-filter.msg.d.ts → en-us/snk-personalized-filter.msg.d.ts} +0 -0
  446. /package/dist/types/lib/message/resources/{snk-print-selector.msg.d.ts → en-us/snk-print-selector.msg.d.ts} +0 -0
  447. /package/dist/types/lib/message/resources/{snk-simple-bar.msg.d.ts → en-us/snk-simple-bar.msg.d.ts} +0 -0
@@ -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: {
@@ -627,6 +633,8 @@ const snkAttachCss = ".snk-attach__header.sc-snk-attach,.snk-attach__crud-sectio
627
633
 
628
634
  const RESOURCE_ID = 'AnexoSistema';
629
635
  const DATA_UNIT_NAME = 'br.com.sankhya.core.v3.anexoSistema';
636
+ const GRID_LEGACY_CONFIG_NAME = 'GrdCfgHtml5:grdcfg.dynaform.anexo';
637
+ const LINKORFILE_COLUMN_NAME = "ARQUIVOOULINK";
630
638
  const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
631
639
  constructor() {
632
640
  super();
@@ -656,6 +664,7 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
656
664
  this.back.emit();
657
665
  });
658
666
  };
667
+ this.gridLegacyConfigName = undefined;
659
668
  this.fetcherType = undefined;
660
669
  this.fetcher = undefined;
661
670
  this.dataUnit = undefined;
@@ -722,7 +731,7 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
722
731
  }
723
732
  downloadAttachment(selectedRecord) {
724
733
  if (!selectedRecord)
725
- throw new Error('Nenhum registro selecionado');
734
+ throw new Error(this.getMessage("snkAttach.alertValidation.noRecordSelected.message"));
726
735
  if (selectedRecord.LINK) {
727
736
  window.open(`${selectedRecord.LINK}`);
728
737
  return;
@@ -767,9 +776,11 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
767
776
  var _a, _b;
768
777
  this._currentDataUnit = new DataUnitFetcher().getDataUnit(RESOURCE_ID, DATA_UNIT_NAME);
769
778
  this._currentFetcher = this.getAnexoSistemaFetcherInstance();
779
+ let gridValidateForm;
770
780
  if (!this._currentDataUnit.metadata) {
771
781
  await ((_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.loadMetadata());
772
- this.crudConfig = Object.assign({}, anexoSistemaCrudConfig);
782
+ this.crudConfig = this.entityName ? { form: anexoSistemaCrudConfig === null || anexoSistemaCrudConfig === void 0 ? void 0 : anexoSistemaCrudConfig.form } : Object.assign({}, anexoSistemaCrudConfig);
783
+ gridValidateForm = { grid: anexoSistemaCrudConfig === null || anexoSistemaCrudConfig === void 0 ? void 0 : anexoSistemaCrudConfig.grid };
773
784
  }
774
785
  this.initDataUnitLoaders();
775
786
  this._currentDataUnit.addFilterProvider({
@@ -779,19 +790,21 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
779
790
  interceptAction: (action) => this._currentDataUnitBuilder.getInterceptions(this._currentDataUnit, action, this._crudElement)
780
791
  });
781
792
  await ((_b = this._currentDataUnit) === null || _b === void 0 ? void 0 : _b.loadData());
782
- this.disableEditFieldsNotInForm();
793
+ this.disableEditFieldsNotInForm(gridValidateForm);
783
794
  }
784
795
  async loadAttach() {
785
796
  var _a, _b;
786
797
  this._currentFetcher = new AttachFetcher();
787
798
  this._currentDataUnit = new DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
788
799
  this._currentDataUnit.pageSize = 150;
800
+ let gridValidateForm;
789
801
  this.initDataUnitLoaders();
790
802
  this._currentDataUnit.addInterceptor({
791
803
  interceptAction: (action) => {
792
804
  var _a;
793
805
  if (action.type === Action.METADATA_LOADED) {
794
- this.crudConfig = Object.assign({}, attachCrudConfig);
806
+ this.crudConfig = this.entityName ? { form: attachCrudConfig === null || attachCrudConfig === void 0 ? void 0 : attachCrudConfig.form } : Object.assign({}, attachCrudConfig);
807
+ gridValidateForm = { grid: attachCrudConfig === null || attachCrudConfig === void 0 ? void 0 : attachCrudConfig.grid };
795
808
  (_a = this._crudElement) === null || _a === void 0 ? void 0 : _a.updateConfig();
796
809
  }
797
810
  return this._currentDataUnitBuilder.getInterceptions(this._currentDataUnit, action, this._crudElement);
@@ -799,9 +812,10 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
799
812
  });
800
813
  if (!this._currentDataUnit.metadata) {
801
814
  await ((_a = this._currentDataUnit) === null || _a === void 0 ? void 0 : _a.loadMetadata());
802
- this.crudConfig = Object.assign({}, attachCrudConfig);
815
+ this.crudConfig = this.entityName ? { form: attachCrudConfig === null || attachCrudConfig === void 0 ? void 0 : attachCrudConfig.form } : Object.assign({}, attachCrudConfig);
816
+ gridValidateForm = { grid: attachCrudConfig === null || attachCrudConfig === void 0 ? void 0 : attachCrudConfig.grid };
803
817
  await ((_b = this._currentDataUnit) === null || _b === void 0 ? void 0 : _b.loadData(undefined, undefined, true, this.registerKey));
804
- this.disableEditFieldsNotInForm();
818
+ this.disableEditFieldsNotInForm(gridValidateForm);
805
819
  }
806
820
  }
807
821
  initDataUnitLoaders() {
@@ -820,12 +834,16 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
820
834
  });
821
835
  }
822
836
  }
823
- disableEditFieldsNotInForm() {
824
- var _a;
825
- (_a = this.crudConfig) === null || _a === void 0 ? void 0 : _a.grid.columns.forEach(column => {
826
- var _a;
837
+ disableEditFieldsNotInForm(gridValidateForm) {
838
+ var _a, _b, _c, _d, _e;
839
+ const gridColumns = ((_b = (_a = this._crudElement) === null || _a === void 0 ? void 0 : _a.gridConfig) === null || _b === void 0 ? void 0 : _b.columns) || ((_c = gridValidateForm === null || gridValidateForm === void 0 ? void 0 : gridValidateForm.grid) === null || _c === void 0 ? void 0 : _c.columns) || ((_e = (_d = this.crudConfig) === null || _d === void 0 ? void 0 : _d.grid) === null || _e === void 0 ? void 0 : _e.columns);
840
+ if (!!this.getGridLegacyConfigName()) {
841
+ this._currentDataUnit.disableField(LINKORFILE_COLUMN_NAME);
842
+ }
843
+ gridColumns === null || gridColumns === void 0 ? void 0 : gridColumns.forEach(column => {
844
+ var _a, _b;
827
845
  const fieldName = column.name;
828
- if (!((_a = this.crudConfig) === null || _a === void 0 ? void 0 : _a.form.fields.some(field => field.name === fieldName))) {
846
+ if (!((_b = (_a = this.crudConfig) === null || _a === void 0 ? void 0 : _a.form) === null || _b === void 0 ? void 0 : _b.fields.some(field => (field === null || field === void 0 ? void 0 : field.name) === fieldName))) {
829
847
  this._currentDataUnit.disableField(fieldName);
830
848
  }
831
849
  });
@@ -875,17 +893,23 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
875
893
  await this._currentDataUnit.loadMetadata();
876
894
  }
877
895
  ;
896
+ getGridLegacyConfigName() {
897
+ if (this.gridLegacyConfigName)
898
+ return this.gridLegacyConfigName;
899
+ return this.entityName ? GRID_LEGACY_CONFIG_NAME + "." + this.entityName : this.entityName;
900
+ }
878
901
  render() {
879
902
  var _a, _b;
880
903
  if (!this._currentDataUnit)
881
904
  return null;
882
- return (h("main", { class: "snk-attach__main" }, h("header", { class: "snk-attach__header" }, h("snk-simple-bar", { onExit: this.handleBack, messagesBuilder: this.messagesBuilder }, h("div", { slot: "rightSlot" }, h("ez-button", { class: "ez-button--primary", label: this.getMessage("snkAttach.finish"), onClick: this.handleFinish })))), h("div", { class: "snk-attach__crud-section ez-size-height--full ez-size-width--full ez-flex ez-flex--column" }, h("div", { class: "ez-box__container" }, h("snk-simple-crud", { ref: (el) => this._crudElement = el, dataUnit: this._currentDataUnit, taskbarManager: buildTaskBarManager(), gridConfig: (_a = this.crudConfig) === null || _a === void 0 ? void 0 : _a.grid, formConfig: (_b = this.crudConfig) === null || _b === void 0 ? void 0 : _b.form, useCancelConfirm: false, onActionClick: this.handleTaskbarClick, messagesBuilder: this.messagesBuilder, onDataStateChange: this.handleOnDataStateChange.bind(this), multipleSelection: true }, h("div", { slot: "snkSimpleCrudHeader" }, h("div", { class: "ez-flex ez-flex--column" }, h("span", { class: "ez-title--primary ez-text ez-text--large ez-text--bold ez-padding-bottom--medium" }, this.getMessage("snkAttach.title")), h("span", { class: "ez-text ez-text--medium ez-text--secondary ez-padding-bottom--medium" }, this.getMessage("snkAttach.description")))))))));
905
+ return (h("main", { class: "snk-attach__main" }, h("header", { class: "snk-attach__header" }, h("snk-simple-bar", { onExit: this.handleBack, messagesBuilder: this.messagesBuilder }, h("div", { slot: "rightSlot" }, h("ez-button", { class: "ez-button--primary", label: this.getMessage("snkAttach.finish"), onClick: this.handleFinish })))), h("div", { class: "snk-attach__crud-section ez-size-height--full ez-size-width--full ez-flex ez-flex--column" }, h("div", { class: "ez-box__container" }, h("snk-simple-crud", { ref: (el) => this._crudElement = el, dataUnit: this._currentDataUnit, taskbarManager: buildTaskBarManager(), gridConfig: (_a = this.crudConfig) === null || _a === void 0 ? void 0 : _a.grid, formConfig: (_b = this.crudConfig) === null || _b === void 0 ? void 0 : _b.form, useCancelConfirm: false, onActionClick: this.handleTaskbarClick, messagesBuilder: this.messagesBuilder, onDataStateChange: this.handleOnDataStateChange.bind(this), multipleSelection: true, configName: this.entityName, ignoreReadOnlyFormFields: this.entityName ? true : false, gridLegacyConfigName: this.getGridLegacyConfigName() }, h("div", { slot: "snkSimpleCrudHeader" }, h("div", { class: "ez-flex ez-flex--column" }, h("span", { class: "ez-title--primary ez-text ez-text--large ez-text--bold ez-padding-bottom--medium" }, this.getMessage("snkAttach.title")), h("span", { class: "ez-text ez-text--medium ez-text--secondary ez-padding-bottom--medium" }, this.getMessage("snkAttach.description")))))))));
883
906
  }
884
907
  static get watchers() { return {
885
908
  "registerKey": ["registerKeyWatcher"]
886
909
  }; }
887
910
  static get style() { return snkAttachCss; }
888
911
  }, [2, "snk-attach", {
912
+ "gridLegacyConfigName": [1, "grid-legacy-config-name"],
889
913
  "fetcherType": [1, "fetcher-type"],
890
914
  "fetcher": [16],
891
915
  "dataUnit": [16],
@@ -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 {