@sankhyalabs/sankhyablocks 5.19.0 → 6.0.0

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 (300) hide show
  1. package/dist/cjs/ConfigStorage-0a738cdc.js +304 -0
  2. package/dist/cjs/IExpressionItem-1090c3fd.js +7 -0
  3. package/dist/cjs/PersonalizedFilterUtils-7d959e91.js +229 -0
  4. package/dist/cjs/{SnkFormConfigManager-69df3f74.js → SnkFormConfigManager-a583f503.js} +1 -1
  5. package/dist/cjs/{SnkMessageBuilder-3b5b5614.js → SnkMessageBuilder-8a2d3f26.js} +65 -4
  6. package/dist/cjs/{filter-bar-config-fetcher-a14536bf.js → filter-bar-config-fetcher-75219599.js} +34 -11
  7. package/dist/cjs/{index-de79181a.js → index-59a3e2de.js} +1 -1
  8. package/dist/cjs/{index-f400b1d6.js → index-614af008.js} +2 -0
  9. package/dist/cjs/{index-21bd01e1.js → index-aaaa2af5.js} +6 -1
  10. package/dist/cjs/loader.cjs.js +2 -2
  11. package/dist/cjs/sankhyablocks.cjs.js +2 -2
  12. package/dist/cjs/snk-actions-button.cjs.entry.js +2 -2
  13. package/dist/cjs/snk-actions-form.cjs.entry.js +1 -1
  14. package/dist/cjs/snk-application.cjs.entry.js +4 -4
  15. package/dist/cjs/snk-attach.cjs.entry.js +4 -4
  16. package/dist/cjs/snk-client-confirm.cjs.entry.js +2 -2
  17. package/dist/cjs/snk-config-options.cjs.entry.js +1 -1
  18. package/dist/cjs/snk-configurator.cjs.entry.js +1 -1
  19. package/dist/cjs/snk-crud.cjs.entry.js +4 -4
  20. package/dist/cjs/snk-data-exporter.cjs.entry.js +4 -4
  21. package/dist/cjs/{snk-data-unit-e9c20097.js → snk-data-unit-53fc9200.js} +2 -2
  22. package/dist/cjs/snk-data-unit.cjs.entry.js +3 -3
  23. package/dist/cjs/snk-detail-view.cjs.entry.js +10 -10
  24. package/dist/cjs/snk-entity-list.cjs.entry.js +6 -4
  25. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  26. package/dist/cjs/snk-expression-group.cjs.entry.js +246 -0
  27. package/dist/cjs/{snk-filter-field-search_2.cjs.entry.js → snk-expression-item_3.cjs.entry.js} +327 -66
  28. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  29. package/dist/cjs/snk-filter-bar.cjs.entry.js +161 -72
  30. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  31. package/dist/cjs/snk-filter-detail.cjs.entry.js +54 -69
  32. package/dist/cjs/snk-filter-item.cjs.entry.js +21 -7
  33. package/dist/cjs/snk-filter-list.cjs.entry.js +1 -1
  34. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +57 -29
  35. package/dist/cjs/snk-filter-modal.cjs.entry.js +66 -12
  36. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +1 -1
  37. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  38. package/dist/cjs/snk-filter-period.cjs.entry.js +5 -3
  39. package/dist/cjs/snk-filter-personalized.cjs.entry.js +135 -55
  40. package/dist/cjs/snk-filter-search.cjs.entry.js +1 -1
  41. package/dist/cjs/snk-filter-text.cjs.entry.js +1 -1
  42. package/dist/cjs/snk-form-config.cjs.entry.js +1 -1
  43. package/dist/cjs/snk-form-summary.cjs.entry.js +1 -1
  44. package/dist/cjs/snk-form-view.cjs.entry.js +1 -1
  45. package/dist/cjs/snk-form.cjs.entry.js +4 -4
  46. package/dist/cjs/snk-grid-config.cjs.entry.js +3 -3
  47. package/dist/cjs/snk-grid.cjs.entry.js +7 -7
  48. package/dist/cjs/{snk-guides-viewer-c8843478.js → snk-guides-viewer-10ffca10.js} +5 -5
  49. package/dist/cjs/snk-guides-viewer.cjs.entry.js +9 -9
  50. package/dist/cjs/snk-personalized-filter.cjs.entry.js +166 -94
  51. package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
  52. package/dist/cjs/snk-select-box.cjs.entry.js +1 -1
  53. package/dist/cjs/snk-simple-bar.cjs.entry.js +45 -0
  54. package/dist/cjs/{snk-simple-bar_2.cjs.entry.js → snk-simple-crud.cjs.entry.js} +5 -43
  55. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  56. package/dist/cjs/snk-taskbar.cjs.entry.js +4 -4
  57. package/dist/cjs/{taskbar-elements-3be287d6.js → taskbar-elements-068aa945.js} +3 -3
  58. package/dist/cjs/{taskbar-processor-02f0fc84.js → taskbar-processor-6442c585.js} +1 -1
  59. package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
  60. package/dist/collection/collection-manifest.json +2 -1
  61. package/dist/collection/components/snk-actions-button/subcomponents/snk-client-confirm.js +1 -1
  62. package/dist/collection/components/snk-entity-list/snk-entity-list.js +6 -4
  63. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +34 -12
  64. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-period.js +4 -2
  65. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-personalized/snk-filter-personalized.css +66 -0
  66. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-personalized/snk-filter-personalized.js +370 -0
  67. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +52 -68
  68. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +20 -6
  69. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -0
  70. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +110 -10
  71. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +98 -27
  72. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +21 -0
  73. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +100 -49
  74. package/dist/collection/components/snk-filter-bar/types/custom-element-filter.js +1 -0
  75. package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +22 -3
  76. package/dist/collection/components/snk-filter-bar/utils/filters-mock.js +96 -0
  77. package/dist/collection/components/snk-filter-field-search/snk-filter-field-search.css +1 -1
  78. package/dist/collection/components/snk-filter-field-search/snk-filter-field-search.js +27 -6
  79. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.css +39 -2
  80. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +276 -30
  81. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.css +73 -0
  82. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.js +443 -0
  83. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/filter-operands/filter-operands.js +16 -24
  84. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.css +18 -4
  85. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.js +131 -21
  86. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IExpressionGroup.js +0 -0
  87. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IExpressionItem.js +5 -1
  88. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IParameter.js +1 -0
  89. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IPersonalizedFilter.js +1 -0
  90. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/index.js +3 -0
  91. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.js +1 -1
  92. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.js +184 -15
  93. package/dist/collection/lib/@types/index.js +2 -0
  94. package/dist/collection/lib/configs/ConfigStorage.js +15 -0
  95. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +36 -13
  96. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +106 -4
  97. package/dist/collection/lib/message/resources/snk-filter-bar.msg.js +15 -2
  98. package/dist/collection/lib/message/resources/snk-filter-field-search.msg.js +2 -0
  99. package/dist/collection/lib/message/resources/snk-personalized-filter.msg.js +48 -2
  100. package/dist/components/ConfigStorage.js +180 -1
  101. package/dist/components/PersonalizedFilterUtils.js +227 -0
  102. package/dist/components/SnkMessageBuilder.js +65 -4
  103. package/dist/components/filter-bar-config-fetcher.js +34 -11
  104. package/dist/components/index.d.ts +2 -1
  105. package/dist/components/index.js +1 -0
  106. package/dist/components/index2.js +3 -1
  107. package/dist/components/snk-client-confirm.js +1 -1
  108. package/dist/components/snk-crud.js +65 -35
  109. package/dist/components/snk-data-exporter2.js +1 -1
  110. package/dist/components/snk-detail-view2.js +99 -44
  111. package/dist/components/snk-entity-list.js +6 -4
  112. package/dist/components/snk-expression-group.d.ts +11 -0
  113. package/dist/components/snk-expression-group.js +6 -0
  114. package/dist/components/snk-expression-group2.js +296 -0
  115. package/dist/components/snk-expression-item2.js +133 -46
  116. package/dist/components/snk-filter-bar2.js +195 -68
  117. package/dist/components/snk-filter-detail2.js +52 -68
  118. package/dist/components/snk-filter-field-search2.js +26 -5
  119. package/dist/components/snk-filter-item2.js +20 -6
  120. package/dist/components/snk-filter-modal-item2.js +54 -27
  121. package/dist/components/snk-filter-modal.js +68 -12
  122. package/dist/components/snk-filter-param-config2.js +3 -57
  123. package/dist/components/snk-filter-period.js +4 -2
  124. package/dist/components/snk-filter-personalized.js +139 -58
  125. package/dist/components/snk-grid2.js +52 -16
  126. package/dist/components/snk-personalized-filter.js +1 -153
  127. package/dist/components/snk-personalized-filter2.js +238 -0
  128. package/dist/esm/ConfigStorage-9f4d2e67.js +300 -0
  129. package/dist/esm/IExpressionItem-2e922b2c.js +7 -0
  130. package/dist/esm/PersonalizedFilterUtils-202cd721.js +227 -0
  131. package/dist/esm/{SnkFormConfigManager-e60367a0.js → SnkFormConfigManager-def999fe.js} +1 -1
  132. package/dist/esm/{SnkMessageBuilder-188a38bb.js → SnkMessageBuilder-cc4d1599.js} +65 -4
  133. package/dist/esm/{filter-bar-config-fetcher-edc48f4b.js → filter-bar-config-fetcher-bd2070a3.js} +34 -11
  134. package/dist/esm/{index-cfd4bb13.js → index-8c3d76a6.js} +6 -1
  135. package/dist/esm/{index-507e19ec.js → index-a255b326.js} +3 -1
  136. package/dist/esm/{index-8efbf198.js → index-d60ca0ac.js} +1 -1
  137. package/dist/esm/loader.js +3 -3
  138. package/dist/esm/sankhyablocks.js +3 -3
  139. package/dist/esm/snk-actions-button.entry.js +2 -2
  140. package/dist/esm/snk-actions-form.entry.js +1 -1
  141. package/dist/esm/snk-application.entry.js +4 -4
  142. package/dist/esm/snk-attach.entry.js +4 -4
  143. package/dist/esm/snk-client-confirm.entry.js +2 -2
  144. package/dist/esm/snk-config-options.entry.js +1 -1
  145. package/dist/esm/snk-configurator.entry.js +1 -1
  146. package/dist/esm/snk-crud.entry.js +4 -4
  147. package/dist/esm/snk-data-exporter.entry.js +4 -4
  148. package/dist/esm/{snk-data-unit-79b1583a.js → snk-data-unit-97824457.js} +2 -2
  149. package/dist/esm/snk-data-unit.entry.js +3 -3
  150. package/dist/esm/snk-detail-view.entry.js +10 -10
  151. package/dist/esm/snk-entity-list.entry.js +7 -5
  152. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  153. package/dist/esm/snk-expression-group.entry.js +242 -0
  154. package/dist/esm/{snk-filter-field-search_2.entry.js → snk-expression-item_3.entry.js} +326 -66
  155. package/dist/esm/snk-field-config.entry.js +1 -1
  156. package/dist/esm/snk-filter-bar.entry.js +156 -67
  157. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  158. package/dist/esm/snk-filter-detail.entry.js +55 -70
  159. package/dist/esm/snk-filter-item.entry.js +21 -7
  160. package/dist/esm/snk-filter-list.entry.js +1 -1
  161. package/dist/esm/snk-filter-modal-item.entry.js +57 -29
  162. package/dist/esm/snk-filter-modal.entry.js +66 -12
  163. package/dist/esm/snk-filter-multi-select.entry.js +1 -1
  164. package/dist/esm/snk-filter-number.entry.js +1 -1
  165. package/dist/esm/snk-filter-period.entry.js +5 -3
  166. package/dist/esm/snk-filter-personalized.entry.js +135 -55
  167. package/dist/esm/snk-filter-search.entry.js +1 -1
  168. package/dist/esm/snk-filter-text.entry.js +1 -1
  169. package/dist/esm/snk-form-config.entry.js +1 -1
  170. package/dist/esm/snk-form-summary.entry.js +1 -1
  171. package/dist/esm/snk-form-view.entry.js +1 -1
  172. package/dist/esm/snk-form.entry.js +4 -4
  173. package/dist/esm/snk-grid-config.entry.js +3 -3
  174. package/dist/esm/snk-grid.entry.js +7 -7
  175. package/dist/esm/{snk-guides-viewer-59d3a78c.js → snk-guides-viewer-0380f3df.js} +5 -5
  176. package/dist/esm/snk-guides-viewer.entry.js +9 -9
  177. package/dist/esm/snk-personalized-filter.entry.js +166 -94
  178. package/dist/esm/snk-pesquisa.entry.js +1 -1
  179. package/dist/esm/snk-select-box.entry.js +1 -1
  180. package/dist/esm/snk-simple-bar.entry.js +41 -0
  181. package/dist/esm/{snk-simple-bar_2.entry.js → snk-simple-crud.entry.js} +7 -44
  182. package/dist/esm/snk-tab-config.entry.js +1 -1
  183. package/dist/esm/snk-taskbar.entry.js +4 -4
  184. package/dist/esm/{taskbar-elements-8ff33c26.js → taskbar-elements-26d0fba3.js} +3 -3
  185. package/dist/esm/{taskbar-processor-20de6616.js → taskbar-processor-dfef41a8.js} +1 -1
  186. package/dist/esm/teste-pesquisa.entry.js +1 -1
  187. package/dist/sankhyablocks/{p-f27dc5e9.entry.js → p-00d1cac4.entry.js} +1 -1
  188. package/dist/sankhyablocks/{p-b9667fbe.js → p-066ee142.js} +2 -2
  189. package/dist/sankhyablocks/p-09a058ba.entry.js +1 -0
  190. package/dist/sankhyablocks/{p-82bc4666.entry.js → p-0dec4d29.entry.js} +1 -1
  191. package/dist/sankhyablocks/{p-1e6a95f5.entry.js → p-12632b8e.entry.js} +1 -1
  192. package/dist/sankhyablocks/{p-384c4a6b.js → p-18b34bb4.js} +1 -1
  193. package/dist/sankhyablocks/{p-538c057a.entry.js → p-2ad89e28.entry.js} +1 -1
  194. package/dist/sankhyablocks/p-2d5108b3.js +1 -0
  195. package/dist/sankhyablocks/{p-ff398057.entry.js → p-34cd4b39.entry.js} +1 -1
  196. package/dist/sankhyablocks/p-36ecb6ab.js +1 -0
  197. package/dist/sankhyablocks/p-372e0185.entry.js +1 -0
  198. package/dist/sankhyablocks/p-3be34bd1.entry.js +1 -0
  199. package/dist/sankhyablocks/p-3d45107f.js +1 -0
  200. package/dist/sankhyablocks/{p-28c12f65.js → p-463e0936.js} +1 -1
  201. package/dist/sankhyablocks/{p-e701646c.entry.js → p-49d628d1.entry.js} +1 -1
  202. package/dist/sankhyablocks/{p-e642bf7a.entry.js → p-50db4bc4.entry.js} +1 -1
  203. package/dist/sankhyablocks/{p-093febff.entry.js → p-5427566a.entry.js} +1 -1
  204. package/dist/sankhyablocks/{p-6a02e236.js → p-590d8900.js} +1 -1
  205. package/dist/sankhyablocks/p-5a6c090e.entry.js +1 -0
  206. package/dist/sankhyablocks/p-639be4aa.entry.js +1 -0
  207. package/dist/sankhyablocks/{p-e2bb9c9a.entry.js → p-67a19b48.entry.js} +1 -1
  208. package/dist/sankhyablocks/{p-19692f92.js → p-69770075.js} +1 -1
  209. package/dist/sankhyablocks/p-6d4169fc.entry.js +1 -0
  210. package/dist/sankhyablocks/{p-0b40c655.js → p-708ee8ee.js} +1 -1
  211. package/dist/sankhyablocks/{p-9af04fc7.entry.js → p-718cc24b.entry.js} +1 -1
  212. package/dist/sankhyablocks/{p-2d0fc912.entry.js → p-7946512f.entry.js} +1 -1
  213. package/dist/sankhyablocks/{p-900b2889.entry.js → p-7a5e1be7.entry.js} +1 -1
  214. package/dist/sankhyablocks/p-801b8858.js +68 -0
  215. package/dist/sankhyablocks/{p-80e52e85.entry.js → p-847b9506.entry.js} +1 -1
  216. package/dist/sankhyablocks/{p-56d70073.entry.js → p-8d541539.entry.js} +1 -1
  217. package/dist/sankhyablocks/{p-584a315a.entry.js → p-8e98a893.entry.js} +1 -1
  218. package/dist/sankhyablocks/p-9731180c.entry.js +1 -0
  219. package/dist/sankhyablocks/p-a6055eb9.entry.js +1 -0
  220. package/dist/sankhyablocks/{p-b680fa7a.entry.js → p-a655ea15.entry.js} +1 -1
  221. package/dist/sankhyablocks/{p-b75ce8b8.entry.js → p-a8b06801.entry.js} +1 -1
  222. package/dist/sankhyablocks/{p-b25450ab.js → p-a8e5ded0.js} +1 -1
  223. package/dist/sankhyablocks/{p-6ac29569.entry.js → p-b66b99d9.entry.js} +1 -1
  224. package/dist/sankhyablocks/p-b7efc49a.entry.js +1 -0
  225. package/dist/sankhyablocks/{p-9c7f7214.entry.js → p-b91ee370.entry.js} +1 -1
  226. package/dist/sankhyablocks/{p-e551b19a.entry.js → p-b940798f.entry.js} +1 -1
  227. package/dist/sankhyablocks/{p-72e78de0.entry.js → p-bbefb3b2.entry.js} +1 -1
  228. package/dist/sankhyablocks/p-bdd61fa8.entry.js +1 -0
  229. package/dist/sankhyablocks/{p-f8c66aa3.entry.js → p-c06973e7.entry.js} +1 -1
  230. package/dist/sankhyablocks/{p-257c71a7.entry.js → p-c17e19a2.entry.js} +1 -1
  231. package/dist/sankhyablocks/p-c6bf66e0.js +1 -0
  232. package/dist/sankhyablocks/p-cf90a195.entry.js +1 -0
  233. package/dist/sankhyablocks/{p-44c2ed16.entry.js → p-d11c5026.entry.js} +1 -1
  234. package/dist/sankhyablocks/p-d5145c3f.entry.js +1 -0
  235. package/dist/sankhyablocks/p-de328b00.entry.js +1 -0
  236. package/dist/sankhyablocks/{p-971abcc2.entry.js → p-e500863b.entry.js} +1 -1
  237. package/dist/sankhyablocks/{p-22e44b9d.entry.js → p-e824aef2.entry.js} +1 -1
  238. package/dist/sankhyablocks/{p-4ce96831.entry.js → p-eb24c092.entry.js} +1 -1
  239. package/dist/sankhyablocks/{p-4c2015a9.js → p-eb90de43.js} +1 -1
  240. package/dist/sankhyablocks/p-ebb8de34.entry.js +1 -0
  241. package/dist/sankhyablocks/{p-8652d177.entry.js → p-fc512cbe.entry.js} +1 -1
  242. package/dist/sankhyablocks/{p-786ae316.entry.js → p-fced1d89.entry.js} +1 -1
  243. package/dist/sankhyablocks/{p-e0b4aec3.entry.js → p-fdb43927.entry.js} +1 -1
  244. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  245. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-personalized/snk-filter-personalized.d.ts +85 -0
  246. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +6 -6
  247. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  248. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +18 -1
  249. package/dist/types/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.d.ts +14 -6
  250. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +10 -3
  251. package/dist/types/components/snk-filter-bar/types/custom-element-filter.d.ts +6 -0
  252. package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +10 -1
  253. package/dist/types/components/snk-filter-bar/utils/filters-mock.d.ts +92 -15
  254. package/dist/types/components/snk-filter-field-search/interfaces/index.d.ts +5 -11
  255. package/dist/types/components/snk-filter-field-search/snk-filter-field-search.d.ts +3 -0
  256. package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +39 -6
  257. package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.d.ts +82 -0
  258. package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-item/filter-operands/filter-operands.d.ts +1 -1
  259. package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.d.ts +13 -1
  260. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IExpressionGroup.d.ts +0 -0
  261. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IExpressionItem.d.ts +23 -3
  262. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IParameter.d.ts +21 -0
  263. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IPersonalizedFilter.d.ts +11 -0
  264. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/index.d.ts +3 -0
  265. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.d.ts +14 -2
  266. package/dist/types/components.d.ts +169 -10
  267. package/dist/types/lib/@types/index.d.ts +3 -1
  268. package/dist/types/lib/configs/ConfigStorage.d.ts +5 -0
  269. package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +4 -2
  270. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +5 -0
  271. package/dist/types/lib/store/index.d.ts +1 -2
  272. package/package.json +5 -5
  273. package/react/components.d.ts +1 -0
  274. package/react/components.js +1 -0
  275. package/react/components.js.map +1 -1
  276. package/dist/cjs/ConfigStorage-f68c3607.js +0 -124
  277. package/dist/cjs/index-8d94b7e0.js +0 -7
  278. package/dist/cjs/snk-expression-item.cjs.entry.js +0 -213
  279. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-personalized.js +0 -214
  280. package/dist/esm/ConfigStorage-e6c17998.js +0 -121
  281. package/dist/esm/index-620ac460.js +0 -7
  282. package/dist/esm/snk-expression-item.entry.js +0 -209
  283. package/dist/sankhyablocks/p-0b6ddb67.entry.js +0 -1
  284. package/dist/sankhyablocks/p-0c2afa63.entry.js +0 -1
  285. package/dist/sankhyablocks/p-343699ad.entry.js +0 -1
  286. package/dist/sankhyablocks/p-471568c7.entry.js +0 -1
  287. package/dist/sankhyablocks/p-6c2c71ca.js +0 -1
  288. package/dist/sankhyablocks/p-8ce9ea9f.entry.js +0 -1
  289. package/dist/sankhyablocks/p-8efb0f47.entry.js +0 -1
  290. package/dist/sankhyablocks/p-9a448ff9.entry.js +0 -1
  291. package/dist/sankhyablocks/p-9e50681c.entry.js +0 -1
  292. package/dist/sankhyablocks/p-9f66bc54.entry.js +0 -1
  293. package/dist/sankhyablocks/p-b1c02726.js +0 -1
  294. package/dist/sankhyablocks/p-b34d23fa.js +0 -1
  295. package/dist/sankhyablocks/p-c20dd153.entry.js +0 -1
  296. package/dist/sankhyablocks/p-cbb5c440.entry.js +0 -1
  297. package/dist/sankhyablocks/p-f3241ada.entry.js +0 -1
  298. package/dist/sankhyablocks/p-f4184ce7.js +0 -1
  299. package/dist/sankhyablocks/p-ff96b509.entry.js +0 -27
  300. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-personalized.d.ts +0 -40
