@sankhyalabs/sankhyablocks 8.16.0-dev.7 → 8.16.0-dev.71

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 (336) hide show
  1. package/dist/cjs/{ConfigStorage-a343e418.js → ConfigStorage-d024aec8.js} +2 -2
  2. package/dist/cjs/{IExporterProvider-597949f9.js → ContinuousInsertUtils-54d44192.js} +65 -23
  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/{SnkFormConfigManager-166cbd1f.js → SnkFormConfigManager-07f747be.js} +75 -17
  6. package/dist/cjs/{SnkMessageBuilder-722b104e.js → SnkMessageBuilder-bae64d0d.js} +7 -3
  7. package/dist/cjs/{auth-fetcher-54f5ff9d.js → auth-fetcher-8480751c.js} +1 -1
  8. package/dist/cjs/{dataunit-fetcher-688d3f05.js → dataunit-fetcher-8ea97d88.js} +48 -20
  9. package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
  10. package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-90126e4c.js} +42 -2
  11. package/dist/cjs/index-f9e81701.js +16 -32
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/cjs/{pesquisa-fetcher-680e198f.js → pesquisa-fetcher-f3454c23.js} +185 -2
  14. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +133 -0
  15. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  16. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_5.cjs.entry.js} +136 -40
  17. package/dist/cjs/snk-application.cjs.entry.js +248 -69
  18. package/dist/cjs/snk-attach.cjs.entry.js +46 -33
  19. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +398 -12
  20. package/dist/cjs/snk-crud.cjs.entry.js +22 -8
  21. package/dist/cjs/snk-data-exporter.cjs.entry.js +34 -22
  22. package/dist/cjs/{snk-data-unit-04df81bf.js → snk-data-unit-72ef8777.js} +54 -32
  23. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  24. package/dist/cjs/snk-detail-view.cjs.entry.js +12 -12
  25. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  26. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1436 -0
  27. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  28. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  29. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  30. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  31. package/dist/cjs/snk-grid.cjs.entry.js +71 -21
  32. package/dist/cjs/{snk-guides-viewer-bdc41281.js → snk-guides-viewer-b20b0cfd.js} +29 -13
  33. package/dist/cjs/snk-guides-viewer.cjs.entry.js +9 -9
  34. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  35. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  36. package/dist/cjs/snk-pesquisa.cjs.entry.js +123 -31
  37. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  38. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  39. package/dist/cjs/snk-simple-crud.cjs.entry.js +101 -45
  40. package/dist/cjs/snk-taskbar.cjs.entry.js +64 -38
  41. package/dist/collection/collection-manifest.json +14 -31
  42. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  43. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  44. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  45. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  46. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  47. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  48. package/dist/collection/components/snk-application/snk-application.css +34 -0
  49. package/dist/collection/components/snk-application/snk-application.js +235 -64
  50. package/dist/collection/components/snk-attach/snk-attach.js +25 -16
  51. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  52. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -4
  53. package/dist/collection/components/snk-crud/snk-crud.js +122 -3
  54. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +3 -3
  55. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  56. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +72 -6
  57. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  58. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +13 -7
  59. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  60. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +1 -1
  61. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +1 -1
  62. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  63. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +3 -5
  64. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  65. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  66. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  67. package/dist/collection/components/snk-data-unit/snk-data-unit.js +52 -30
  68. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  69. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  70. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  71. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  72. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  73. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  74. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +5 -1
  75. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  76. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  77. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -1
  78. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +118 -28
  79. package/dist/collection/components/snk-form/snk-form.js +2 -2
  80. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
  81. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  82. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  83. package/dist/collection/components/snk-grid/snk-grid.css +2 -0
  84. package/dist/collection/components/snk-grid/snk-grid.js +153 -8
  85. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +10 -0
  86. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +190 -0
  87. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +25 -0
  88. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +179 -0
  89. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +89 -0
  90. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +24 -5
  91. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +186 -32
  92. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  93. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  94. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  95. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +160 -50
  96. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  97. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  98. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  99. package/dist/collection/components/snk-taskbar/snk-taskbar.js +106 -38
  100. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
  101. package/dist/collection/lib/dataUnit/InMemoryLoader.js +2 -4
  102. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +34 -9
  103. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +29 -21
  104. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  105. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +2 -2
  106. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +9 -2
  107. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +45 -5
  108. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  109. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +98 -4
  110. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +1 -1
  111. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  112. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  113. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  114. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  115. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  116. package/dist/collection/sw.js +46 -0
  117. package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +66 -23
  118. package/dist/components/DataFetcher.js +217 -77
  119. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  120. package/dist/components/ISave.js +346 -1
  121. package/dist/components/SnkFormConfigManager.js +73 -15
  122. package/dist/components/SnkMessageBuilder.js +7 -3
  123. package/dist/components/dataunit-fetcher.js +47 -17
  124. package/dist/components/form-config-fetcher.js +41 -1
  125. package/dist/components/index.d.ts +3 -0
  126. package/dist/components/index.js +3 -0
  127. package/dist/components/pesquisa-grid.d.ts +11 -0
  128. package/dist/components/pesquisa-grid.js +6 -0
  129. package/dist/components/pesquisa-grid2.js +86 -0
  130. package/dist/components/pesquisa-tree.d.ts +11 -0
  131. package/dist/components/pesquisa-tree.js +6 -0
  132. package/dist/components/pesquisa-tree2.js +82 -0
  133. package/dist/components/snk-actions-button2.js +43 -40
  134. package/dist/components/snk-application2.js +264 -68
  135. package/dist/components/snk-attach2.js +54 -60
  136. package/dist/components/snk-crud.js +83 -59
  137. package/dist/components/snk-data-exporter2.js +28 -17
  138. package/dist/components/snk-data-unit2.js +55 -70
  139. package/dist/components/snk-detail-view2.js +114 -105
  140. package/dist/components/snk-exporter-email-sender2.js +1 -1
  141. package/dist/components/snk-filter-bar2.js +64 -30
  142. package/dist/components/snk-filter-binary-select.js +1 -1
  143. package/dist/components/snk-filter-checkbox-list.js +1 -1
  144. package/dist/components/snk-filter-item2.js +5 -1
  145. package/dist/components/snk-filter-modal.js +4 -2
  146. package/dist/components/snk-filter-text.js +2 -1
  147. package/dist/components/snk-form-config2.js +34 -9
  148. package/dist/components/snk-form.js +2 -2
  149. package/dist/components/snk-grid2.js +68 -13
  150. package/dist/components/snk-personalized-filter-editor.js +4 -4
  151. package/dist/components/snk-pesquisa2.js +136 -33
  152. package/dist/components/snk-print-selector.js +1 -1
  153. package/dist/components/snk-simple-bar2.js +1 -1
  154. package/dist/components/snk-simple-crud2.js +108 -66
  155. package/dist/components/snk-simple-form-config.d.ts +11 -0
  156. package/dist/components/snk-simple-form-config.js +6 -0
  157. package/dist/components/snk-simple-form-config2.js +120 -0
  158. package/dist/components/snk-taskbar2.js +66 -40
  159. package/dist/components/teste-pesquisa.js +13 -1
  160. package/dist/esm/{ConfigStorage-3806514e.js → ConfigStorage-373bb440.js} +2 -2
  161. package/dist/esm/{IExporterProvider-63a188b6.js → ContinuousInsertUtils-25e7bd9a.js} +66 -25
  162. package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-5221b992.js} +217 -77
  163. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  164. package/dist/esm/{SnkFormConfigManager-31b24066.js → SnkFormConfigManager-1ff928fa.js} +75 -17
  165. package/dist/esm/{SnkMessageBuilder-89925609.js → SnkMessageBuilder-6fff4a4c.js} +7 -3
  166. package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-e32fe8a4.js} +1 -1
  167. package/dist/esm/{constants-8457af36.js → constants-7302ee87.js} +1 -1
  168. package/dist/esm/{dataunit-fetcher-264191b2.js → dataunit-fetcher-8dd93d8b.js} +48 -18
  169. package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
  170. package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-126e2471.js} +42 -2
  171. package/dist/esm/index-a7d3d3f1.js +16 -32
  172. package/dist/esm/loader.js +1 -1
  173. package/dist/{components/pesquisa-fetcher.js → esm/pesquisa-fetcher-0af41f09.js} +186 -4
  174. package/dist/esm/pesquisa-grid_2.entry.js +128 -0
  175. package/dist/esm/sankhyablocks.js +1 -1
  176. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_5.entry.js} +138 -43
  177. package/dist/esm/snk-application.entry.js +250 -71
  178. package/dist/esm/snk-attach.entry.js +47 -34
  179. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +399 -15
  180. package/dist/esm/snk-configurator.entry.js +1 -1
  181. package/dist/esm/snk-crud.entry.js +23 -9
  182. package/dist/esm/snk-data-exporter.entry.js +35 -23
  183. package/dist/esm/{snk-data-unit-8eec78bd.js → snk-data-unit-11a49fc3.js} +54 -32
  184. package/dist/esm/snk-data-unit.entry.js +5 -5
  185. package/dist/esm/snk-detail-view.entry.js +13 -13
  186. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  187. package/dist/esm/snk-field-config.entry.js +1 -1
  188. package/dist/esm/snk-filter-bar_4.entry.js +1429 -0
  189. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  190. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  191. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  192. package/dist/esm/snk-filter-text.entry.js +2 -1
  193. package/dist/esm/snk-grid.entry.js +66 -16
  194. package/dist/esm/{snk-guides-viewer-dda0fede.js → snk-guides-viewer-94918cf7.js} +30 -14
  195. package/dist/esm/snk-guides-viewer.entry.js +9 -9
  196. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  197. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  198. package/dist/esm/snk-pesquisa.entry.js +123 -31
  199. package/dist/esm/snk-print-selector.entry.js +1 -1
  200. package/dist/esm/snk-simple-bar.entry.js +1 -1
  201. package/dist/esm/snk-simple-crud.entry.js +99 -43
  202. package/dist/esm/snk-tab-config.entry.js +1 -1
  203. package/dist/esm/snk-taskbar.entry.js +65 -39
  204. package/dist/sankhyablocks/p-09067bee.entry.js +1 -0
  205. package/dist/sankhyablocks/p-0d86c004.entry.js +1 -0
  206. package/dist/sankhyablocks/p-1435701f.js +26 -0
  207. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  208. package/dist/sankhyablocks/p-16cc8640.entry.js +11 -0
  209. package/dist/sankhyablocks/p-17425c72.js +1 -0
  210. package/dist/sankhyablocks/{p-52920496.js → p-19dc71e9.js} +1 -1
  211. package/dist/sankhyablocks/p-1a91d1f3.entry.js +1 -0
  212. package/dist/sankhyablocks/{p-47db7e88.entry.js → p-1cf39cfd.entry.js} +1 -1
  213. package/dist/sankhyablocks/p-23736d75.js +1 -0
  214. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-2d3f9482.entry.js} +1 -1
  215. package/dist/sankhyablocks/p-3150ad41.js +1 -0
  216. package/dist/sankhyablocks/{p-c1d57831.entry.js → p-3a3d4055.entry.js} +1 -1
  217. package/dist/sankhyablocks/{p-7663f597.entry.js → p-41793e17.entry.js} +1 -1
  218. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  219. package/dist/sankhyablocks/p-469384a2.entry.js +1 -0
  220. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  221. package/dist/sankhyablocks/p-471785a1.entry.js +1 -0
  222. package/dist/sankhyablocks/p-4ca8e061.entry.js +1 -0
  223. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  224. package/dist/sankhyablocks/p-60e4db34.js +1 -0
  225. package/dist/sankhyablocks/p-618a29ed.entry.js +1 -0
  226. package/dist/sankhyablocks/p-619aeac8.entry.js +1 -0
  227. package/dist/sankhyablocks/p-68134a67.entry.js +1 -0
  228. package/dist/sankhyablocks/p-798386c7.js +6 -0
  229. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  230. package/dist/sankhyablocks/{p-2c68b3ae.entry.js → p-82ee6dc3.entry.js} +1 -1
  231. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  232. package/dist/sankhyablocks/p-8a1ee5b5.js +1 -0
  233. package/dist/sankhyablocks/{p-95df461f.entry.js → p-8b4fc28f.entry.js} +1 -1
  234. package/dist/sankhyablocks/p-8bd86610.entry.js +1 -0
  235. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  236. package/dist/sankhyablocks/{p-b0ef4383.js → p-95ce311a.js} +1 -1
  237. package/dist/sankhyablocks/p-a3803d7c.entry.js +1 -0
  238. package/dist/sankhyablocks/p-aaef93e8.js +1 -0
  239. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  240. package/dist/sankhyablocks/p-d62228fb.js +1 -0
  241. package/dist/sankhyablocks/p-d92d4f91.entry.js +1 -0
  242. package/dist/sankhyablocks/p-ddefbbc7.js +60 -0
  243. package/dist/sankhyablocks/p-edbe8e15.entry.js +1 -0
  244. package/dist/sankhyablocks/{p-913a9979.js → p-f0b9303b.js} +1 -1
  245. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  246. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  247. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  248. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  249. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  250. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  251. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  252. package/dist/types/components/snk-application/snk-application.d.ts +28 -14
  253. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  254. package/dist/types/components/snk-crud/snk-crud.d.ts +21 -0
  255. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +15 -0
  256. package/dist/types/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.d.ts +1 -0
  257. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  258. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  259. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  260. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +2 -0
  261. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  262. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  263. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  264. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  265. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  266. package/dist/types/components/snk-grid/snk-grid.d.ts +26 -0
  267. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +38 -0
  268. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +29 -0
  269. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +19 -0
  270. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +36 -1
  271. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +27 -7
  272. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  273. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  274. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
  275. package/dist/types/components.d.ts +372 -15
  276. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +12 -2
  277. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  278. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  279. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +1 -1
  280. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +8 -2
  281. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  282. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +10 -1
  283. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  284. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  285. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  286. package/package.json +4 -3
  287. package/react/components.d.ts +3 -0
  288. package/react/components.js +3 -0
  289. package/react/components.js.map +1 -1
  290. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  291. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  292. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  293. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  294. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  295. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  296. package/dist/esm/pesquisa-fetcher-03c8f919.js +0 -164
  297. package/dist/esm/snk-config-options.entry.js +0 -235
  298. package/dist/esm/snk-filter-bar.entry.js +0 -710
  299. package/dist/esm/snk-filter-item.entry.js +0 -308
  300. package/dist/esm/snk-filter-list.entry.js +0 -148
  301. package/dist/esm/snk-filter-modal.entry.js +0 -245
  302. package/dist/esm/snk-form.entry.js +0 -139
  303. package/dist/sankhyablocks/p-045eae4d.entry.js +0 -11
  304. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  305. package/dist/sankhyablocks/p-2a408684.js +0 -1
  306. package/dist/sankhyablocks/p-3a212712.js +0 -1
  307. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  308. package/dist/sankhyablocks/p-450c60e4.entry.js +0 -1
  309. package/dist/sankhyablocks/p-46d38387.entry.js +0 -1
  310. package/dist/sankhyablocks/p-4e5e1313.entry.js +0 -1
  311. package/dist/sankhyablocks/p-547eeac8.entry.js +0 -1
  312. package/dist/sankhyablocks/p-62ba211a.entry.js +0 -1
  313. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  314. package/dist/sankhyablocks/p-7505da04.entry.js +0 -1
  315. package/dist/sankhyablocks/p-75e674ed.entry.js +0 -1
  316. package/dist/sankhyablocks/p-7a337364.js +0 -1
  317. package/dist/sankhyablocks/p-7a85fd49.entry.js +0 -1
  318. package/dist/sankhyablocks/p-7b08d0f8.entry.js +0 -1
  319. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  320. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  321. package/dist/sankhyablocks/p-9863d682.js +0 -1
  322. package/dist/sankhyablocks/p-af8efd95.js +0 -6
  323. package/dist/sankhyablocks/p-b05d8893.entry.js +0 -1
  324. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  325. package/dist/sankhyablocks/p-c2495304.js +0 -1
  326. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  327. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  328. package/dist/sankhyablocks/p-d6e26ea8.entry.js +0 -1
  329. package/dist/sankhyablocks/p-dc7c9047.js +0 -1
  330. package/dist/sankhyablocks/p-df5451c7.js +0 -26
  331. package/dist/sankhyablocks/p-e549f7d1.js +0 -1
  332. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  333. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  334. package/dist/sankhyablocks/p-fa4d8cb4.js +0 -1
  335. package/dist/sankhyablocks/p-fe79f83a.js +0 -60
  336. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
