@sankhyalabs/sankhyablocks 8.16.0-dev.9 → 8.16.0-dev.91

Sign up to get free protection for your applications and to get access to all the features.
Files changed (385) hide show
  1. package/dist/cjs/{IExporterProvider-597949f9.js → ClientSideExporterProvider-2f5f350c.js} +136 -24
  2. package/dist/cjs/{ConfigStorage-a343e418.js → ConfigStorage-d024aec8.js} +2 -2
  3. package/dist/cjs/{DataFetcher-313debd8.js → DataFetcher-65879b2c.js} +216 -76
  4. package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
  5. package/dist/cjs/IFetchDataExporterParams-e78ec415.js +8 -0
  6. package/dist/cjs/{SnkFormConfigManager-166cbd1f.js → SnkFormConfigManager-c11d8468.js} +75 -17
  7. package/dist/cjs/{SnkMessageBuilder-897ffd08.js → SnkMessageBuilder-bae64d0d.js} +6 -2
  8. package/dist/cjs/{auth-fetcher-54f5ff9d.js → auth-fetcher-8480751c.js} +1 -1
  9. package/dist/cjs/{constants-35ddd366.js → constants-241934b3.js} +9 -0
  10. package/dist/cjs/{dataunit-fetcher-688d3f05.js → dataunit-fetcher-449d51a3.js} +214 -168
  11. package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
  12. package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-90126e4c.js} +42 -2
  13. package/dist/cjs/{index-1dfc7a6e.js → index-e3e39724.js} +5 -0
  14. package/dist/cjs/index-f9e81701.js +16 -32
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/cjs/pesquisa-fetcher-5c583c93.js +365 -0
  17. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +156 -0
  18. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  19. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_5.cjs.entry.js} +139 -43
  20. package/dist/cjs/snk-application.cjs.entry.js +301 -70
  21. package/dist/cjs/snk-attach.cjs.entry.js +49 -36
  22. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +399 -13
  23. package/dist/cjs/snk-configurator.cjs.entry.js +2 -2
  24. package/dist/cjs/snk-crud.cjs.entry.js +26 -22
  25. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -29
  26. package/dist/cjs/{snk-data-unit-8fa7917a.js → snk-data-unit-bbd384bf.js} +55 -31
  27. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  28. package/dist/cjs/snk-detail-view.cjs.entry.js +15 -15
  29. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  30. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  31. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1437 -0
  32. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  34. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  35. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  36. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  37. package/dist/cjs/snk-grid.cjs.entry.js +96 -27
  38. package/dist/cjs/{snk-guides-viewer-bdc41281.js → snk-guides-viewer-5396062f.js} +32 -16
  39. package/dist/cjs/snk-guides-viewer.cjs.entry.js +11 -11
  40. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  41. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  42. package/dist/cjs/snk-pesquisa.cjs.entry.js +111 -31
  43. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  44. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  45. package/dist/cjs/snk-simple-crud.cjs.entry.js +115 -112
  46. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  47. package/dist/cjs/snk-taskbar.cjs.entry.js +72 -40
  48. package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-7e19882d.js} +1 -1
  49. package/dist/collection/collection-manifest.json +14 -31
  50. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  51. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  52. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  53. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  54. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  55. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  56. package/dist/collection/components/snk-application/snk-application.css +36 -0
  57. package/dist/collection/components/snk-application/snk-application.js +323 -65
  58. package/dist/collection/components/snk-attach/snk-attach.js +25 -16
  59. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  60. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -5
  61. package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
  62. package/dist/collection/components/snk-crud/snk-crud.js +147 -14
  63. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +3 -3
  64. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  65. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +72 -6
  66. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  67. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +8 -8
  68. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  69. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +1 -1
  70. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +18 -6
  71. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  72. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +10 -9
  73. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  74. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  75. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  76. package/dist/collection/components/snk-data-unit/snk-data-unit.js +53 -29
  77. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
  78. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  79. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  80. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
  81. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  82. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  83. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  84. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  85. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +9 -4
  86. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  87. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  88. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -6
  89. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
  90. package/dist/collection/components/snk-form/snk-form.js +2 -2
  91. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
  92. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  93. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  94. package/dist/collection/components/snk-grid/snk-grid.css +8 -0
  95. package/dist/collection/components/snk-grid/snk-grid.js +199 -13
  96. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  97. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  98. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  99. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  100. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  101. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  102. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  103. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +174 -32
  104. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  105. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  106. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  107. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +180 -34
  108. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  109. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  110. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  111. package/dist/collection/components/snk-taskbar/snk-taskbar.js +112 -38
  112. package/dist/collection/lib/@types/index.js +5 -0
  113. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
  114. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -103
  115. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -32
  116. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +29 -21
  117. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  118. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  119. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  120. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  121. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +17 -9
  122. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  123. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +45 -5
  124. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  125. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +107 -7
  126. package/dist/collection/lib/index.js +1 -0
  127. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  128. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  129. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  130. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  131. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  132. package/dist/collection/lib/utils/constants.js +9 -0
  133. package/dist/collection/sw.js +46 -0
  134. package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +136 -24
  135. package/dist/components/DataFetcher.js +217 -77
  136. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  137. package/dist/components/ISave.js +367 -1
  138. package/dist/components/SnkFormConfigManager.js +73 -15
  139. package/dist/components/SnkMessageBuilder.js +6 -2
  140. package/dist/components/constants.js +10 -1
  141. package/dist/components/dataunit-fetcher.js +232 -183
  142. package/dist/components/form-config-fetcher.js +41 -1
  143. package/dist/components/index.d.ts +3 -0
  144. package/dist/components/index.js +3 -0
  145. package/dist/components/pesquisa-grid.d.ts +11 -0
  146. package/dist/components/pesquisa-grid.js +6 -0
  147. package/dist/components/pesquisa-grid2.js +102 -0
  148. package/dist/components/pesquisa-tree.d.ts +11 -0
  149. package/dist/components/pesquisa-tree.js +6 -0
  150. package/dist/components/pesquisa-tree2.js +91 -0
  151. package/dist/components/snk-actions-button2.js +44 -40
  152. package/dist/components/snk-application2.js +320 -69
  153. package/dist/components/snk-attach2.js +55 -61
  154. package/dist/components/snk-config-options2.js +1 -1
  155. package/dist/components/snk-configurator2.js +1 -1
  156. package/dist/components/snk-crud.js +86 -71
  157. package/dist/components/snk-data-exporter2.js +37 -23
  158. package/dist/components/snk-data-unit2.js +56 -69
  159. package/dist/components/snk-detail-view2.js +115 -106
  160. package/dist/components/snk-exporter-email-sender2.js +1 -1
  161. package/dist/components/snk-filter-bar2.js +68 -34
  162. package/dist/components/snk-filter-binary-select.js +1 -1
  163. package/dist/components/snk-filter-checkbox-list.js +1 -1
  164. package/dist/components/snk-filter-item2.js +9 -4
  165. package/dist/components/snk-filter-modal.js +4 -2
  166. package/dist/components/snk-filter-number.js +1 -1
  167. package/dist/components/snk-filter-text.js +2 -1
  168. package/dist/components/snk-form-config2.js +35 -10
  169. package/dist/components/snk-form.js +2 -2
  170. package/dist/components/snk-grid-config2.js +1 -1
  171. package/dist/components/snk-grid2.js +92 -18
  172. package/dist/components/snk-personalized-filter-editor.js +4 -4
  173. package/dist/components/snk-pesquisa2.js +125 -33
  174. package/dist/components/snk-print-selector.js +1 -1
  175. package/dist/components/snk-simple-bar2.js +1 -1
  176. package/dist/components/snk-simple-crud2.js +107 -120
  177. package/dist/components/snk-simple-form-config.d.ts +11 -0
  178. package/dist/components/snk-simple-form-config.js +6 -0
  179. package/dist/components/snk-simple-form-config2.js +121 -0
  180. package/dist/components/snk-tab-config2.js +1 -1
  181. package/dist/components/snk-taskbar2.js +72 -40
  182. package/dist/components/teste-pesquisa.js +13 -1
  183. package/dist/esm/{IExporterProvider-63a188b6.js → ClientSideExporterProvider-3537805a.js} +136 -26
  184. package/dist/esm/{ConfigStorage-3806514e.js → ConfigStorage-373bb440.js} +2 -2
  185. package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-5221b992.js} +217 -77
  186. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  187. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  188. package/dist/esm/{SnkFormConfigManager-31b24066.js → SnkFormConfigManager-5022f87f.js} +75 -17
  189. package/dist/esm/{SnkMessageBuilder-571462fb.js → SnkMessageBuilder-6fff4a4c.js} +6 -2
  190. package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-e32fe8a4.js} +1 -1
  191. package/dist/esm/{constants-8457af36.js → constants-75abb876.js} +10 -1
  192. package/dist/esm/{dataunit-fetcher-264191b2.js → dataunit-fetcher-91b094f2.js} +216 -167
  193. package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
  194. package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-126e2471.js} +42 -2
  195. package/dist/esm/index-a7d3d3f1.js +16 -32
  196. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  197. package/dist/esm/loader.js +1 -1
  198. package/dist/esm/pesquisa-fetcher-4284f2a3.js +362 -0
  199. package/dist/esm/pesquisa-grid_2.entry.js +151 -0
  200. package/dist/esm/sankhyablocks.js +1 -1
  201. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_5.entry.js} +140 -45
  202. package/dist/esm/snk-application.entry.js +303 -72
  203. package/dist/esm/snk-attach.entry.js +50 -37
  204. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +399 -15
  205. package/dist/esm/snk-configurator.entry.js +2 -2
  206. package/dist/esm/snk-crud.entry.js +26 -22
  207. package/dist/esm/snk-data-exporter.entry.js +38 -29
  208. package/dist/esm/{snk-data-unit-f5cbe64b.js → snk-data-unit-b03bb5cf.js} +55 -31
  209. package/dist/esm/snk-data-unit.entry.js +5 -5
  210. package/dist/esm/snk-detail-view.entry.js +15 -15
  211. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  212. package/dist/esm/snk-field-config.entry.js +1 -1
  213. package/dist/esm/snk-filter-bar_4.entry.js +1430 -0
  214. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  215. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  216. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  217. package/dist/esm/snk-filter-number.entry.js +1 -1
  218. package/dist/esm/snk-filter-text.entry.js +2 -1
  219. package/dist/esm/snk-grid.entry.js +91 -22
  220. package/dist/esm/{snk-guides-viewer-dda0fede.js → snk-guides-viewer-749d027c.js} +32 -16
  221. package/dist/esm/snk-guides-viewer.entry.js +11 -11
  222. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  223. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  224. package/dist/esm/snk-pesquisa.entry.js +111 -31
  225. package/dist/esm/snk-print-selector.entry.js +1 -1
  226. package/dist/esm/snk-simple-bar.entry.js +1 -1
  227. package/dist/esm/snk-simple-crud.entry.js +101 -98
  228. package/dist/esm/snk-tab-config.entry.js +1 -1
  229. package/dist/esm/snk-taskbar.entry.js +73 -41
  230. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-d2353c64.js} +1 -1
  231. package/dist/sankhyablocks/p-0ce56d43.entry.js +1 -0
  232. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  233. package/dist/sankhyablocks/p-13391b3d.entry.js +1 -0
  234. package/dist/sankhyablocks/p-1435701f.js +26 -0
  235. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  236. package/dist/sankhyablocks/p-17425c72.js +1 -0
  237. package/dist/sankhyablocks/{p-52920496.js → p-19dc71e9.js} +1 -1
  238. package/dist/sankhyablocks/{p-47db7e88.entry.js → p-1cf39cfd.entry.js} +1 -1
  239. package/dist/sankhyablocks/{p-b0ef4383.js → p-1d19a5b0.js} +1 -1
  240. package/dist/sankhyablocks/p-23736d75.js +1 -0
  241. package/dist/sankhyablocks/p-23b47a92.js +1 -0
  242. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-23cd6abf.entry.js} +1 -1
  243. package/dist/sankhyablocks/{p-95df461f.entry.js → p-2953c481.entry.js} +1 -1
  244. package/dist/sankhyablocks/p-3653374d.js +60 -0
  245. package/dist/sankhyablocks/p-389ba782.entry.js +1 -0
  246. package/dist/sankhyablocks/p-3ba431c9.js +1 -0
  247. package/dist/sankhyablocks/{p-7e7a7473.js → p-3fc82614.js} +1 -1
  248. package/dist/sankhyablocks/p-41c3bee5.js +6 -0
  249. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  250. package/dist/sankhyablocks/p-44efbeed.entry.js +1 -0
  251. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  252. package/dist/sankhyablocks/p-4be6e0e7.entry.js +1 -0
  253. package/dist/sankhyablocks/{p-7663f597.entry.js → p-4c9adf1c.entry.js} +1 -1
  254. package/dist/sankhyablocks/p-4d87cd45.entry.js +1 -0
  255. package/dist/sankhyablocks/p-4fa79d68.entry.js +1 -0
  256. package/dist/sankhyablocks/p-5dd7f4c7.js +1 -0
  257. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  258. package/dist/sankhyablocks/p-6234bda8.entry.js +1 -0
  259. package/dist/sankhyablocks/p-647f9830.entry.js +11 -0
  260. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  261. package/dist/sankhyablocks/p-7b87d1a8.js +1 -0
  262. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  263. package/dist/sankhyablocks/{p-2c68b3ae.entry.js → p-82ee6dc3.entry.js} +1 -1
  264. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  265. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  266. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  267. package/dist/sankhyablocks/p-a962a3e4.entry.js +1 -0
  268. package/dist/sankhyablocks/p-ad5e4f9d.entry.js +1 -0
  269. package/dist/sankhyablocks/p-b2de1bcc.entry.js +1 -0
  270. package/dist/sankhyablocks/p-c021a3a9.entry.js +1 -0
  271. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  272. package/dist/sankhyablocks/p-ca316523.entry.js +1 -0
  273. package/dist/sankhyablocks/p-d62228fb.js +1 -0
  274. package/dist/sankhyablocks/p-ee53b000.entry.js +1 -0
  275. package/dist/sankhyablocks/{p-913a9979.js → p-f0b9303b.js} +1 -1
  276. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  277. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  278. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  279. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  280. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  281. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  282. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  283. package/dist/types/components/snk-application/snk-application.d.ts +38 -14
  284. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  285. package/dist/types/components/snk-crud/snk-crud.d.ts +26 -0
  286. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +15 -0
  287. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  288. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  289. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +2 -1
  290. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  291. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  292. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  293. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  294. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +2 -0
  295. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  296. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  297. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  298. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  299. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  300. package/dist/types/components/snk-grid/snk-grid.d.ts +33 -0
  301. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  302. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  303. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  304. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +35 -1
  305. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +27 -3
  306. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  307. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  308. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
  309. package/dist/types/components.d.ts +407 -15
  310. package/dist/types/lib/@types/index.d.ts +4 -0
  311. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  312. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  313. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  314. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  315. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  316. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  317. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  318. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  319. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  320. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  321. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  322. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +8 -2
  323. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  324. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +17 -1
  325. package/dist/types/lib/index.d.ts +1 -0
  326. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  327. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  328. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  329. package/dist/types/lib/utils/constants.d.ts +7 -0
  330. package/package.json +4 -3
  331. package/react/components.d.ts +3 -0
  332. package/react/components.js +3 -0
  333. package/react/components.js.map +1 -1
  334. package/dist/cjs/pesquisa-fetcher-680e198f.js +0 -166
  335. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  336. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  337. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  338. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  339. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  340. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  341. package/dist/components/pesquisa-fetcher.js +0 -164
  342. package/dist/esm/pesquisa-fetcher-03c8f919.js +0 -164
  343. package/dist/esm/snk-config-options.entry.js +0 -235
  344. package/dist/esm/snk-filter-bar.entry.js +0 -710
  345. package/dist/esm/snk-filter-item.entry.js +0 -308
  346. package/dist/esm/snk-filter-list.entry.js +0 -148
  347. package/dist/esm/snk-filter-modal.entry.js +0 -245
  348. package/dist/esm/snk-form.entry.js +0 -139
  349. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  350. package/dist/sankhyablocks/p-17def7cd.js +0 -1
  351. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  352. package/dist/sankhyablocks/p-2a408684.js +0 -1
  353. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  354. package/dist/sankhyablocks/p-3a212712.js +0 -1
  355. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  356. package/dist/sankhyablocks/p-450c60e4.entry.js +0 -1
  357. package/dist/sankhyablocks/p-4e5e1313.entry.js +0 -1
  358. package/dist/sankhyablocks/p-62ba211a.entry.js +0 -1
  359. package/dist/sankhyablocks/p-6bb2f3e9.entry.js +0 -1
  360. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  361. package/dist/sankhyablocks/p-7505da04.entry.js +0 -1
  362. package/dist/sankhyablocks/p-75e674ed.entry.js +0 -1
  363. package/dist/sankhyablocks/p-7619bdb1.entry.js +0 -11
  364. package/dist/sankhyablocks/p-7a85fd49.entry.js +0 -1
  365. package/dist/sankhyablocks/p-7ef9c55c.js +0 -1
  366. package/dist/sankhyablocks/p-80042dc6.entry.js +0 -1
  367. package/dist/sankhyablocks/p-871aa14e.entry.js +0 -1
  368. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  369. package/dist/sankhyablocks/p-8c59edd7.entry.js +0 -1
  370. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  371. package/dist/sankhyablocks/p-9863d682.js +0 -1
  372. package/dist/sankhyablocks/p-af8efd95.js +0 -6
  373. package/dist/sankhyablocks/p-b05d8893.entry.js +0 -1
  374. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  375. package/dist/sankhyablocks/p-c2495304.js +0 -1
  376. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  377. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  378. package/dist/sankhyablocks/p-d6e26ea8.entry.js +0 -1
  379. package/dist/sankhyablocks/p-dc7c9047.js +0 -1
  380. package/dist/sankhyablocks/p-df5451c7.js +0 -26
  381. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  382. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  383. package/dist/sankhyablocks/p-fa4d8cb4.js +0 -1
  384. package/dist/sankhyablocks/p-fe79f83a.js +0 -60
  385. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