@@ -2,11 +2,307 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-21bd01e1.js');
6
- const index$1 = require('./index-8d94b7e0.js');
5
+ const index = require('./index-aaaa2af5.js');
7
6
  const core = require('@sankhyalabs/core');
7
+ const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
+ const FieldBuilder = require('@sankhyalabs/ezui/dist/collection/components/ez-form-view/fieldbuilder/FieldBuilder');
9
+ const index$2 = require('./index-614af008.js');
10
+ const index$1 = require('./index-59a3e2de.js');
11
+ const DataType = require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
8
12
  const ezModalContainer = require('@sankhyalabs/ezui/dist/collection/components/ez-modal-container');
9
- const index$2 = require('./index-f400b1d6.js');
13
+ const PersonalizedFilterUtils = require('./PersonalizedFilterUtils-7d959e91.js');
14
+ require('./filter-item-type.enum-aa823a00.js');
15
+
16
+ var SelectedItemType;
17
+ (function (SelectedItemType) {
18
+ SelectedItemType["LINK"] = "LINK";
19
+ SelectedItemType["FIELD"] = "FIELD";
20
+ })(SelectedItemType || (SelectedItemType = {}));
21
+
22
+ const defaultsOperand = [
23
+ { label: "Igual (=)", value: "EQUAL" },
24
+ { label: "Diferente (<>)", value: "DIFFERENT" },
25
+ { label: "Contendo (LIKE)", value: "LIKE" },
26
+ { label: "Contido em (IN)", value: "IN" },
27
+ { label: "Iniciado com (%?)", value: "START_WITH" },
28
+ { label: "Terminado com (?%)", value: "FINISHED_WITH" },
29
+ { label: "Vazio (NULL)", value: "NULL" },
30
+ { label: "Não Vazio (NOT NULL)", value: "NOT_NULL" },
31
+ ];
32
+ const FilterOperandDefault = defaultsOperand.concat([
33
+ { label: "Maior (>)", value: "LARGER" },
34
+ { label: "Maior ou Igual (>=)", value: "LARGER_EQUAL" },
35
+ { label: "Menor (<)", value: "SMALLER" },
36
+ { label: "Menor ou Igual (<=)", value: "SMALLER_EQUAL" }
37
+ ]);
38
+ const FilterOperandTypeTextSearch = defaultsOperand;
39
+ const FIELD_TYPE_SEARCH_AND_TEXT = [
40
+ core.UserInterface.SEARCH,
41
+ core.UserInterface.SHORTTEXT,
42
+ core.UserInterface.PASSWORD,
43
+ core.UserInterface.MASKEDTEXT,
44
+ core.UserInterface.LONGTEXT,
45
+ core.UserInterface.HTML
46
+ ];
47
+
48
+ const snkExpressionItemCss = ".sc-snk-expression-item-h{display:flex;width:100%;--snk-expression-item--background-color:var(--background--xlight, #fff);--snk-expression-item__itens--padding:var(--space--small, 6px);--snk-expression-item__width--input-operator:220px;--snk-expression-item__width--input-value:240px;--snk-expression-item__width--input-value-variable:176px;--snk-expression-item--border-radius:var(--border--radius-medium, 12px);--snk-expression-item--border-color:var(--color--strokes, #DCE0E8);--snk-expression-item--border-style:var(--border--small, 1px solid);--snk-expression-item__background-color-dashed:var(--background--body, #fafcff)}.box.sc-snk-expression-item{width:100%;height:56px;background:var(--snk-expression-item--background-color);border:var(--snk-expression-item--border-color) var(--snk-expression-item--border-style);border-radius:var(--snk-expression-item--border-radius)}.box__container.sc-snk-expression-item{display:flex;align-items:center;justify-content:space-between;white-space:nowrap;margin:var(--space--small, 6px)}.box__container--input-filter.sc-snk-expression-item{width:100%}.box__container--input-operator.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-operator);min-width:var(--snk-expression-item__width--input-operator)}.box__container--input-value.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-value);min-width:var(--snk-expression-item__width--input-value)}.box__container--input-value-variable.sc-snk-expression-item{display:flex;width:var(--snk-expression-item__width--input-value-variable);min-width:var(--snk-expression-item__width--input-value-variable)}.box__container--button-delete.sc-snk-expression-item{display:flex}.box__container.sc-snk-expression-item>div.sc-snk-expression-item{padding-left:var(--snk-expression-item__itens--padding);padding-right:var(--snk-expression-item__itens--padding)}.box__container--button-delete--icon.sc-snk-expression-item{width:42px;min-width:42px}.box__container--input-value-variable--icon.sc-snk-expression-item{cursor:pointer}.dashes.sc-snk-expression-item{z-index:var(--more-visible, 2);background:var(--snk-expression-item__background-color-dashed);border-bottom:2px dashed var(--text-secondary, #A2ABB9);border-left:2px dashed var(--text-secondary, #A2ABB9);position:absolute;width:15px;height:62px;margin-left:-15px;margin-top:-33.5px}";
49
+
50
+ const DEFAULT_FIELD_NAME = 'NOT_DEFINED';
51
+ const SnkExpressionItem = class {
52
+ constructor(hostRef) {
53
+ index.registerInstance(this, hostRef);
54
+ this.ezFilterItemChange = index.createEvent(this, "ezFilterItemChange", 7);
55
+ this.ezFilterItemRemove = index.createEvent(this, "ezFilterItemRemove", 7);
56
+ this.application = core.ApplicationContext.getContextValue("__SNK__APPLICATION__");
57
+ this.filterOperandDefault = FilterOperandDefault;
58
+ this.filterOperandTypeTextSearch = FilterOperandTypeTextSearch;
59
+ this._showValueVariable = false;
60
+ this._fieldSelected = undefined;
61
+ this._optionNotNull = false;
62
+ this.expression = undefined;
63
+ this.canRemove = true;
64
+ this.messagesBuilder = undefined;
65
+ this.entityURI = undefined;
66
+ }
67
+ expressionChanged(newValue, oldValue) {
68
+ if (newValue !== oldValue) {
69
+ this.ezFilterItemChange.emit(newValue);
70
+ this.updateFieldSelected();
71
+ }
72
+ }
73
+ componentWillLoad() {
74
+ this._dataSourceFetcher = index$1.store.get(`filterFieldsDataSource.${this.entityURI}`);
75
+ index$1.store.onChange(`filterFieldsDataSource.${this.entityURI}`, () => {
76
+ this._dataSourceFetcher = index$1.store.get(`filterFieldsDataSource.${this.entityURI}`);
77
+ });
78
+ if (this.expression) {
79
+ this.updateFieldSelected();
80
+ this._optionNotNull = this.expression.operand === 'NULL' || this.expression.operand === 'NOT_NULL';
81
+ }
82
+ }
83
+ componentDidRender() {
84
+ this._showValueVariable = this._elValueVariable.value;
85
+ }
86
+ updateFieldSelected() {
87
+ const field = {
88
+ dataType: this.expression.type,
89
+ description: this.expression.description,
90
+ name: this.expression.fieldName,
91
+ label: this.expression.fieldLabel,
92
+ entityName: this.expression.entityName,
93
+ onlyDate: false,
94
+ path: this.expression.description,
95
+ properties: this.expressionPropsToFieldProps(this.expression.props),
96
+ type: SelectedItemType.FIELD,
97
+ uri: "",
98
+ userInterface: this.expression.userInterface
99
+ };
100
+ this._fieldSelected = field;
101
+ }
102
+ buildExpression(entityName, fieldName, entityPath) {
103
+ if (entityPath.length > 0) {
104
+ entityPath.shift();
105
+ }
106
+ return entityPath.length > 0 ? `${entityPath.join("->")}->${fieldName}` : `${entityName}.${fieldName}`;
107
+ }
108
+ setValueExpression(key, value) {
109
+ if (key === "fieldName") {
110
+ this.expression.description = value.path;
111
+ this.expression.expression = this.buildExpression(value.entityName, value.name, value.entityPath);
112
+ this.expression.fieldName = value.name;
113
+ this.expression.fieldLabel = value.label;
114
+ this.expression.type = value.dataType;
115
+ this.expression.userInterface = value.userInterface;
116
+ this.expression.entityName = value.entityName;
117
+ this.expression.value = undefined;
118
+ this.expression.props = this.fieldPropsToExpressionProps(value.properties);
119
+ }
120
+ else {
121
+ this.expression[key] = value;
122
+ }
123
+ this.expressionChanged(this.expression);
124
+ }
125
+ fieldPropsToExpressionProps(properties) {
126
+ const parsedProps = [];
127
+ if (!properties) {
128
+ return parsedProps;
129
+ }
130
+ for (const key in properties) {
131
+ let propValue = properties[key];
132
+ if (typeof propValue == "object") {
133
+ propValue = JSON.stringify(propValue);
134
+ }
135
+ parsedProps.push({ name: key, value: propValue });
136
+ }
137
+ return parsedProps;
138
+ }
139
+ expressionPropsToFieldProps(properties) {
140
+ const parsedProps = {};
141
+ if (!properties) {
142
+ return parsedProps;
143
+ }
144
+ properties.forEach(prop => {
145
+ try {
146
+ parsedProps[prop.name] = JSON.parse(prop.value);
147
+ }
148
+ catch (_a) {
149
+ parsedProps[prop.name] = prop.value;
150
+ }
151
+ });
152
+ return parsedProps;
153
+ }
154
+ getMessage(key, params) {
155
+ return this.application.messagesBuilder.getMessage(key, params);
156
+ }
157
+ handleSelectItem(filterField) {
158
+ if (filterField.name === this.expression.fieldName) {
159
+ this._elFilterInput.value = filterField.path;
160
+ return;
161
+ }
162
+ if (filterField.type === SelectedItemType.FIELD) {
163
+ const field = filterField;
164
+ this._fieldSelected = field;
165
+ this.setValueExpression("fieldName", field);
166
+ }
167
+ }
168
+ handleFocus() {
169
+ if (this._elFilterFieldSearch)
170
+ this._elFilterFieldSearch.show();
171
+ }
172
+ handleChangeFilterInput(evt) {
173
+ this._elFilterFieldSearch.applyFilter(evt.detail);
174
+ }
175
+ handleChangeValueVariable(showValueVariable) {
176
+ this._showValueVariable = showValueVariable;
177
+ if (this._elFieldDynamic) {
178
+ this._elFieldDynamic.value = undefined;
179
+ this._elFieldDynamic.enabled = !showValueVariable;
180
+ }
181
+ this.expression["paramVariable"] = showValueVariable;
182
+ this.expressionChanged(this.expression);
183
+ }
184
+ openSnkFilterParamConfig() {
185
+ var _a;
186
+ (_a = this._elFilterParamConfigRef) === null || _a === void 0 ? void 0 : _a.open(this.expression).then(this.onOpenPromiseReady.bind(this)).catch(error => {
187
+ console.error(error);
188
+ });
189
+ }
190
+ onOpenPromiseReady(changes) {
191
+ this.expression = changes;
192
+ }
193
+ buildOptionsOperator() {
194
+ var _a;
195
+ if (FIELD_TYPE_SEARCH_AND_TEXT.includes((_a = this._fieldSelected) === null || _a === void 0 ? void 0 : _a.userInterface)) {
196
+ return this.filterOperandTypeTextSearch;
197
+ }
198
+ else {
199
+ return this.filterOperandDefault;
200
+ }
201
+ }
202
+ handleChangeOperator(optionSelected) {
203
+ this.checkOptionIsNull(optionSelected);
204
+ this.setValueExpression("operand", optionSelected);
205
+ }
206
+ checkOptionIsNull(optionSelected) {
207
+ const filterOperandValue = index$2.FilterOperand[optionSelected];
208
+ if ([index$2.FilterOperand.NULL, index$2.FilterOperand.NOT_NULL].includes(filterOperandValue)) {
209
+ this._optionNotNull = true;
210
+ if (this._elFieldDynamic) {
211
+ this._elFieldDynamic.enabled = false;
212
+ this._elFieldDynamic.value = undefined;
213
+ }
214
+ }
215
+ else {
216
+ this._optionNotNull = false;
217
+ if (this._elFieldDynamic) {
218
+ this._elFieldDynamic.enabled = this._showValueVariable ? false : true;
219
+ }
220
+ }
221
+ }
222
+ confirmRemove(evt) {
223
+ evt.preventDefault();
224
+ evt.stopPropagation();
225
+ utils.ApplicationUtils.confirm(this.getMessage("snkPersonalizedFilter.confirmExpression.title"), this.getMessage("snkPersonalizedFilter.confirmExpression.description"))
226
+ .then((canRemove) => {
227
+ if (canRemove) {
228
+ this.ezFilterItemRemove.emit(this.expression);
229
+ }
230
+ });
231
+ }
232
+ buildFieldByType() {
233
+ var _a, _b, _c;
234
+ if (!this._fieldSelected)
235
+ return;
236
+ const inputFieldData = (_a = FieldBuilder.fieldBuilder(this.configureFieldByType())) === null || _a === void 0 ? void 0 : _a.$children$.shift();
237
+ if (this._optionNotNull && inputFieldData || ((_b = this._elValueVariable) === null || _b === void 0 ? void 0 : _b.value) && inputFieldData || this.expression.paramVariable || this._showValueVariable || !((_c = this._fieldSelected) === null || _c === void 0 ? void 0 : _c.dataType)) {
238
+ inputFieldData.$attrs$.enabled = false;
239
+ }
240
+ if (this.expression.value) {
241
+ inputFieldData.$attrs$.value = this.getExpressiontValue(this.expression);
242
+ }
243
+ inputFieldData.$attrs$.onEzChange = (event) => {
244
+ this.setValueExpression("value", event.target.value);
245
+ };
246
+ if (this.expression.userInterface === 'SWITCH' && this.expression.value == undefined) {
247
+ this.setValueExpression("value", false);
248
+ }
249
+ return index.h(inputFieldData.$tag$, Object.assign(Object.assign({}, inputFieldData.$attrs$), { ref: (el) => {
250
+ this._elFieldDynamic = el;
251
+ }, label: this.expression.fieldLabel || this._fieldSelected.label }));
252
+ }
253
+ getExpressiontValue(expression) {
254
+ return DataType.convertType(expression.type, expression.value);
255
+ }
256
+ configureFieldByType() {
257
+ var _a, _b;
258
+ const field = {
259
+ userInterface: this._fieldSelected.userInterface,
260
+ name: this._fieldSelected.name,
261
+ label: this._fieldSelected.label,
262
+ canShowError: false
263
+ };
264
+ switch (field.userInterface) {
265
+ case core.UserInterface.OPTIONSELECTOR:
266
+ field.props = {
267
+ options: (_b = (_a = this._fieldSelected) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.options,
268
+ };
269
+ break;
270
+ case core.UserInterface.LONGTEXT:
271
+ field.rows = 1;
272
+ break;
273
+ case core.UserInterface.SEARCH:
274
+ field.optionLoader = searchArgument => this.setCriteriaSearch(searchArgument, this.application);
275
+ break;
276
+ }
277
+ return field;
278
+ }
279
+ setCriteriaSearch({ mode, argument }, application) {
280
+ var _a, _b;
281
+ if (application == undefined)
282
+ return;
283
+ const searchOptions = {
284
+ showInactives: false
285
+ };
286
+ const options = {
287
+ entity: (_b = (_a = this._fieldSelected) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.ENTITYNAME,
288
+ searchOptions,
289
+ entityDescription: this._fieldSelected.description
290
+ };
291
+ return application.executePreparedSearch(mode, argument, options);
292
+ }
293
+ render() {
294
+ var _a;
295
+ return (index.h(index.Host, null, index.h("div", { class: "dashes" }), index.h("div", { class: "box" }, index.h("div", { class: "box__container" }, index.h("div", { class: "box__container--input-filter" }, index.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() }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `expressionFilterInput_${this.expression.fieldName || DEFAULT_FIELD_NAME}` })), index.h("snk-filter-field-search", { ref: ref => this._elFilterFieldSearch = ref, searchable: false, onEzSelectFilterItem: (ev) => this.handleSelectItem(ev.detail), fieldsDataSource: this._dataSourceFetcher })), index.h("div", { class: "box__container--input-operator" }, index.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 }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `comboBoxOperand_${this.expression.fieldName || DEFAULT_FIELD_NAME}` }))), index.h("div", { class: "box__container--input-value" }, !this._fieldSelected ?
296
+ index.h("ez-number-input", { label: "Valor", canShowError: false, enabled: (!this._showValueVariable && !this._optionNotNull) }) :
297
+ this.buildFieldByType()), index.h("div", { class: "box__container--input-value-variable", title: this.getMessage("snkPersonalizedFilter.info.titleTooltip") }, !this._optionNotNull &&
298
+ index.h("ez-check", { ref: ref => this._elValueVariable = ref, value: this.expression.paramVariable, label: this.getMessage("snkPersonalizedFilter.info.labelValueVarible"), mode: utils.CheckMode.SWITCH, onEzChange: (evt) => this.handleChangeValueVariable(evt.detail) }), (this._showValueVariable && !this._optionNotNull) &&
299
+ index.h("ez-icon", Object.assign({ class: "box__container--input-value-variable--icon", size: "large", iconName: "settings-inverted" }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: 'iconConfig' }, { onClick: () => this.openSnkFilterParamConfig() })), index.h("snk-filter-param-config", { ref: (el) => this._elFilterParamConfigRef = el, messagesBuilder: this.messagesBuilder })), index.h("div", { class: "box__container--button-delete" }, index.h("div", { class: "box__container--button-delete--icon" }, index.h("ez-button", { mode: "icon", iconName: "delete", enabled: this.canRemove, label: this.getMessage("snkPersonalizedFilter.info.labelDeleteItem"), onClick: (evt) => this.confirmRemove(evt) })))))));
300
+ }
301
+ static get watchers() { return {
302
+ "expression": ["expressionChanged"]
303
+ }; }
304
+ };
305
+ SnkExpressionItem.style = snkExpressionItemCss;
10
306
 