@@ -1,3 +1,348 @@
1
+ import { UserInterface, DataType, ApplicationContext, ErrorException } from '@sankhyalabs/core';
2
+ import { d as dist, D as DataFetcher } from './DataFetcher.js';
3
+
4
+ function buildGridMetadata(rawValue) {
5
+ const fieldsMetadata = buildFieldsMetadata(rawValue.fieldsMetadata);
6
+ const duName = rawValue.descriptionField;
7
+ const duLabel = rawValue.entityDescription;
8
+ return {
9
+ label: duLabel,
10
+ name: duName,
11
+ fields: fieldsMetadata,
12
+ };
13
+ }
14
+ function buildFieldsMetadata(rawMetadata) {
15
+ if (!rawMetadata || !rawMetadata.length)
16
+ return [];
17
+ return rawMetadata.map(field => {
18
+ return {
19
+ name: field['fieldName'],
20
+ label: field['description'],
21
+ dataType: buildDataType(field['type']),
22
+ userInterface: buildUserInterface(field),
23
+ properties: bildProperties(field)
24
+ };
25
+ });
26
+ }
27
+ function bildProperties(field) {
28
+ const properties = {};
29
+ properties['options'] = buildOptions(field);
30
+ properties['mask'] = buildMask(field);
31
+ return properties;
32
+ }
33
+ function buildMask(field) {
34
+ const fieldUI = field['uiType'];
35
+ return fieldUI ? String(fieldUI).toLowerCase() : undefined;
36
+ }
37
+ function buildOptions(field) {
38
+ const optionsJson = field.options;
39
+ if (!optionsJson)
40
+ return undefined;
41
+ const options = [];
42
+ Object.keys(optionsJson).forEach(key => {
43
+ options.push({
44
+ label: key,
45
+ value: optionsJson[key]
46
+ });
47
+ });
48
+ return options;
49
+ }
50
+ function buildUserInterface(field) {
51
+ const options = field.options;
52
+ if (options && Object.keys(options).length > 0)
53
+ return UserInterface.OPTIONSELECTOR;
54
+ if (field['type'] === 'D')
55
+ return UserInterface.DATE;
56
+ if (field['type'] === 'H')
57
+ return UserInterface.DATETIME;
58
+ if (field['type'] === 'T')
59
+ return UserInterface.TIME;
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
+ default:
72
+ return DataType.TEXT;
73
+ }
74
+ }
75
+ function parseLegacyTree(legacy) {
76
+ var _a, _b;
77
+ const structure = (_b = (_a = legacy.arvore) === null || _a === void 0 ? void 0 : _a.no) !== null && _b !== void 0 ? _b : [];
78
+ return structure.map(parseLegacyItem);
79
+ }
80
+ function parseLegacyItem(node) {
81
+ 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) }));
82
+ }
83
+ function parseGridConfig(rawConfig) {
84
+ var _a, _b;
85
+ const columns = [];
86
+ 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 : {};
87
+ Object.keys(fields).forEach(key => columns.push(fields[key]));
88
+ if (!columns.length)
89
+ return undefined;
90
+ return { columns };
91
+ }
92
+
93
+ class PesquisaFetcher {
94
+ constructor() {
95
+ this._defaultPageSize = 100;
96
+ this._templateByQuery = new Map();
97
+ this._searchListenersByDataUnit = new Map();
98
+ this.buldTemplates();
99
+ }
100
+ buldTemplates() {
101
+ this._templateByQuery.set("search", dist.gql `query($entityName: String! $argument: String $criteria: InputSearchCriteria $options: InputSearchOptions) {
102
+ $queryAlias$: search(entityName: $entityName argument: $argument criteria: $criteria options: $options){
103
+ value
104
+ label
105
+ }
106
+ }`);
107
+ }
108
+ loadSearchOptions(entityName, argument, criteria, options) {
109
+ var _a;
110
+ const cleanText = (argument === null || argument === void 0 ? void 0 : argument.toString().trim()) || undefined;
111
+ argument = isNaN(Number(cleanText)) && cleanText ? `%${cleanText}` : cleanText;
112
+ criteria === null || criteria === void 0 ? void 0 : criteria.params.forEach(param => {
113
+ if (param.dataType === DataType.OBJECT) {
114
+ param.value = JSON.stringify(param.value);
115
+ }
116
+ });
117
+ const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, options);
118
+ const values = {
119
+ argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
120
+ entityName,
121
+ criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
122
+ options: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) || options,
123
+ };
124
+ if (values.options) {
125
+ (_a = values.options) === null || _a === void 0 ? true : delete _a.dataUnitId;
126
+ }
127
+ return new Promise((resolve, reject) => {
128
+ DataFetcher.get()
129
+ .callGraphQL({
130
+ values,
131
+ query: this._templateByQuery.get("search"),
132
+ })
133
+ .then((result) => {
134
+ resolve(result);
135
+ })
136
+ .catch((error) => {
137
+ reject(error);
138
+ });
139
+ });
140
+ }
141
+ loadAdvancedSearch(entityName, argument, criteria, searchOptions) {
142
+ var _a, _b, _c, _d, _e;
143
+ const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
144
+ const values = {
145
+ argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
146
+ criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
147
+ searchOptions: Object.assign(Object.assign({}, searchOptions), listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions),
148
+ };
149
+ const serviceName = "PesquisaSP.getSuggestion";
150
+ const externalCriteria = {
151
+ query: {
152
+ $: (_a = values.criteria) === null || _a === void 0 ? void 0 : _a.expression
153
+ }
154
+ };
155
+ if (((_c = (_b = values.criteria) === null || _b === void 0 ? void 0 : _b.params) === null || _c === void 0 ? void 0 : _c.length) > 0) {
156
+ externalCriteria.params = {
157
+ param: values.criteria.params.map(param => {
158
+ let value = param.value;
159
+ if (typeof value === "string") {
160
+ const match = /CTX\{([^}]+)\}/.exec(value);
161
+ if (match) {
162
+ value = ApplicationContext.getContextValue(`__SNK__APPLICATION__FILTER__CONTEXT(${match[1]})__`);
163
+ }
164
+ }
165
+ if (param.dataType === DataType.NUMBER && value === undefined) {
166
+ throw new ErrorException("Falha detectada", `O campo ${param.name} deve ser informado.`);
167
+ }
168
+ let type = param.dataType;
169
+ if (type === DataType.OBJECT) {
170
+ value = value.value;
171
+ type = "S";
172
+ }
173
+ else {
174
+ type = convertParamType(param.dataType);
175
+ }
176
+ return { $: value, type };
177
+ })
178
+ };
179
+ }
180
+ const options = searchOptions != undefined
181
+ ? Object.assign(Object.assign({}, values === null || values === void 0 ? void 0 : values.searchOptions), { "pkFieldName": searchOptions.codeFieldName, "label": searchOptions.descriptionFieldName, "fieldName": searchOptions.codeFieldName, "useDescriptionOptions": false, "enableRowsCounter": true }) : undefined;
182
+ const reqBody = {
183
+ "serviceName": serviceName,
184
+ "requestBody": {
185
+ "criteria": Object.assign({ "entityName": entityName, "compacted": false, "ignoreEntityCriteria": (_d = options === null || options === void 0 ? void 0 : options.ignoreEntityCriteria) !== null && _d !== void 0 ? _d : false, "limit": this._defaultPageSize, "query": { "$": values.argument }, "orderByDesc": false, "externalCriteria": externalCriteria, "localEntityName": (_e = values.searchOptions) === null || _e === void 0 ? void 0 : _e.rootEntity }, { options }),
186
+ "clientEventList": {
187
+ "clientEvent": []
188
+ }
189
+ }
190
+ };
191
+ const urlOptions = {
192
+ urlParams: {
193
+ "quietMode": true
194
+ }
195
+ };
196
+ return new Promise((resolve, reject) => {
197
+ DataFetcher.get()
198
+ .callServiceBroker("PesquisaSP.getSuggestion", JSON.stringify(reqBody), urlOptions)
199
+ .then(result => resolve(result))
200
+ .catch(error => reject(error));
201
+ });
202
+ }
203
+ addSearchListener(entityName, dataUnitID, listener) {
204
+ var _a;
205
+ const dataUnitSearchListeners = this._searchListenersByDataUnit.get(dataUnitID) || [];
206
+ const entityListener = dataUnitSearchListeners.find(currentListener => currentListener.entity === entityName);
207
+ if (!entityListener) {
208
+ this._searchListenersByDataUnit.set(dataUnitID, [...dataUnitSearchListeners, { entity: entityName, listener }]);
209
+ }
210
+ else {
211
+ for (const type of Object.keys(listener)) {
212
+ if (type in entityListener.listener) {
213
+ const listenerFunctionIsEquals = ((_a = entityListener.listener[type]) === null || _a === void 0 ? void 0 : _a.toString()) === listener[type].toString();
214
+ if (listenerFunctionIsEquals)
215
+ continue;
216
+ entityListener.listener[type] = listener[type];
217
+ }
218
+ }
219
+ }
220
+ return () => {
221
+ const newListeners = dataUnitSearchListeners.filter(currentListener => currentListener.entity !== entityName);
222
+ if (!newListeners.length) {
223
+ this._searchListenersByDataUnit.delete(dataUnitID);
224
+ return;
225
+ }
226
+ this._searchListenersByDataUnit.set(dataUnitID, newListeners);
227
+ };
228
+ }
229
+ applySearchListener(listenerType, entityName, argument, criteria, searchOptions) {
230
+ var _a;
231
+ const dataUnitId = searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.dataUnitId;
232
+ if (!dataUnitId)
233
+ return;
234
+ const entityListener = (_a = this._searchListenersByDataUnit.get(dataUnitId)) === null || _a === void 0 ? void 0 : _a.find(({ entity }) => entity === entityName);
235
+ if (!entityListener)
236
+ return;
237
+ const { listener } = entityListener;
238
+ if (!(listenerType in listener))
239
+ return;
240
+ return listener[listenerType]({ argument, criteria, searchOptions });
241
+ }
242
+ async loadPresentationConfig(entityName) {
243
+ var _a, _b;
244
+ let payload = buildLoadConfig(entityName);
245
+ const response = await DataFetcher.get().callServiceBroker("SystemUtilsSP.getConf", JSON.stringify(payload));
246
+ return (_b = (_a = response === null || response === void 0 ? void 0 : response.config) === null || _a === void 0 ? void 0 : _a.lastUsedMode) !== null && _b !== void 0 ? _b : 'list';
247
+ }
248
+ async savePresentationConfig(entityName, lastUsedMode) {
249
+ let payload = buildSaveConfig(entityName, lastUsedMode);
250
+ await DataFetcher.get().callServiceBroker("SystemUtilsSP.saveConf", JSON.stringify(payload));
251
+ }
252
+ async loadPesquisaGridConfig(entityName) {
253
+ const payload = buildLoadGridConfigPayload(entityName);
254
+ const response = await DataFetcher.get().callServiceBroker("GridConfig.getGridConfigFromJson", JSON.stringify(payload));
255
+ return parseGridConfig(response);
256
+ }
257
+ async savePesquisaGridConfig(entityName, columns) {
258
+ const payload = buildSaveGridConfigPayload(entityName, columns);
259
+ await DataFetcher.get().callServiceBroker("GridConfig.saveGridConfigFromJSON", JSON.stringify(payload));
260
+ }
261
+ async loadTree(entityName, argument, criteria, searchOptions) {
262
+ const requestBody = this.buildLoadTreeRequestBody(entityName, argument, criteria, searchOptions);
263
+ const response = await DataFetcher.get().callServiceBroker("Pesquisa.getStructuredData", JSON.stringify(requestBody));
264
+ return parseLegacyTree(response);
265
+ }
266
+ buildLoadTreeRequestBody(entityName, argument, criteria, searchOptions) {
267
+ var _a, _b, _c;
268
+ const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
269
+ console.log("criteria: ", criteria);
270
+ const incomeSearchOptions = (_a = listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) !== null && _a !== void 0 ? _a : searchOptions;
271
+ const rootEntity = incomeSearchOptions === null || incomeSearchOptions === void 0 ? void 0 : incomeSearchOptions.rootEntity;
272
+ const codeFieldName = incomeSearchOptions === null || incomeSearchOptions === void 0 ? void 0 : incomeSearchOptions.codeFieldName;
273
+ const expression = (_b = listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) === null || _b === void 0 ? void 0 : _b.expression;
274
+ const params = (_c = listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) === null || _c === void 0 ? void 0 : _c.params;
275
+ const instancia = {
276
+ 'nome': entityName,
277
+ 'nomeInstanciaLocal': rootEntity,
278
+ 'codeFieldName': codeFieldName,
279
+ };
280
+ if (expression) {
281
+ instancia['criterioLiteral'] = {
282
+ 'expressao': {
283
+ '$': expression,
284
+ },
285
+ 'parametro': params,
286
+ };
287
+ }
288
+ return {
289
+ 'instancia': instancia,
290
+ };
291
+ }
292
+ }
293
+ function buildLoadGridConfigPayload(entityName) {
294
+ return {
295
+ 'gridConfig': {
296
+ 'configName': `GrdCfgHtml5:grdcfg.dynaform.pesquisa.${entityName}`,
297
+ },
298
+ };
299
+ }
300
+ function buildSaveGridConfigPayload(entityName, columns) {
301
+ const field = {};
302
+ columns === null || columns === void 0 ? void 0 : columns.forEach((col, index) => field[`field${index}`] = col);
303
+ return {
304
+ 'gridConfig': {
305
+ 'compactMode': true,
306
+ 'configName': `GrdCfgHtml5:grdcfg.dynaform.pesquisa.${entityName}`,
307
+ field,
308
+ },
309
+ };
310
+ }
311
+ function buildLoadConfig(entityName) {
312
+ return {
313
+ 'config': {
314
+ 'chave': `PesquisaContent:${entityName}`,
315
+ 'tipo': 'T',
316
+ },
317
+ };
318
+ }
319
+ function buildSaveConfig(entityName, lastUsedMode) {
320
+ return {
321
+ 'config': {
322
+ lastUsedMode,
323
+ 'chave': `PesquisaContent:${entityName}`,
324
+ 'tipo': 'T',
325
+ }
326
+ };
327
+ }
328
+ function convertParamType(dataType) {
329
+ //Alerta: Cuidado pra não contaminar o DataType com a implementação
330
+ //atual da pesquisa... em geral, somente inteiros,
331
+ //data (com ou sem hora) e string são realmente relevantes
332
+ switch (dataType) {
333
+ case DataType.NUMBER:
334
+ return "I";
335
+ case DataType.DATE:
336
+ return "D";
337
+ default:
338
+ return "S";
339
+ }
340
+ }
341
+ var SearchListenerType;
342
+ (function (SearchListenerType) {
343
+ SearchListenerType["beforeSearch"] = "beforeSearch";
344
+ })(SearchListenerType || (SearchListenerType = {}));
345
+
1
346
  var PresentationMode;