@@ -0,0 +1,208 @@
1
+ import { Fragment, h, Host } from '@stencil/core';
2
+ import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
3
+ export class PesquisaTree {
4
+ constructor() {
5
+ this.treeLoader = undefined;
6
+ this.argument = undefined;
7
+ this.allowsNonAnalytic = false;
8
+ this.shouldLoadTree = false;
9
+ this.items = [];
10
+ }
11
+ async applyFilter() {
12
+ await this._tree.applyFilter(this.argument);
13
+ }
14
+ async observeShouldLoadTree(newValue) {
15
+ if (!newValue || this.items.length > 0)
16
+ return;
17
+ await this.loadTree();
18
+ }
19
+ async loadTree() {
20
+ if (!this.shouldLoadTree)
21
+ return;
22
+ if (!this.treeLoader || typeof this.treeLoader !== 'function')
23
+ return;
24
+ const response = await this.treeLoader((this.argument || '').trim());
25
+ this.items = [...response];
26
+ }
27
+ expandOrCloseAllItems(items, expanded) {
28
+ return items.map(item => (Object.assign(Object.assign({}, item), { expanded, children: item.children ? this.expandOrCloseAllItems(item.children, expanded) : undefined })));
29
+ }
30
+ handleExpandAll() {
31
+ this.items = [...this.expandOrCloseAllItems(this.items, true)];
32
+ }
33
+ handleCloseAll() {
34
+ this.items = [...this.expandOrCloseAllItems(this.items, false)];
35
+ }
36
+ handleDbClick(item) {
37
+ var _a;
38
+ if (!this.allowsNonAnalytic && !((_a = item['props']) === null || _a === void 0 ? void 0 : _a['analitico'])) {
39
+ const title = 'Erro';
40
+ const message = `Há pelo menos um registro inválido selecionado. Você deve selecionar itens do tipo 'analítico'.`;
41
+ ApplicationUtils.error(title, message);
42
+ return;
43
+ }
44
+ const option = {
45
+ value: item.id,
46
+ label: item.label,
47
+ };
48
+ this.pesquisaTreeSelectItem.emit(option);
49
+ }
50
+ renderEmptyMessage() {
51
+ return (h("div", { class: "ez-flex ez-flex--justify-center ez-flex--align-items-center ez-margin--large ez-text ez-text--xlarge ez-text--secondary" }, h("span", null, "Nenhum registro encontrado...")));
52
+ }
53
+ render() {
54
+ var _a;
55
+ return (h(Host, null, !((_a = this.items) === null || _a === void 0 ? void 0 : _a.length) ?
56
+ this.renderEmptyMessage() :
57
+ h(Fragment, null, h("div", { class: 'actions-container' }, h("ez-button", { size: 'small', mode: 'icon', class: 'ez-margin-right--small', iconName: 'show-list', title: "Expandir", onClick: () => this.handleExpandAll() }), h("ez-button", { size: 'small', mode: 'icon', iconName: 'hide-list', title: "Recolher", onClick: () => this.handleCloseAll() })), h("ez-tree", { ref: (element) => this._tree = element, onEzDbClickItem: ({ detail }) => this.handleDbClick(detail), items: this.items }))));
58
+ }
59
+ static get is() { return "pesquisa-tree"; }
60
+ static get encapsulation() { return "scoped"; }
61
+ static get originalStyleUrls() {
62
+ return {
63
+ "$": ["pesquisa-tree.css"]
64
+ };
65
+ }
66
+ static get styleUrls() {
67
+ return {
68
+ "$": ["pesquisa-tree.css"]
69
+ };
70
+ }
71
+ static get properties() {
72
+ return {
73
+ "treeLoader": {
74
+ "type": "unknown",
75
+ "mutable": false,
76
+ "complexType": {
77
+ "original": "(text: string) => Promise<Array<ITreeItem>>",
78
+ "resolved": "(text: string) => Promise<ITreeItem[]>",
79
+ "references": {
80
+ "Promise": {
81
+ "location": "global"
82
+ },
83
+ "Array": {
84
+ "location": "global"
85
+ },
86
+ "ITreeItem": {
87
+ "location": "import",
88
+ "path": "@sankhyalabs/ezui/src/components/ez-tree/interfaces/ITreeItem"
89
+ }
90
+ }
91
+ },
92
+ "required": false,
93
+ "optional": true,
94
+ "docs": {
95
+ "tags": [],
96
+ "text": "Fun\u00E7\u00E3o respons\u00E1vel por carregar a \u00E1rvore hier\u00E1rquica do componente"
97
+ }
98
+ },
99
+ "argument": {
100
+ "type": "string",
101
+ "mutable": true,
102
+ "complexType": {
103
+ "original": "string",
104
+ "resolved": "string",
105
+ "references": {}
106
+ },
107
+ "required": false,
108
+ "optional": false,
109
+ "docs": {
110
+ "tags": [],
111
+ "text": "Argumentos que ser\u00E3o usados ao chamar a fun\u00E7\u00E3o treeLoader."
112
+ },
113
+ "attribute": "argument",
114
+ "reflect": false
115
+ },
116
+ "allowsNonAnalytic": {
117
+ "type": "boolean",
118
+ "mutable": false,
119
+ "complexType": {
120
+ "original": "boolean",
121
+ "resolved": "boolean",
122
+ "references": {}
123
+ },
124
+ "required": false,
125
+ "optional": false,
126
+ "docs": {
127
+ "tags": [],
128
+ "text": "Define se permite sele\u00E7\u00E3o de items n\u00E3o anal\u00EDticos"
129
+ },
130
+ "attribute": "allows-non-analytic",
131
+ "reflect": false,
132
+ "defaultValue": "false"
133
+ },
134
+ "shouldLoadTree": {
135
+ "type": "boolean",
136
+ "mutable": false,
137
+ "complexType": {
138
+ "original": "boolean",
139
+ "resolved": "boolean",
140
+ "references": {}
141
+ },
142
+ "required": false,
143
+ "optional": false,
144
+ "docs": {
145
+ "tags": [],
146
+ "text": "Informa se a \u00E1rvore hier\u00E1rquica deve ou n\u00E3o ser carregada."
147
+ },
148
+ "attribute": "should-load-tree",
149
+ "reflect": false,
150
+ "defaultValue": "false"
151
+ }
152
+ };
153
+ }
154
+ static get states() {
155
+ return {
156
+ "items": {}
157
+ };
158
+ }
159
+ static get events() {
160
+ return [{
161
+ "method": "pesquisaTreeSelectItem",
162
+ "name": "pesquisaTreeSelectItem",
163
+ "bubbles": true,
164
+ "cancelable": true,
165
+ "composed": true,
166
+ "docs": {
167
+ "tags": [],
168
+ "text": ""
169
+ },
170
+ "complexType": {
171
+ "original": "IOption",
172
+ "resolved": "IOption",
173
+ "references": {
174
+ "IOption": {
175
+ "location": "import",
176
+ "path": "@sankhyalabs/ezui/src/components/ez-search/ez-search"
177
+ }
178
+ }
179
+ }
180
+ }];
181
+ }
182
+ static get methods() {
183
+ return {
184
+ "applyFilter": {
185
+ "complexType": {
186
+ "signature": "() => Promise<void>",
187
+ "parameters": [],
188
+ "references": {
189
+ "Promise": {
190
+ "location": "global"
191
+ }
192
+ },
193
+ "return": "Promise<void>"
194
+ },
195
+ "docs": {
196
+ "text": "",
197
+ "tags": []
198
+ }
199
+ }
200
+ };
201
+ }
202
+ static get watchers() {
203
+ return [{
204
+ "propName": "shouldLoadTree",
205
+ "methodName": "observeShouldLoadTree"
206
+ }];
207
+ }
208
+ }
@@ -0,0 +1,99 @@
1
+ import { DataType, UserInterface } from '@sankhyalabs/core';
2
+ export function buildGridMetadata(rawValue) {
3
+ const fieldsMetadata = buildFieldsMetadata(rawValue.fieldsMetadata);
4
+ const duName = rawValue.descriptionField;
5
+ const duLabel = rawValue.entityDescription;
6
+ return {
7
+ label: duLabel,
8
+ name: duName,
9
+ fields: fieldsMetadata,
10
+ };
11
+ }
12
+ function buildFieldsMetadata(rawMetadata) {
13
+ if (!rawMetadata || !rawMetadata.length)
14
+ return [];
15
+ return rawMetadata.map(field => {
16
+ return {
17
+ name: field['fieldName'],
18
+ label: field['description'],
19
+ dataType: buildDataType(field['type']),
20
+ userInterface: buildUserInterface(field),
21
+ properties: bildProperties(field)
22
+ };
23
+ });
24
+ }
25
+ function bildProperties(field) {
26
+ const properties = {};
27
+ properties['options'] = buildOptions(field);
28
+ properties['mask'] = buildMask(field);
29
+ return properties;
30
+ }
31
+ function buildMask(field) {
32
+ const fieldUI = field['uiType'];
33
+ return fieldUI ? String(fieldUI).toLowerCase() : undefined;
34
+ }
35
+ function buildOptions(field) {
36
+ const optionsJson = field.options;
37
+ if (!optionsJson)
38
+ return undefined;
39
+ const options = [];
40
+ Object.keys(optionsJson).forEach(key => {
41
+ options.push({
42
+ label: key,
43
+ value: optionsJson[key]
44
+ });
45
+ });
46
+ return options;
47
+ }
48
+ function buildUserInterface(field) {
49
+ const options = field.options;
50
+ if (options && Object.keys(options).length > 0)
51
+ return UserInterface.OPTIONSELECTOR;
52
+ if (field['type'] === 'D')
53
+ return UserInterface.DATE;
54
+ if (field['type'] === 'H')
55
+ return UserInterface.DATETIME;
56
+ if (field['type'] === 'T')
57
+ return UserInterface.TIME;
58
+ if (field['type'] === 'I')
59
+ return UserInterface.INTEGERNUMBER;
60
+ return undefined;
61
+ }
62
+ function buildDataType(rawType) {
63
+ switch (rawType) {
64
+ case 'F':
65
+ return DataType.NUMBER;
66
+ case 'D':
67
+ case 'H':
68
+ return DataType.DATE;
69
+ case 'B':
70
+ return DataType.OBJECT;
71
+ case 'I':
72
+ return DataType.NUMBER;
73
+ default:
74
+ return DataType.TEXT;
75
+ }
76
+ }
77
+ export function parseLegacyTree(legacy) {
78
+ var _a, _b;
79
+ const structure = (_b = (_a = legacy.arvore) === null || _a === void 0 ? void 0 : _a.no) !== null && _b !== void 0 ? _b : [];
80
+ return structure.map(parseLegacyItem);
81
+ }
82
+ function parseLegacyItem(node) {
83
+ return Object.assign({ id: node.codigo, label: `${node.caminho} - ${node.descricao}`, bold: node.analitico === "N", props: { analitico: node.analitico === 'S' } }, (node.no && { children: node.no.map(parseLegacyItem) }));
84
+ }
85
+ export function parseGridConfig(rawConfig) {
86
+ var _a, _b;
87
+ const columns = [];
88
+ const fields = (_b = (_a = rawConfig === null || rawConfig === void 0 ? void 0 : rawConfig.gridConfig) === null || _a === void 0 ? void 0 : _a.field) !== null && _b !== void 0 ? _b : {};
89
+ Object.keys(fields).forEach(key => columns.push(fields[key]));
90
+ if (!columns.length)
91
+ return undefined;
92
+ return { columns };
93
+ }
94
+ export var PESQUISA_VIEW_MODE;
95
+ (function (PESQUISA_VIEW_MODE) {
96
+ PESQUISA_VIEW_MODE[PESQUISA_VIEW_MODE["GRID"] = 0] = "GRID";
97
+ PESQUISA_VIEW_MODE[PESQUISA_VIEW_MODE["CARDS"] = 1] = "CARDS";
98
+ PESQUISA_VIEW_MODE[PESQUISA_VIEW_MODE["TREE"] = 2] = "TREE";
99
+ })(PESQUISA_VIEW_MODE || (PESQUISA_VIEW_MODE = {}));
@@ -10,6 +10,10 @@
10
10
  /* records */