11
307
  const ICON_MODES = {
12
308
  [core.UserInterface.SHORTTEXT]: 'text',
@@ -34,6 +330,7 @@ const ListItem = ({ userInterface, description }) => {
34
330
  const snkFilterFieldSearchCss = ".sc-snk-filter-field-search-h{--snk-filter-field-search--container-width:468px;--snk-filter-field-search--container-height:322px}.snk-filter-field-search__container.sc-snk-filter-field-search{display:flex;flex-direction:column;padding:var(--space--medium);width:var(--snk-filter-field-search--container-width);height:var(--snk-filter-field-search--container-height)}.snk-filter-field-search__section.sc-snk-filter-field-search{display:grid;grid-template-columns:1fr 1fr;place-items:flex-start;overflow:hidden;gap:var(--space--small)}.snk-filter-field-search__input.sc-snk-filter-field-search{margin-bottom:var(--space--medium)}.snk-filter-field-search__list_container.sc-snk-filter-field-search{display:flex;flex-direction:column}.snk-filter-field-search__list.sc-snk-filter-field-search{overflow-y:auto}";
35
331
 
36
332
  const SNK_CONTEXT_KEY = "__SNK__APPLICATION__";
333
+ const ENTITY_NAME_PATTERN = /\w+:\/\/(\w+)/;
37
334
  const SnkFilterFieldSearch = class {
38
335
  constructor(hostRef) {
39
336
  index.registerInstance(this, hostRef);
@@ -47,6 +344,8 @@ const SnkFilterFieldSearch = class {
47
344
  this.breadcrumbItems = [];
48
345
  this.linkItems = [];
49
346
  this.fieldItems = [];
347
+ this.searchEmpty = false;
348
+ this.groupEmpty = false;
50
349
  }
51
350
  /**
52
351
  * Realiza a abertura do componente e faz a primeira carga
@@ -68,6 +367,7 @@ const SnkFilterFieldSearch = class {
68
367
  this.handleFilterChange(filterText);
69
368
  }
70
369
  async loadData() {
370
+ var _a, _b;
71
371
  this._isLoading = true;
72
372
  let metadata;
73
373
  if (this._currentLink != undefined) {
@@ -85,14 +385,15 @@ const SnkFilterFieldSearch = class {
85
385
  this.mapDataSourceToLinkItems();
86
386
  this.mapDataSourceToFieldItems();
87
387
  this._isLoading = false;
88
- this._ezFieldList.scrollToTop();
89
- this._ezLinkList.scrollToTop();
388
+ (_a = this._ezFieldList) === null || _a === void 0 ? void 0 : _a.scrollToTop();
389
+ (_b = this._ezLinkList) === null || _b === void 0 ? void 0 : _b.scrollToTop();
90
390
  }
91
391
  mapDataSourceToLinkItems() {
92
392
  var _a;
93
393
  const { links } = this._currentMetadata;
94
394
  const filterLinkLabelMessage = this.getMessage('snkFilterFieldSearch.linkLabel', { link: (_a = this._currentLink) === null || _a === void 0 ? void 0 : _a.description });
95
395
  const items = links.map(link => (Object.assign({ label: link.description }, link)));
396
+ this.groupEmpty = Boolean(items.length === 0);
96
397
  this.linkItems = [{
97
398
  group: filterLinkLabelMessage,
98
399
  items,
@@ -103,7 +404,7 @@ const SnkFilterFieldSearch = class {
103
404
  }
104
405
  mapDataSourceToFieldItems() {
105
406
  var _a;
106
- const { fields } = this._currentMetadata;
407
+ const fields = this._currentMetadata.fields;
107
408
  const filterFieldLabelMessage = this.getMessage('snkFilterFieldSearch.fieldLabel', { link: (_a = this._currentLink) === null || _a === void 0 ? void 0 : _a.description });
108
409
  const filteredFields = fields.filter(field => {
109
410
  if (!this._currentLink)
@@ -113,6 +414,7 @@ const SnkFilterFieldSearch = class {
113
414
  return searchableByDescription || searchableByName;
114
415
  });
115
416
  const items = filteredFields.map(field => (Object.assign({ label: field.description }, field)));
417
+ this.searchEmpty = Boolean(this._filterText && items.length === 0);
116
418
  this.fieldItems = [{
117
419
  group: filterFieldLabelMessage,
118
420
  items
@@ -135,15 +437,22 @@ const SnkFilterFieldSearch = class {
135
437
  else {
136
438
  this.breadcrumbItems = [...this.breadcrumbItems, Object.assign({ id: core.JSUtils.generateUUID(), label: item.description }, item)];
137
439
  }
138
- const selectedItem = Object.assign(Object.assign({}, item), { type: index$1.SelectedItemType.LINK });
440
+ const selectedItem = Object.assign(Object.assign({}, item), { type: SelectedItemType.LINK });
139
441
  this._currentLink = selectedItem;
140
442
  this.ezSelectFilterItem.emit(selectedItem);
141
443
  this.loadData();
142
444
  }
445
+ getEntityFromBreadCrumbItem(item) {
446
+ const result = ENTITY_NAME_PATTERN.exec(item.uri);
447
+ if (!result) {
448
+ return undefined;
449
+ }
450
+ return result[1];
451
+ }
143
452
  handleSelectField({ detail: item }) {
144
453
  var _a;
145
454
  const breadcrumbPath = this.breadcrumbItems.map(breadcrumbItem => breadcrumbItem.label).join('>>');
146
- const selectedField = Object.assign(Object.assign({}, item), { type: index$1.SelectedItemType.FIELD, path: `${breadcrumbPath} >> ${item.description}` });
455
+ const selectedField = Object.assign(Object.assign({}, item), { type: SelectedItemType.FIELD, entityPath: this.breadcrumbItems.map(item => this.getEntityFromBreadCrumbItem(item)).filter(item => item != undefined), path: `${breadcrumbPath} >> ${item.description}` });
147
456
  this.ezSelectFilterItem.emit(selectedField);
148
457
  (_a = this._ezPopover) === null || _a === void 0 ? void 0 : _a.hide();
149
458
  }
@@ -179,66 +488,17 @@ const SnkFilterFieldSearch = class {
179
488
  render() {
180
489
  var _a;
181
490
  const searchLabelMessage = this.getMessage('snkFilterFieldSearch.searchLabel');
182
- return (index.h("ez-popover", Object.assign({ ref: (el) => this._ezPopover = el, role: "dialog", overlayType: "none", "aria-hidden": !((_a = this._ezPopover) === null || _a === void 0 ? void 0 : _a.opened) }, this.getElementID('EzPopover')), index.h("div", { class: "snk-filter-field-search__container" }, index.h("header", { class: "snk-filter-field-search__header" }, this.searchable && !!searchLabelMessage && (index.h("ez-filter-input", Object.assign({ class: "snk-filter-field-search__input", label: searchLabelMessage, asyncSearch: true, canShowError: false, onEzSearching: (event) => this.handleFilterChange.bind(this)(event.detail), "aria-label": searchLabelMessage, "aria-required": "false", "aria-invalid": "false" }, this.getElementID('EzFilterInput')))), this.breadcrumbItems.length > 0 && (index.h("ez-breadcrumb", Object.assign({ items: this.breadcrumbItems, onSelectedItem: this.handleSelectLink.bind(this), role: "navigation", "aria-current": "step" }, this.getElementID('EzBreadcrumb')))), index.h("hr", { class: "ez-divider-horizontal ez-margin-vertical--medium" })), index.h("section", { class: "snk-filter-field-search__section" }, index.h("ez-list", Object.assign({ ref: (el) => this._ezLinkList = el, class: "snk-filter-field-search__list", id: "filterLinkList", useGroups: true, dataSource: this.linkItems, onEzSelectItem: this.handleSelectLink.bind(this), hoverFeedback: true, ezSelectable: true, itemSlotBuilder: listItem => index.h("ez-badge", { label: listItem.fieldCount }), "aria-describedby": "filterLinkLabel" }, this.getElementID('EzListLinks'))), index.h("ez-list", Object.assign({ ref: (el) => this._ezFieldList = el, class: "snk-filter-field-search__list", id: "filterFieldList", useGroups: true, dataSource: this.fieldItems, onEzSelectItem: this.handleSelectField.bind(this), hoverFeedback: true, ezSelectable: true, itemSlotBuilder: ListItem, "aria-describedby": "filterFieldLabel" }, this.getElementID('EzListFields')))))));
491
+ return (index.h("ez-popover", Object.assign({ ref: (el) => this._ezPopover = el, role: "dialog", overlayType: "none", "aria-hidden": !((_a = this._ezPopover) === null || _a === void 0 ? void 0 : _a.opened) }, this.getElementID('EzPopover')), index.h("div", { class: "snk-filter-field-search__container" }, index.h("header", { class: "snk-filter-field-search__header" }, this.searchable && !!searchLabelMessage && (index.h("ez-filter-input", Object.assign({ class: "snk-filter-field-search__input", label: searchLabelMessage, asyncSearch: true, canShowError: false, onEzSearching: (event) => this.handleFilterChange.bind(this)(event.detail), "aria-label": searchLabelMessage, "aria-required": "false", "aria-invalid": "false" }, this.getElementID('EzFilterInput')))), this.breadcrumbItems.length > 0 && (index.h("ez-breadcrumb", Object.assign({ items: this.breadcrumbItems, onSelectedItem: this.handleSelectLink.bind(this), role: "navigation", "aria-current": "step" }, this.getElementID('EzBreadcrumb')))), index.h("hr", { class: "ez-divider-horizontal ez-margin-vertical--medium" })), index.h("section", { class: `snk-filter-field-search__section ${(this.groupEmpty && this.searchEmpty) && " ez-margin--auto"}` }, this.groupEmpty ?
492
+ index.h("div", { class: "ez-margin--auto" }, index.h("span", { class: "ez-text ez-text--secondary ez-text--medium" }, this.getMessage('snkFilterFieldSearch.groupEmpty')))
493
+ :
494
+ index.h("ez-list", Object.assign({ ref: (el) => this._ezLinkList = el, class: "snk-filter-field-search__list", id: "filterLinkList", useGroups: true, dataSource: this.linkItems, onEzSelectItem: this.handleSelectLink.bind(this), hoverFeedback: true, ezSelectable: true, itemSlotBuilder: listItem => index.h("ez-badge", { label: listItem.fieldCount }), "aria-describedby": "filterLinkLabel" }, this.getElementID('EzListLinks'))), this.searchEmpty ?
495
+ index.h("div", { class: "ez-margin--auto" }, index.h("span", { class: "ez-text ez-text--secondary ez-text--medium" }, this.getMessage('snkFilterFieldSearch.searchEmpty')))
496
+ :
497
+ index.h("ez-list", Object.assign({ ref: (el) => this._ezFieldList = el, class: "snk-filter-field-search__list", id: "filterFieldList", useGroups: true, dataSource: this.fieldItems, onEzSelectItem: this.handleSelectField.bind(this), hoverFeedback: true, ezSelectable: true, itemSlotBuilder: ListItem, "aria-describedby": "filterFieldLabel" }, this.getElementID('EzListFields')))))));
183
498
  }
184
499
  };
185
500
  SnkFilterFieldSearch.style = snkFilterFieldSearchCss;
186
501
 
187
- class PersonalizedFilterUtils {
188
- /**
189
- * Cria uma expressão de filtro a partir de um IExpressionItem.
190
- * @param expressionItem - Objeto com os parâmetros necessários para montar a expressão.
191
- * @returns Retorna a expressão de filtro.
192
- */
193
- static buildFilterExpression(expressionItem) {
194
- if (expressionItem == undefined) {
195
- return;
196
- }
197
- const value = this.buildVariableParameterValue(expressionItem);
198
- let expression = expressionItem.expression || "";
199
- switch (expressionItem.operand) {
200
- case index$2.FilterOperand.IN:
201
- expression += ` ${expressionItem.operand} (${value})`;
202
- break;
203
- case index$2.FilterOperand.NULL:
204
- case index$2.FilterOperand.NOT_NULL:
205
- expression += ` IS ${value}`;
206
- break;
207
- case index$2.FilterOperand.LIKE:
208
- expression += ` LIKE '%${value}%'`;
209
- break;
210
- case index$2.FilterOperand.START_WITH:
211
- expression += ` LIKE '${value}%'`;
212
- break;
213
- case index$2.FilterOperand.FINISHED_WITH:
214
- expression += ` LIKE '%${value}'`;
215
- break;
216
- default:
217
- expression += ` ${expressionItem.operand} ${value}`;
218
- }
219
- return expression;
220
- }
221
- /**
222
- * Obtém o valor do parâmetro a partir de um IExpressionItem.
223
- * @param expressionItem - Objeto com os parâmetros necessários para montar a expressão.
224
- * @returns Retorna o valor do parâmetro.
225
- */
226
- static buildVariableParameterValue(expressionItem) {
227
- if (expressionItem == undefined) {
228
- return;
229
- }
230
- if (expressionItem.systemConfig != undefined) {
231
- const systemConfig = expressionItem.systemConfig;
232
- return `?:{entidade=${systemConfig.entity || ""};campo=${systemConfig.fieldName || ""}}`;
233
- }
234
- if (expressionItem.userConfig != undefined) {
235
- const userConfig = expressionItem.userConfig;
236
- return `?:{desc=${userConfig.description || ""};tipo=${userConfig.type || ""}}`;
237
- }
238
- return `?:{entidade=${expressionItem.entityName || ""};campo=${expressionItem.fieldName || ""}}`;
239
- }
240
- }
241
-
242
502
  const snkFilterParamConfigCss = ":host{--snk-filter-param-config__expression--color:var(--title--primary, #2b3a54);display:flex;position:relative}.snk-filter-param-config__expression{--text-area__input--disabled--color:var(--snk-filter-param-config__expression--color)}";
243
503
 
244
504
  const SnkFilterParamConfig = class {
@@ -355,7 +615,7 @@ const SnkFilterParamConfig = class {
355
615
  buildFilterExpression() {
356
616
  var _a;
357
617
  this._informedInstance = this.isInformedInstance();
358
- const expression = PersonalizedFilterUtils.buildFilterExpression(this.getExpressionValues());
618
+ const expression = PersonalizedFilterUtils.PersonalizedFilterUtils.buildFilterExpression(this.getExpressionValues());
359
619
  this._expressionElement.value = expression || ((_a = this._expressionItem) === null || _a === void 0 ? void 0 : _a.expression);
360
620
  this._canSave = this.getCanSave();
361
621
  }
@@ -381,7 +641,7 @@ const SnkFilterParamConfig = class {
381
641
  };
382
642
  }
383
643
  onSearch({ mode, argument }, entity) {
384
- if (this._application == undefined) {
644
+ if (this._application == undefined || !this._opened) {
385
645
  return;
386
646
  }
387
647
  const isField = entity === index$2.FilterEntities.FIELD;
@@ -433,5 +693,6 @@ const SnkFilterParamConfig = class {
433
693
  };
434
694
  SnkFilterParamConfig.style = snkFilterParamConfigCss;
435
695
 
696
+ exports.snk_expression_item = SnkExpressionItem;
436
697
  exports.snk_filter_field_search = SnkFilterFieldSearch;
437
698
  exports.snk_filter_param_config = SnkFilterParamConfig;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-21bd01e1.js');
5
+ const index = require('./index-aaaa2af5.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const constants = require('./constants-3787fa32.js');
8
8