2
347
  (function (PresentationMode) {
3
348
  PresentationMode["PRIMARY"] = "primary";
@@ -44,4 +389,4 @@ var SaveErrorsEnum;
44
389
  SaveErrorsEnum["DESCRIPTION_CANNOT_BE_CHANGED"] = "DESCRIPTION_CANNOT_BE_CHANGED";
45
390
  })(SaveErrorsEnum || (SaveErrorsEnum = {}));
46
391
 
47
- export { DataExporterOption as D, PresentationMode as P, SaveErrorsEnum as S, DataExporterType as a, DataExporterFormat as b };
392
+ export { DataExporterOption as D, PresentationMode as P, SaveErrorsEnum as S, PesquisaFetcher as a, DataExporterType as b, DataExporterFormat as c, buildGridMetadata as d };
@@ -1,12 +1,14 @@
1
1
  import { C as ConfigStorage } from './ConfigStorage.js';
2
2
  import { ObjectUtils, StringUtils } from '@sankhyalabs/core';
3
3
  import { F as FormConfigFetcher } from './form-config-fetcher.js';
4
+ import { c as TAB_NAMES } from './constants.js';
4
5
 
5
6
  class SnkFormConfigManager {
6
- constructor(configName, resourceID, onConfigChange) {
7
+ constructor(configName, resourceID, onConfigChange, dataUnit) {
7
8
  this._resourceID = resourceID;
8
9
  this._configName = configName;
9
10
  this._onConfigChange = onConfigChange;
11
+ this._dataUnit = dataUnit;
10
12
  }
11
13
  addFormLegacyConfig(legacyConfigName) {
12
14
  if (this._configName) {
@@ -17,6 +19,7 @@ class SnkFormConfigManager {
17
19
  return new Promise(resolve => {
18
20
  ConfigStorage.loadFormConfig(this._configName, this._resourceID)
19
21
  .then((config) => {
22
+ config = this.buildFormMetadataUITabs(config);
20
23
  this.setConfig(config);
21
24
  resolve(config);
22
25
  })
@@ -25,6 +28,10 @@ class SnkFormConfigManager {
25
28
  });
26
29
  });
27
30
  }
31
+ getEmptyConfig() {
32
+ const config = this.buildFormMetadataUITabs({ fields: [], emptyConfig: true }, true);
33
+ return config;
34
+ }
28
35
  saveConfig(config) {
29
36
  const configToSave = ObjectUtils.copy(config);
30
37
  return new Promise(accept => {
@@ -68,28 +75,41 @@ class SnkFormConfigManager {
68
75
  }
69
76
  return updatingCardConfig;
70
77
  }
71
- getFieldsList(dataUnit, descriptionFilter) {
78
+ hasConfig(config) {
79
+ var _a;
80
+ const currentConfig = config !== null && config !== void 0 ? config : this._config;
81
+ if (currentConfig && ((_a = currentConfig.fields) === null || _a === void 0 ? void 0 : _a.length)) {
82
+ return true;
83
+ }
84
+ return false;
85
+ }
86
+ getFieldsList(descriptionFilter, forceEmptyConfig = false) {
72
87
  var _a;
73
88
  const fields = (_a = this._config) === null || _a === void 0 ? void 0 : _a.fields;
74
- if (fields != undefined && fields.length > 0) {
75
- return fields.map(({ label, name, readOnly, visible, required }) => {
89
+ const hasConfig = this.hasConfig();
90
+ if (hasConfig && !forceEmptyConfig) {
91
+ return fields.map(({ label, name, readOnly, visible, required, tab, group }) => {
92
+ var _a;
76
93
  if (label == undefined) {
77
- const currentField = dataUnit.getField(name);
78
- return Object.assign(Object.assign({}, currentField), { name: name !== null && name !== void 0 ? name : currentField.name, readOnly: readOnly !== null && readOnly !== void 0 ? readOnly : currentField.readOnly, visible: visible !== null && visible !== void 0 ? visible : currentField.visible, required: required !== null && required !== void 0 ? required : currentField.required });
94
+ const currentField = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getField(name);
95
+ if (!currentField)
96
+ return;
97
+ return Object.assign(Object.assign({}, currentField), { name: name !== null && name !== void 0 ? name : currentField.name, readOnly: readOnly !== null && readOnly !== void 0 ? readOnly : currentField.readOnly, visible: visible !== null && visible !== void 0 ? visible : currentField.visible, required: required !== null && required !== void 0 ? required : currentField.required, tab: tab, group: group });
79
98
  }
80
- return { name, label, readOnly, visible, required };
99
+ return { name, label, readOnly, visible, required, tab, group };
81
100
  })
82
101
  .filter(field => this.isFieldVisible(field, descriptionFilter));
83
102
  }
84
- if (dataUnit != undefined) {
85
- return dataUnit.metadata.fields
86
- .filter(field => this.isFieldVisible(field, descriptionFilter))
87
- .map(({ label, name, readOnly }) => { return { label, name, readOnly }; });
103
+ if (!this._dataUnit) {
104
+ return [];
88
105
  }
89
- return [];
106
+ const filteredFields = this._dataUnit.metadata.fields
107
+ .filter(field => this.isFieldVisible(field, descriptionFilter))
108
+ .map(({ label, name, readOnly, visible, required, properties }) => ({ label, name, readOnly, visible, required, tab: properties === null || properties === void 0 ? void 0 : properties.UITabName }));
109
+ return filteredFields;
90
110
  }
91
111
  isFieldVisible(field, descriptionFilter) {
92
- if (field.visible === false) {
112
+ if (field === undefined || field.visible === false) {
93
113
  return false;
94
114
  }
95
115
  if (descriptionFilter == undefined) {
@@ -99,8 +119,8 @@ class SnkFormConfigManager {
99
119
  const normalizedFilter = StringUtils.replaceAccentuatedCharsLower(descriptionFilter.toLocaleLowerCase());
100
120
  return normalizedText.includes(normalizedFilter);
101
121
  }
102
- getFormConfig(dataUnit, ignoreReadOnlyFormFields) {
103
- let fields = this.getFieldsList(dataUnit);
122
+ getFormConfig(dataUnit, ignoreReadOnlyFormFields, forceEmptyConfig = false) {
123
+ let fields = this.getFieldsList(undefined, forceEmptyConfig);
104
124
  if (ignoreReadOnlyFormFields) {
105
125
  fields = fields.filter(field => {
106
126
  if (dataUnit) {
@@ -153,6 +173,44 @@ class SnkFormConfigManager {
153
173
  async fetchDefaultConfig() {
154
174
  return this.getFormConfigFetcher().fetchDefaultConfig(this._configName, this._resourceID);
155
175
  }
176
+ parseObjectList(object) {
177
+ if (!object) {
178
+ return [];
179
+ }
180
+ return Array.isArray(object) ? object : [object];
181
+ }
182
+ buildFormMetadataUITabs(config, forceEmptyConfig = false) {
183
+ var _a;
184
+ const hasConfig = this.hasConfig(config);
185
+ if (!forceEmptyConfig && (!this._dataUnit || hasConfig)) {
186
+ return config;
187
+ }
188
+ config = this.getFormConfig(this._dataUnit, false, true);
189
+ config.tabs = this.parseObjectList(config.tabs);
190
+ config.emptyConfig = false;
191
+ config.defaultConfiguration = true;
192
+ const fields = this._dataUnit.metadata.fields;
193
+ for (const currentField of fields) {
194
+ const field = config.fields.find(field => field.name === currentField.name);
195
+ const uiTabName = (_a = currentField.properties) === null || _a === void 0 ? void 0 : _a.UITabName;
196
+ if (!uiTabName || uiTabName === TAB_NAMES.main) {
197
+ continue;
198
+ }
199
+ const haveTab = config.tabs.some((tab) => tab.label === uiTabName);
200
+ if (!haveTab) {
201
+ config.tabs.push({
202
+ label: uiTabName,
203
+ name: uiTabName,
204
+ order: 0,
205
+ visible: true,
206
+ });
207
+ }
208
+ if (field) {
209
+ field.tab = uiTabName;
210
+ }
211
+ }
212
+ return config;
213
+ }
156
214
  }
157
215
 
158
216
  export { SnkFormConfigManager as S };
@@ -8,7 +8,7 @@ const snkDataUnitMessages = {
8
8
  },
9
9
  cancelInfo: {
10
10
  clone: "Duplicação descartada!",
11
- insert: "A inclusão descartada!",
11
+ insert: "A inclusão foi descartada!",
12
12
  update: "A edição foi descartada!"
13
13
  },
14
14
  confirm: {
@@ -122,7 +122,7 @@ const snkExporterMessages = {
122
122
  emailSenderOptStep_subtitle: "Primeiro, escolha o formato do arquivo",
123
123
  emailSenderOptStep_lblFormat: "Formato:",
124
124
  emailSenderOptStep_formatPDF: "PDF (.pdf)",
125
- emailSenderOptStep_formatXLSX: "Planilha (.xlsx)",
125
+ emailSenderOptStep_formatXLS: "Planilha (.xls)",
126
126
  emailSenderOptStep_export: "Exportar:",
127
127
  emailSenderOptStep_allData: "Toda a grade",
128
128
  emailSenderOptStep_currentPage: "Somente a página atual",
@@ -245,7 +245,11 @@ const snkConfiguratorMessages = {
245
245
  };
246
246
 
247
247
  const snkGridMessages = {
248
- findColumn: "Busca de colunas"
248
+ findColumn: "Busca de colunas",
249
+ cancelConfirmation: {
250
+ title: "Aviso",
251
+ message: "As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de cancelar?</b>",
252
+ }
249
253
  };
250
254
  const snkGridConfigMessages = {
251
255
  gridConfiguration: "Configuração da Grade",
@@ -235,6 +235,21 @@ function applyFilter(records, dataUnit, filters) {
235
235
  }
236
236
  return records.filter(filterFunction);
237
237
  }
238
+ function buildLoadDataResponse(recordsIn, dataUnit, request) {
239
+ let records = recordsIn ? [...recordsIn] : [];
240
+ records = applyFilter(records, dataUnit, request.filters);
241
+ records = applySorting(records, dataUnit, request.sort);
242
+ const { offset, limit } = request;
243
+ const paginationInfoBuilderParams = {
244
+ recordsLength: records.length,
245
+ offset,
246
+ recordsPerPage: limit,
247
+ };
248
+ return Promise.resolve({
249
+ records: getPagesByRecords(records, offset, limit),
250
+ paginationInfo: dataUnit.pageSize ? buildPaginationInfo(paginationInfoBuilderParams) : undefined,
251
+ });
252
+ }
238
253
  function applySorting(records, dataUnit, sorting) {
239
254
  if (sorting == undefined || sorting.length == 0) {
240
255
  return records;
@@ -245,18 +260,28 @@ function applySorting(records, dataUnit, sorting) {
245
260
  }
246
261
  return records.sort(sortingFunction);
247
262
  }
248
- function buildPaginationInfo(records, offset = 0, limit = 0) {
249
- if (records === undefined) {
250
- return undefined;
263
+ function hasValidLimitAndOffset(offset, limit) {
264
+ return offset >= 0 && limit >= 0;
265
+ }
266
+ function getPagesByRecords(records, offset = 0, limit = 0) {
267
+ if (!records || !records.length || !hasValidLimitAndOffset(offset, limit))
268
+ return [];
269
+ if (limit === 0 && offset === 0)
270
+ return records;
271
+ return records.slice(offset, offset + limit);
272
+ }
273
+ function buildPaginationInfo({ recordsLength = 0, offset = 0, recordsPerPage = 0 }) {
274
+ if (!recordsLength) {
275
+ return { currentPage: 0, firstRecord: 0, lastRecord: 0, total: 0, hasMore: false };
251
276
  }
252
- const total = (records === null || records === void 0 ? void 0 : records.length) || 0;
253
- const lastRecord = Math.min(offset + limit, total);
277
+ const lastRecordIndex = offset + recordsPerPage;
278
+ const lastRecord = lastRecordIndex ? Math.min(lastRecordIndex, recordsLength) : recordsLength;
254
279
  return {
255
- currentPage: limit === 0 ? 0 : Math.ceil(offset / limit),
256
- firstRecord: offset,
280
+ currentPage: recordsPerPage === 0 ? 0 : Math.ceil(offset / recordsPerPage),
281
+ firstRecord: offset + 1,
257
282
  lastRecord: lastRecord,
258
- total: total,
259
- hasMore: !!(total - lastRecord),
283
+ total: recordsLength,
284
+ hasMore: lastRecord < recordsLength,
260
285
  };
261
286
  }
262
287
 
@@ -342,9 +367,7 @@ class InMemoryLoader {
342
367
  return StringUtils.generateUUID();
343
368
  }
344
369
  inMemoryLoader(dataUnit, request, recordsIn) {
345
- let records = applyFilter(recordsIn, dataUnit, request.filters);
346
- records = applySorting(records, dataUnit, request.sort);
347
- return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
370
+ return buildLoadDataResponse(recordsIn, dataUnit, request);
348
371
  }
349
372
  metadaLoader() {
350
373
  return Promise.resolve(this._metadata);
@@ -424,12 +447,19 @@ class DatasetStrategy {
424
447
  const records = this.processRecords(dataUnit, fields, responseRecords);
425
448
  const loadingInProgress = pagerId != undefined;
426
449
  const count = loadingInfo.count + records.length;
450
+ const isInsertingNewRecord = dataUnit.hasNewRecord();
427
451
  const needReload = !loadingInProgress && localSorting.length > 0;
452
+ /**
453
+ * Caso precise recarregar dados, porém está no meio de uma inserção, os dados não devem recarregados instantaneamente,
454
+ * Mas sim, sinalizar que o dataUnit está aguardando para der recarregado.
455
+ */
456
+ if (needReload && isInsertingNewRecord) {
457
+ dataUnit.setWaitingToReload(true);
458
+ }
428
459
  return Promise.resolve({
429
460
  records,
430
461
  loadingInfo: Object.assign(Object.assign({}, loadingInfo), { pagerId,
431
- loadingInProgress, total: loadingInProgress ? undefined : count, count,
432
- needReload })
462
+ loadingInProgress, total: loadingInProgress ? undefined : count, count, needReload: needReload && !isInsertingNewRecord })
433
463
  });
434
464
  }
435
465
  catch (error) {
@@ -682,7 +712,7 @@ class DataUnitDataLoader {
682
712
  }
683
713
  const count = loadingInfo.count;
684
714
  if (loadingInfo.loadingInProgress) {
685
- dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count }));
715
+ dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count, loadingInProgress: true }));
686
716
  return;
687
717
  }
688
718
  if (loadingInfo.needReload) {
@@ -690,7 +720,7 @@ class DataUnitDataLoader {
690
720
  dataUnit.gotoPage(0);
691
721
  return;
692
722
  }
693
- dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count }));
723
+ dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count, loadingInProgress: false }));
694
724
  }
695
725
  static registryLoading(dataUnit, loadingInfo) {
696
726
  if (loadingInfo == undefined) {
@@ -1052,4 +1082,4 @@ class DataUnitFetcher {
1052
1082
  }
1053
1083
  }
1054
1084
 
1055
- export { DataUnitFetcher as D, InMemoryLoader as I, PreloadManager as P, applyFilter as a, applySorting as b, buildPaginationInfo as c, DatasetStrategy as d, getRecordValue as g };
1085
+ export { DataUnitFetcher as D, InMemoryLoader as I, PreloadManager as P, DatasetStrategy as a, buildLoadDataResponse as b, getRecordValue as g };