11
11
  /*@doc Define a cor da fonte do indicador de registros do componente.*/
12
12
  --snk-pesquisa__records--color: var(--text--primary, #626e82);
13
+ /* records */
14
+ /*@doc Define a cor da fonte do indicador de registros do componente.*/
15
+ --snk-pesquisa__records--color-secondary: var(--text--secondary, #626e82);
16
+ /* records */
13
17
  /*@doc Define o espaçamento vertical do indicador de registros do componente.*/
14
18
  --snk-pesquisa__records--padding-vertical: var(--space--medium, 12px);
15
19
 
@@ -37,7 +41,7 @@
37
41
  /*@doc Define o raio da borda da barra de rolagem do componente.*/
38
42
  --snk-pesquisa__scrollbar--border-radius: var(--border--radius-small, 6px);
39
43
  /*@doc Define a largura da barra de rolagem do componente.*/
40
- --snk-pesquisa__scrollbar--width: var(--space--medium, 12px);
44
+ --snk-pesquisa__scrollbar--width: var(--space--small, 6px);
41
45
 
42
46
  height: 100%;
43
47
  display: flex;
@@ -69,12 +73,13 @@
69
73
  .snk-pesquisa__content {
70
74
  display: flex;
71
75
  flex-direction: column;
72
- overflow-y: auto;
73
- scrollbar-width: thin;
76
+ overflow-y: hidden;
74
77
 
78
+ scrollbar-width: thin;
75
79
  /*public*/
76
80
  scrollbar-color: var(--snk-pesquisa__scrollbar--color-clicked) var(--snk-pesquisa__scrollbar--color-background);
77
81
  padding-right: var(--snk-pesquisa__content--padding-right);
82
+ height: 100vh;
78
83
  }
79
84
 
80
85
  .snk-pesquisa__content::-webkit-scrollbar {
@@ -109,16 +114,35 @@
109
114
  background-color: var(--snk-pesquisa__scrollbar--color-clicked);
110
115
  }
111
116
 
112
- .snk-pesquisa__records {
113
- /*public*/
117
+ .snk-pesquisa__records-label{
118
+ display: flex;
119
+ flex-direction: row;
120
+ justify-content: space-between;
121
+
114
122
  font-family: var(--snk-pesquisa--font-family);
115
123
  font-weight: var(--snk-pesquisa--font-weight);
116
124
  font-size: var(--snk-pesquisa--font-size);
117
- color: var(--snk-pesquisa__records--color);
118
125
  padding-bottom: var(--snk-pesquisa__records--padding-vertical);
119
126
  padding-top: var(--snk-pesquisa__records--padding-vertical);
120
127
  }
121
128
 
129
+ .snk-pesquisa__records-label.hidden{
130
+ display: none;
131
+ }
132
+
133
+ .snk-pesquisa__records {
134
+ color: var(--snk-pesquisa__records--color);
135
+ }
136
+
137
+ .snk-pesquisa__records-limit {
138
+ color: var(--snk-pesquisa__records--color-secondary);
139
+ }
140
+
141
+ .snk-pesquisa__records-limit.hidden,
142
+ .snk-pesquisa__records.hidden {
143
+ visibility: hidden;
144
+ }
145
+
122
146
  .snk-pesquisa__btn {
123
147
  outline: none;
124
148
  border: none;
@@ -147,3 +171,8 @@
147
171
  /*public*/
148
172
  color: var(--snk-pesquisa__btn-hover--color);
149
173
  }
174
+
175
+ .snk-pesquisa__cards-container{
176
+ height: 100%;
177
+ overflow-y: auto;
178
+ }
@@ -1,5 +1,7 @@
1
- import { ObjectUtils, StringUtils, ElementIDUtils } from '@sankhyalabs/core';
1
+ import { ElementIDUtils, ObjectUtils, StringUtils } from '@sankhyalabs/core';
2
2
  import { h, Host } from '@stencil/core';
3
+ import { buildGridMetadata, PESQUISA_VIEW_MODE } from './pesquisaHelper';
4
+ import { PesquisaFetcher } from '../../lib';
3
5
  export class SnkPesquisa {
4
6
  constructor() {
5
7
  this._mdByName = {};
@@ -11,11 +13,19 @@ export class SnkPesquisa {
11
13
  this._changeDeboucingTimeout = null;
12
14
  this._limitCharsToSearch = 3;
13
15
  this._deboucingTime = 450;
16
+ this._gridDataSource = [];
17
+ this.pesquisaFetcher = new PesquisaFetcher();
14
18
  this._itemList = undefined;
15
19
  this._startLoading = false;
20
+ this._presentationMode = "list";
21
+ this._currentView = undefined;
16
22
  this.searchLoader = undefined;
23
+ this.treeLoader = undefined;
17
24
  this.selectItem = undefined;
25
+ this.entityName = undefined;
18
26
  this.argument = undefined;
27
+ this.isHierarchyEntity = false;
28
+ this.allowsNonAnalytic = false;
19
29
  }
20
30
  observeArgument() {
21
31
  if (this._textInput) {
@@ -53,36 +63,42 @@ export class SnkPesquisa {
53
63
  this._startLoading = true;
54
64
  this.searchLoader(argument)
55
65
  .then((resp) => {
66
+ if (!resp)
67
+ return;
68
+ this.processSearchResponse(resp);
69
+ }).finally(() => {
56
70
  this._startLoading = false;
57
- if (resp) {
58
- resp = ObjectUtils.stringToObject(resp.json.$);
59
- let descriptionField = resp.descriptionField;
60
- let pkField = resp.pkField;
61
- if (pkField) {
62
- let newItemList = [];
63
- resp.data.forEach((item) => {
64
- var _a;
65
- let fieldsMetadata = this.filterFieldsMetadata(resp, item);
66
- let fields = this.buildFirstFields(item['__matchFields'], fieldsMetadata);
67
- let exibitionItem = {
68
- key: this.highlightValue(item['__matchFields'], (_a = item[pkField]) === null || _a === void 0 ? void 0 : _a.toString(), fields, true),
69
- title: descriptionField ? this.highlightValue(item['__matchFields'], item[descriptionField], fields, true) : "",
70
- details: this.buildDetails(fields, item)
71
- };
72
- newItemList.push(exibitionItem);
73
- });
74
- this._itemList = newItemList;
75
- }
76
- }
77
- }).catch((error) => {
78
- this._startLoading = false;
79
- this._itemList = [];
80
- console.warn(error);
81
71
  });
82
72
  }
83
73
  }
74
+ processSearchResponse(resp) {
75
+ resp = ObjectUtils.stringToObject(resp.json.$);
76
+ let descriptionField = resp.descriptionField;
77
+ let pkField = resp.pkField;
78
+ if (!pkField)
79
+ return;
80
+ this._gridMetadata = buildGridMetadata(resp);
81
+ this._gridDataSource = [...resp.data];
82
+ this._pkField = pkField;
83
+ this._descriptionField = descriptionField;
84
+ this._itemList = this.buildCardItemList(resp, pkField, descriptionField);
85
+ }
86
+ buildCardItemList(resp, pkField, descriptionField) {
87
+ var _a;
88
+ let newItemList = (_a = resp.data) === null || _a === void 0 ? void 0 : _a.map((item) => {
89
+ var _a;
90
+ let fieldsMetadata = this.filterFieldsMetadata(resp, item);
91
+ let fields = this.buildFirstFields(item['__matchFields'], fieldsMetadata);
92
+ return {
93
+ key: this.highlightValue(item['__matchFields'], (_a = item[pkField]) === null || _a === void 0 ? void 0 : _a.toString(), fields, true),
94
+ title: descriptionField ? this.highlightValue(item['__matchFields'], item[descriptionField], fields, true) : '',
95
+ details: this.buildDetails(fields, item),
96
+ };
97
+ });
98
+ return newItemList;
99
+ }
84
100
  filterFieldsMetadata(resp, item) {
85
- let fieldsMetadata = resp.fieldsMetadata.filter((field) => {
101
+ return resp.fieldsMetadata.filter((field) => {
86
102
  let accept = !StringUtils.isEmpty(item[field.fieldName]) &&
87
103
  field.visible !== false &&
88
104
  field.type !== 'B' &&
@@ -99,7 +115,6 @@ export class SnkPesquisa {
99
115
  }
100
116
  return accept;
101
117
  });
102
- return fieldsMetadata;
103
118
  }
104
119
  removeAtIndex(array, index) {
105
120
  if (index >= 0 && index < array.length) {
@@ -257,6 +272,7 @@ export class SnkPesquisa {
257
272
  this.selectItem(option);
258
273
  }
259
274
  onChangeValue(event) {
275
+ var _a;
260
276
  this.clearDeboucingTimeout();
261
277
  if (this._startLoading) {
262
278
  this._changeDeboucingTimeout = setTimeout(() => {
@@ -265,6 +281,10 @@ export class SnkPesquisa {
265
281
  return;
266
282
  }
267
283
  this.argument = (event.detail || "").trim();
284
+ if (this.isHierarchyEntity && this._presentationMode === 'list') {
285
+ (_a = this._pesquisaTree) === null || _a === void 0 ? void 0 : _a.applyFilter();
286
+ return;
287
+ }
268
288
  const argumentNumber = this.getArgumentNumber();
269
289
  if (this.argument && (!isNaN(argumentNumber) || this.argument.length >= this._limitCharsToSearch)) {
270
290
  this._changeDeboucingTimeout = setTimeout(() => {
@@ -295,16 +315,64 @@ export class SnkPesquisa {
295
315
  : 'Nenhum registro encontrado'
296
316
  : 'Os resultados de sua pesquisa aparecerão aqui...';
297
317
  }
298
- componentDidLoad() {
318
+ async componentWillLoad() {
319
+ const mode = await this.pesquisaFetcher.loadPresentationConfig(this.entityName);
320
+ this._presentationMode = mode === 'list' ? 'list' : 'table';
321
+ }
322
+ async componentDidLoad() {
299
323
  ElementIDUtils.addIDInfo(this._element);
324
+ await this.chooseViewMode();
325
+ }
326
+ async handleChangeViewMode() {
327
+ this._presentationMode = this._presentationMode === 'list' ? 'table' : 'list';
328
+ await this.chooseViewMode();
329
+ await this.pesquisaFetcher.savePresentationConfig(this.entityName, this._presentationMode);
330
+ }
331
+ async chooseViewMode() {
332
+ var _a, _b;
333
+ if (this._presentationMode !== 'list') {
334
+ await ((_a = this._viewStack) === null || _a === void 0 ? void 0 : _a.show(PESQUISA_VIEW_MODE.GRID));
335
+ this._currentView = PESQUISA_VIEW_MODE.GRID;
336
+ return;
337
+ }
338
+ const view = this.isHierarchyEntity ? PESQUISA_VIEW_MODE.TREE : PESQUISA_VIEW_MODE.CARDS;
339
+ await ((_b = this._viewStack) === null || _b === void 0 ? void 0 : _b.show(view));
340
+ this._currentView = view;
341
+ }
342
+ //Os limites de exibição são diferentes para lista e grade
343
+ hideLimitMessage() {
344
+ if (!this._itemList)
345
+ return true;
346
+ return this._itemList.length < 100;
347
+ }
348
+ hideRecordsMessage() {
349
+ return (this._presentationMode === "list" && this.isHierarchyEntity);
350
+ }
351
+ getButtonModeInfo() {
352
+ if (this._presentationMode === 'list') {
353
+ return {
354
+ iconName: 'table',
355
+ title: 'Modo grade',
356
+ };
357
+ }
358
+ if (this.isHierarchyEntity) {
359
+ return {
360
+ iconName: 'hierarchical-tree',
361
+ title: 'Modo árvore hierárquica',
362
+ };
363
+ }
364
+ return {
365
+ iconName: 'list',
366
+ title: 'Modo lista',
367
+ };
300
368
  }
301
369
  render() {
302
- var _a;
370
+ var _a, _b;
303
371
  return (h(Host, null, h("div", { class: "snk-pesquisa" }, h("div", { class: "snk-pesquisa__input" }, h("ez-text-input", { label: "Buscar", class: "ez-margin-right--medium", canShowError: false, ref: (ref) => this._textInput = ref, onEzChange: (event) => this.onChangeValue(event), value: this.argument, "data-element-id": "searchInput" }, h("ez-icon", { slot: "leftIcon", iconName: "search" }), this.argument && ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value)
304
372
  ? h("button", { slot: "rightIcon", class: "snk-pesquisa__btn", onClick: () => this.clearSearch() }, h("ez-icon", { iconName: "close" }))
305
- : undefined), h("ez-button", { class: "ez-button--primary", label: "Pesquisar", onClick: () => this.onClickSearch() })), h("label", { class: "snk-pesquisa__records" }, this.getMessageView()), h("div", { class: "snk-pesquisa__content" }, this._itemList && this._itemList.map((item) => {
373
+ : undefined), h("ez-button", { class: "ez-button--primary", label: "Pesquisar", onClick: () => this.onClickSearch() }), h("ez-button", { class: "ez-margin-left--medium", mode: "icon", iconName: this.getButtonModeInfo().iconName, title: this.getButtonModeInfo().title, onClick: async () => await this.handleChangeViewMode() })), h("div", { class: `snk-pesquisa__records-label ${this._currentView === PESQUISA_VIEW_MODE.TREE ? 'hidden' : ''}` }, h("label", { class: `snk-pesquisa__records ${this.hideRecordsMessage() ? "hidden" : ""}` }, this.getMessageView()), h("label", { class: `snk-pesquisa__records-limit ${this.hideLimitMessage() ? "hidden" : ""}` }, "Essa pesquisa foi limitada, existem mais resultados.")), h("div", { class: "snk-pesquisa__content" }, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "simple-crud" }, h("stack-item", null, h("pesquisa-grid", { metadata: this._gridMetadata, dataSource: this._gridDataSource, pkField: this._pkField, descriptionField: this._descriptionField, entityName: this.entityName, shouldLoadConfig: this._currentView === PESQUISA_VIEW_MODE.GRID, onPesquisaGridSelectItem: ({ detail }) => this.selectItem(detail) })), h("stack-item", null, h("div", { class: 'snk-pesquisa__cards-container' }, (_b = this._itemList) === null || _b === void 0 ? void 0 : _b.map((item) => {
306
374
  return (h("ez-card-item", { onEzClick: (event) => this.createOption(event.detail), item: item }));
307
- })))));
375
+ }))), h("stack-item", null, h("pesquisa-tree", { ref: (element) => this._pesquisaTree = element, argument: this.argument, treeLoader: this.treeLoader, allowsNonAnalytic: this.allowsNonAnalytic, shouldLoadTree: this._currentView === PESQUISA_VIEW_MODE.TREE, onPesquisaTreeSelectItem: ({ detail }) => this.selectItem(detail) })))))));
308
376
  }
309
377
  static get is() { return "snk-pesquisa"; }
310
378
  static get encapsulation() { return "scoped"; }
@@ -339,6 +407,25 @@ export class SnkPesquisa {
339
407
  "text": "Fun\u00E7\u00E3o respons\u00E1vel em carregar os itens do componente snk-pesquisa."
340
408
  }
341
409
  },
410
+ "treeLoader": {
411
+ "type": "unknown",
412
+ "mutable": false,
413
+ "complexType": {
414
+ "original": "(text: string) => Promise<any>",
415
+ "resolved": "(text: string) => Promise<any>",
416
+ "references": {
417
+ "Promise": {
418
+ "location": "global"
419
+ }
420
+ }
421
+ },
422
+ "required": false,
423
+ "optional": true,
424
+ "docs": {
425
+ "tags": [],
426
+ "text": "Fun\u00E7\u00E3o respons\u00E1vel por carregar a \u00E1rvore hier\u00E1rquica do componente"
427
+ }
428
+ },
342
429
  "selectItem": {
343
430
  "type": "unknown",
344
431
  "mutable": false,
@@ -359,6 +446,23 @@ export class SnkPesquisa {
359
446
  "text": "Fun\u00E7\u00E3o disparada ao selecionar um item."
360
447
  }
361
448
  },
449
+ "entityName": {
450
+ "type": "string",
451
+ "mutable": false,
452
+ "complexType": {
453
+ "original": "string",
454
+ "resolved": "string",
455
+ "references": {}
456
+ },
457
+ "required": false,
458
+ "optional": false,
459
+ "docs": {
460
+ "tags": [],
461
+ "text": "Nome da entidade onde a pesquisa \u00E9 aplicada."
462
+ },
463
+ "attribute": "entity-name",
464
+ "reflect": false
465
+ },
362
466
  "argument": {
363
467
  "type": "string",
364
468
  "mutable": true,
@@ -375,13 +479,51 @@ export class SnkPesquisa {
375
479
  },
376
480
  "attribute": "argument",
377
481
  "reflect": false
482
+ },
483
+ "isHierarchyEntity": {
484
+ "type": "boolean",
485
+ "mutable": false,
486
+ "complexType": {
487
+ "original": "boolean",
488
+ "resolved": "boolean",
489
+ "references": {}
490
+ },
491
+ "required": false,
492
+ "optional": false,
493
+ "docs": {
494
+ "tags": [],
495
+ "text": "Define se a popup de pesquisa possuir\u00E1 ou n\u00E3o modo Hierarquico."
496
+ },
497
+ "attribute": "is-hierarchy-entity",
498
+ "reflect": false,
499
+ "defaultValue": "false"
500
+ },
501
+ "allowsNonAnalytic": {
502
+ "type": "boolean",
503
+ "mutable": false,
504
+ "complexType": {
505
+ "original": "boolean",
506
+ "resolved": "boolean",
507
+ "references": {}
508
+ },
509
+ "required": false,
510
+ "optional": false,
511
+ "docs": {
512
+ "tags": [],
513
+ "text": "Define se permite sele\u00E7\u00E3o de items n\u00E3o anal\u00EDticos"
514
+ },
515
+ "attribute": "allows-non-analytic",
516
+ "reflect": false,
517
+ "defaultValue": "false"
378
518
  }
379
519
  };
380
520
  }
381
521
  static get states() {
382
522
  return {
383
523
  "_itemList": {},
384
- "_startLoading": {}
524
+ "_startLoading": {},
525
+ "_presentationMode": {},
526
+ "_currentView": {}
385
527
  };
386
528
  }
387
529
  static get elementRef() { return "_element"; }