@sankhyalabs/sankhyablocks 8.16.0-dev.10 → 8.16.0-dev.100

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 (422) hide show
  1. package/dist/cjs/ClientSideExporterProvider-5fff8770.js +372 -0
  2. package/dist/cjs/{ConfigStorage-a343e418.js → ConfigStorage-df09fb78.js} +2 -2
  3. package/dist/cjs/{DataFetcher-313debd8.js → DataFetcher-1afdb18e.js} +231 -79
  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/ISave-c76e2c51.js +397 -0
  7. package/dist/cjs/{SnkFormConfigManager-166cbd1f.js → SnkFormConfigManager-45a8d7b7.js} +75 -17
  8. package/dist/cjs/{SnkMessageBuilder-897ffd08.js → SnkMessageBuilder-bae64d0d.js} +6 -2
  9. package/dist/cjs/{auth-fetcher-54f5ff9d.js → auth-fetcher-1687ac0a.js} +1 -1
  10. package/dist/cjs/{constants-35ddd366.js → constants-77c1b8bd.js} +10 -0
  11. package/dist/cjs/{dataunit-fetcher-688d3f05.js → dataunit-fetcher-4a5d491a.js} +220 -173
  12. package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
  13. package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-40d3f752.js} +56 -2
  14. package/dist/cjs/{index-1dfc7a6e.js → index-e3e39724.js} +5 -0
  15. package/dist/cjs/index-f9e81701.js +16 -32
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +155 -0
  18. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  19. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_7.cjs.entry.js} +201 -44
  20. package/dist/cjs/snk-application.cjs.entry.js +468 -74
  21. package/dist/cjs/snk-attach.cjs.entry.js +49 -37
  22. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +401 -13
  23. package/dist/cjs/snk-configurator.cjs.entry.js +10 -3
  24. package/dist/cjs/snk-crud.cjs.entry.js +24 -23
  25. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -30
  26. package/dist/cjs/{snk-data-unit-8fa7917a.js → snk-data-unit-4b510d6e.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 +17 -17
  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 +1438 -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-search.cjs.entry.js +18 -5
  37. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  38. package/dist/cjs/snk-grid.cjs.entry.js +96 -28
  39. package/dist/cjs/{snk-guides-viewer-9c682034.js → snk-guides-viewer-e8e5f7b4.js} +27 -17
  40. package/dist/cjs/snk-guides-viewer.cjs.entry.js +11 -12
  41. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  42. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  43. package/dist/cjs/snk-pesquisa.cjs.entry.js +110 -31
  44. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  45. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  46. package/dist/cjs/snk-simple-crud.cjs.entry.js +116 -113
  47. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  48. package/dist/cjs/snk-taskbar.cjs.entry.js +72 -40
  49. package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-7e19882d.js} +1 -1
  50. package/dist/collection/collection-manifest.json +16 -31
  51. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  52. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  53. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  54. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +5 -2
  55. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  56. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  57. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  58. package/dist/collection/components/snk-application/search-strategy/exec-prepared-search-plus.js +107 -0
  59. package/dist/collection/components/snk-application/snk-application.css +36 -0
  60. package/dist/collection/components/snk-application/snk-application.js +447 -67
  61. package/dist/collection/components/snk-attach/snk-attach.js +25 -16
  62. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  63. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -5
  64. package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
  65. package/dist/collection/components/snk-configurator/snk-configurator.js +26 -1
  66. package/dist/collection/components/snk-crud/snk-crud.js +129 -14
  67. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +10 -1
  68. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +27 -3
  69. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  70. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +52 -6
  71. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  72. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +8 -8
  73. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  74. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +41 -10
  75. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +18 -6
  76. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  77. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +10 -9
  78. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  79. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  80. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  81. package/dist/collection/components/snk-data-unit/snk-data-unit.js +53 -29
  82. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
  83. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  84. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  85. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
  86. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +18 -5
  87. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  88. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  89. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  90. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  91. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +10 -4
  92. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  93. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  94. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -6
  95. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
  96. package/dist/collection/components/snk-form/snk-form.js +2 -2
  97. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
  98. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  99. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  100. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.js +5 -3
  101. package/dist/collection/components/snk-grid/snk-grid.css +8 -0
  102. package/dist/collection/components/snk-grid/snk-grid.js +199 -13
  103. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  104. package/dist/collection/components/snk-grid-config/snk-grid-config.js +2 -0
  105. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +3 -0
  106. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +73 -0
  107. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +78 -0
  108. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +57 -0
  109. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  110. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  111. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  112. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  113. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  114. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  115. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +174 -32
  116. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  117. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  118. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  119. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +199 -34
  120. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  121. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  122. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  123. package/dist/collection/components/snk-taskbar/snk-taskbar.js +112 -38
  124. package/dist/collection/lib/@types/index.js +5 -0
  125. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
  126. package/dist/collection/lib/configs/LayoutFormConfig.js +25 -0
  127. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -103
  128. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -32
  129. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +44 -24
  130. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  131. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  132. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  133. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  134. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +23 -14
  135. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  136. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +59 -5
  137. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  138. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +133 -9
  139. package/dist/collection/lib/index.js +1 -0
  140. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  141. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  142. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  143. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  144. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  145. package/dist/collection/lib/utils/constants.js +10 -0
  146. package/dist/collection/sw.js +46 -0
  147. package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +176 -33
  148. package/dist/components/DataFetcher.js +232 -80
  149. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  150. package/dist/components/ISave.js +391 -1
  151. package/dist/components/SnkFormConfigManager.js +73 -15
  152. package/dist/components/SnkMessageBuilder.js +6 -2
  153. package/dist/components/constants.js +11 -1
  154. package/dist/components/dataunit-fetcher.js +238 -188
  155. package/dist/components/form-config-fetcher.js +55 -1
  156. package/dist/components/index.d.ts +5 -0
  157. package/dist/components/index.js +5 -0
  158. package/dist/components/pesquisa-grid.d.ts +11 -0
  159. package/dist/components/pesquisa-grid.js +6 -0
  160. package/dist/components/pesquisa-grid2.js +102 -0
  161. package/dist/components/pesquisa-tree.d.ts +11 -0
  162. package/dist/components/pesquisa-tree.js +6 -0
  163. package/dist/components/pesquisa-tree2.js +91 -0
  164. package/dist/components/snk-actions-button2.js +44 -40
  165. package/dist/components/snk-application2.js +491 -72
  166. package/dist/components/snk-attach2.js +61 -55
  167. package/dist/components/snk-config-options2.js +6 -4
  168. package/dist/components/snk-configurator2.js +23 -3
  169. package/dist/components/snk-crud.js +100 -75
  170. package/dist/components/snk-data-exporter2.js +37 -23
  171. package/dist/components/snk-data-unit2.js +56 -69
  172. package/dist/components/snk-detail-view2.js +136 -109
  173. package/dist/components/snk-exporter-email-sender2.js +1 -1
  174. package/dist/components/snk-filter-bar2.js +68 -34
  175. package/dist/components/snk-filter-binary-select.js +1 -1
  176. package/dist/components/snk-filter-checkbox-list.js +1 -1
  177. package/dist/components/snk-filter-item2.js +10 -4
  178. package/dist/components/snk-filter-modal.js +4 -2
  179. package/dist/components/snk-filter-number.js +1 -1
  180. package/dist/components/snk-filter-search.js +18 -5
  181. package/dist/components/snk-filter-text.js +2 -1
  182. package/dist/components/snk-form-config2.js +35 -10
  183. package/dist/components/snk-form.js +2 -2
  184. package/dist/components/snk-grid-config2.js +3 -1
  185. package/dist/components/snk-grid2.js +92 -18
  186. package/dist/components/snk-layout-form-config.d.ts +11 -0
  187. package/dist/components/snk-layout-form-config.js +6 -0
  188. package/dist/components/snk-layout-form-config2.js +73 -0
  189. package/dist/components/snk-personalized-filter-editor.js +4 -4
  190. package/dist/components/snk-pesquisa2.js +125 -33
  191. package/dist/components/snk-print-selector.js +1 -1
  192. package/dist/components/snk-simple-bar2.js +1 -1
  193. package/dist/components/snk-simple-crud2.js +112 -111
  194. package/dist/components/snk-simple-form-config.d.ts +11 -0
  195. package/dist/components/snk-simple-form-config.js +6 -0
  196. package/dist/components/snk-simple-form-config2.js +121 -0
  197. package/dist/components/snk-tab-config2.js +1 -1
  198. package/dist/components/snk-taskbar2.js +72 -40
  199. package/dist/components/snk-view-representation.d.ts +11 -0
  200. package/dist/components/snk-view-representation.js +6 -0
  201. package/dist/components/snk-view-representation2.js +41 -0
  202. package/dist/components/teste-pesquisa.js +13 -1
  203. package/dist/esm/ClientSideExporterProvider-da9935ed.js +361 -0
  204. package/dist/esm/{ConfigStorage-3806514e.js → ConfigStorage-71e6766f.js} +2 -2
  205. package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-88e56266.js} +232 -80
  206. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  207. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  208. package/dist/esm/ISave-5efafc97.js +394 -0
  209. package/dist/esm/{SnkFormConfigManager-31b24066.js → SnkFormConfigManager-be490a33.js} +75 -17
  210. package/dist/esm/{SnkMessageBuilder-571462fb.js → SnkMessageBuilder-6fff4a4c.js} +6 -2
  211. package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-3510520e.js} +1 -1
  212. package/dist/esm/{constants-8457af36.js → constants-7db1128a.js} +11 -1
  213. package/dist/esm/{dataunit-fetcher-264191b2.js → dataunit-fetcher-1d02ecfc.js} +222 -172
  214. package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
  215. package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-fa208a6c.js} +56 -2
  216. package/dist/esm/index-a7d3d3f1.js +16 -32
  217. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  218. package/dist/esm/loader.js +1 -1
  219. package/dist/esm/pesquisa-grid_2.entry.js +150 -0
  220. package/dist/esm/sankhyablocks.js +1 -1
  221. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_7.entry.js} +201 -47
  222. package/dist/esm/snk-application.entry.js +469 -75
  223. package/dist/esm/snk-attach.entry.js +50 -38
  224. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +401 -15
  225. package/dist/esm/snk-configurator.entry.js +10 -3
  226. package/dist/esm/snk-crud.entry.js +24 -23
  227. package/dist/esm/snk-data-exporter.entry.js +38 -30
  228. package/dist/esm/{snk-data-unit-f5cbe64b.js → snk-data-unit-7d0ce406.js} +55 -31
  229. package/dist/esm/snk-data-unit.entry.js +5 -5
  230. package/dist/esm/snk-detail-view.entry.js +17 -17
  231. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  232. package/dist/esm/snk-field-config.entry.js +1 -1
  233. package/dist/esm/snk-filter-bar_4.entry.js +1431 -0
  234. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  235. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  236. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  237. package/dist/esm/snk-filter-number.entry.js +1 -1
  238. package/dist/esm/snk-filter-search.entry.js +18 -5
  239. package/dist/esm/snk-filter-text.entry.js +2 -1
  240. package/dist/esm/snk-grid.entry.js +91 -23
  241. package/dist/esm/{snk-guides-viewer-8f6960a2.js → snk-guides-viewer-c44b3839.js} +27 -17
  242. package/dist/esm/snk-guides-viewer.entry.js +11 -12
  243. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  244. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  245. package/dist/esm/snk-pesquisa.entry.js +110 -31
  246. package/dist/esm/snk-print-selector.entry.js +1 -1
  247. package/dist/esm/snk-simple-bar.entry.js +1 -1
  248. package/dist/esm/snk-simple-crud.entry.js +102 -99
  249. package/dist/esm/snk-tab-config.entry.js +1 -1
  250. package/dist/esm/snk-taskbar.entry.js +73 -41
  251. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-d2353c64.js} +1 -1
  252. package/dist/sankhyablocks/p-00796b12.entry.js +1 -0
  253. package/dist/sankhyablocks/{p-52920496.js → p-03b68a74.js} +1 -1
  254. package/dist/sankhyablocks/p-092078e3.entry.js +1 -0
  255. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  256. package/dist/sankhyablocks/{p-47db7e88.entry.js → p-165cde3b.entry.js} +1 -1
  257. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  258. package/dist/sankhyablocks/p-17425c72.js +1 -0
  259. package/dist/sankhyablocks/p-23736d75.js +1 -0
  260. package/dist/sankhyablocks/p-35f85998.entry.js +1 -0
  261. package/dist/sankhyablocks/{p-95df461f.entry.js → p-3749dffb.entry.js} +1 -1
  262. package/dist/sankhyablocks/p-38e3ffda.entry.js +1 -0
  263. package/dist/sankhyablocks/p-3b190fb1.entry.js +1 -0
  264. package/dist/sankhyablocks/{p-7e7a7473.js → p-3fc82614.js} +1 -1
  265. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  266. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  267. package/dist/sankhyablocks/{p-2c68b3ae.entry.js → p-490b75b5.entry.js} +1 -1
  268. package/dist/sankhyablocks/p-4ad638be.js +1 -0
  269. package/dist/sankhyablocks/p-5503e89f.entry.js +1 -0
  270. package/dist/sankhyablocks/p-5cc206bb.entry.js +1 -0
  271. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  272. package/dist/sankhyablocks/p-5ffa0493.entry.js +1 -0
  273. package/dist/sankhyablocks/p-60137b7a.entry.js +1 -0
  274. package/dist/sankhyablocks/p-601b252b.js +26 -0
  275. package/dist/sankhyablocks/p-6293ded9.entry.js +11 -0
  276. package/dist/sankhyablocks/p-6dd38d7b.js +6 -0
  277. package/dist/sankhyablocks/p-6e0a5314.js +1 -0
  278. package/dist/sankhyablocks/{p-913a9979.js → p-73285a8a.js} +1 -1
  279. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  280. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  281. package/dist/sankhyablocks/p-893b9483.entry.js +1 -0
  282. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  283. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  284. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  285. package/dist/sankhyablocks/p-90684a75.entry.js +1 -0
  286. package/dist/sankhyablocks/{p-b0ef4383.js → p-9261d8a0.js} +1 -1
  287. package/dist/sankhyablocks/p-92778d5a.js +1 -0
  288. package/dist/sankhyablocks/p-a8be1d67.js +60 -0
  289. package/dist/sankhyablocks/p-a962a3e4.entry.js +1 -0
  290. package/dist/sankhyablocks/p-b2a2a83e.entry.js +1 -0
  291. package/dist/sankhyablocks/p-b6200d32.entry.js +1 -0
  292. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-c0eb761b.entry.js} +1 -1
  293. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  294. package/dist/sankhyablocks/p-d9fdb018.entry.js +1 -0
  295. package/dist/sankhyablocks/p-ebdb9d89.js +1 -0
  296. package/dist/sankhyablocks/p-ef6f0a1b.entry.js +1 -0
  297. package/dist/sankhyablocks/p-fbba7e3d.js +1 -0
  298. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  299. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  300. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  301. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  302. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  303. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  304. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  305. package/dist/types/components/snk-application/search-strategy/exec-prepared-search-plus.d.ts +5 -0
  306. package/dist/types/components/snk-application/snk-application.d.ts +55 -16
  307. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  308. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  309. package/dist/types/components/snk-crud/snk-crud.d.ts +25 -0
  310. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +5 -0
  311. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +10 -0
  312. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  313. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  314. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +9 -1
  315. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  316. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  317. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  318. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  319. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +2 -0
  320. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +5 -3
  321. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  322. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  323. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  324. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  325. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  326. package/dist/types/components/snk-grid/snk-grid.d.ts +33 -0
  327. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +1 -0
  328. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
  329. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -0
  330. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  331. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  332. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  333. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +35 -1
  334. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +31 -3
  335. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  336. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  337. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
  338. package/dist/types/components.d.ts +473 -16
  339. package/dist/types/lib/@types/index.d.ts +4 -0
  340. package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
  341. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  342. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  343. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  344. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  345. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  346. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  347. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  348. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  349. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  350. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  351. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  352. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +14 -2
  353. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  354. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +21 -2
  355. package/dist/types/lib/index.d.ts +1 -0
  356. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  357. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  358. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  359. package/dist/types/lib/utils/constants.d.ts +8 -0
  360. package/package.json +4 -3
  361. package/react/components.d.ts +5 -0
  362. package/react/components.js +5 -0
  363. package/react/components.js.map +1 -1
  364. package/dist/cjs/IExporterProvider-597949f9.js +0 -230
  365. package/dist/cjs/ISave-e91b70a7.js +0 -9
  366. package/dist/cjs/pesquisa-fetcher-680e198f.js +0 -166
  367. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  368. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  369. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  370. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  371. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  372. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  373. package/dist/components/pesquisa-fetcher.js +0 -164
  374. package/dist/esm/IExporterProvider-63a188b6.js +0 -221
  375. package/dist/esm/ISave-d8c8bc59.js +0 -9
  376. package/dist/esm/pesquisa-fetcher-03c8f919.js +0 -164
  377. package/dist/esm/snk-config-options.entry.js +0 -235
  378. package/dist/esm/snk-filter-bar.entry.js +0 -710
  379. package/dist/esm/snk-filter-item.entry.js +0 -308
  380. package/dist/esm/snk-filter-list.entry.js +0 -148
  381. package/dist/esm/snk-filter-modal.entry.js +0 -245
  382. package/dist/esm/snk-form.entry.js +0 -139
  383. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  384. package/dist/sankhyablocks/p-17def7cd.js +0 -1
  385. package/dist/sankhyablocks/p-21749402.js +0 -1
  386. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  387. package/dist/sankhyablocks/p-28ee0972.js +0 -1
  388. package/dist/sankhyablocks/p-2a408684.js +0 -1
  389. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  390. package/dist/sankhyablocks/p-3a212712.js +0 -1
  391. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  392. package/dist/sankhyablocks/p-450c60e4.entry.js +0 -1
  393. package/dist/sankhyablocks/p-4e5e1313.entry.js +0 -1
  394. package/dist/sankhyablocks/p-62ba211a.entry.js +0 -1
  395. package/dist/sankhyablocks/p-6bb2f3e9.entry.js +0 -1
  396. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  397. package/dist/sankhyablocks/p-7505da04.entry.js +0 -1
  398. package/dist/sankhyablocks/p-7619bdb1.entry.js +0 -11
  399. package/dist/sankhyablocks/p-7663f597.entry.js +0 -1
  400. package/dist/sankhyablocks/p-7a85fd49.entry.js +0 -1
  401. package/dist/sankhyablocks/p-7ef9c55c.js +0 -1
  402. package/dist/sankhyablocks/p-80042dc6.entry.js +0 -1
  403. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  404. package/dist/sankhyablocks/p-8c59edd7.entry.js +0 -1
  405. package/dist/sankhyablocks/p-9606509c.entry.js +0 -1
  406. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  407. package/dist/sankhyablocks/p-9863d682.js +0 -1
  408. package/dist/sankhyablocks/p-ae93d46a.entry.js +0 -1
  409. package/dist/sankhyablocks/p-af8efd95.js +0 -6
  410. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  411. package/dist/sankhyablocks/p-c2495304.js +0 -1
  412. package/dist/sankhyablocks/p-c8622597.entry.js +0 -1
  413. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  414. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  415. package/dist/sankhyablocks/p-d6e26ea8.entry.js +0 -1
  416. package/dist/sankhyablocks/p-dc7c9047.js +0 -1
  417. package/dist/sankhyablocks/p-df5451c7.js +0 -26
  418. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  419. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  420. package/dist/sankhyablocks/p-f4450320.entry.js +0 -1
  421. package/dist/sankhyablocks/p-fe79f83a.js +0 -60
  422. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
@@ -1,4 +1,4 @@
1
- import { ApplicationContext, ElementIDUtils, OverflowDirection, OverflowWatcher, StringUtils, OVERFLOWED_CLASS_NAME } from '@sankhyalabs/core';
1
+ import { ApplicationContext, ElementIDUtils, OverflowDirection, OverflowWatcher, StringUtils, OVERFLOWED_CLASS_NAME, LockManager, LockManagerOperation, SilentException } from '@sankhyalabs/core';
2
2
  import { h, Host } from '@stencil/core';
3
3
  import { AuthorizationConfig } from '../snk-configurator/AuthorizationConfig';
4
4
  import { AuthorizationElements, buildCustomButton, buildElem, TaskbarElement, VisibleWhenForbidden, } from './elements/taskbar-elements';
@@ -29,8 +29,10 @@ export class SnkTaskbar {
29
29
  this.onSaveEvent = (action) => {
30
30
  switch (action.type) {
31
31
  case DUAction.FIELD_INVALIDATED:
32
+ case DUAction.INVALIDATE_CLEAN:
32
33
  case DUAction.DATA_SAVED:
33
34
  case DUAction.SAVING_ERROR:
35
+ case DUAction.SAVING_CANCELED:
34
36
  this._isWaitingForSave = false;
35
37
  break;
36
38
  case DUAction.SAVING_DATA:
@@ -67,6 +69,16 @@ export class SnkTaskbar {
67
69
  this.getCustomElements(true);
68
70
  }
69
71
  }
72
+ handleTaskbarSaveLocker() {
73
+ if (this._isWaitingForSave !== true) {
74
+ this._isWaitingForSave = true;
75
+ }
76
+ }
77
+ handleTaskbarSaveUnlocker() {
78
+ if (this._isWaitingForSave === true) {
79
+ this._isWaitingForSave = false;
80
+ }
81
+ }
70
82
  hasToSearchCustomElements(event) {
71
83
  return this.customSlotId === event.detail && !this._slotContainer;
72
84
  }
@@ -85,6 +97,14 @@ export class SnkTaskbar {
85
97
  this._hasToUpdateOverFlow = true;
86
98
  }
87
99
  }
100
+ observeIsWaitingForSave(newValue, oldValue) {
101
+ if (newValue == true && oldValue == false) {
102
+ this.taskbarSaveLocker.emit();
103
+ }
104
+ if (newValue == false && oldValue == true) {
105
+ this.taskbarSaveUnlocker.emit();
106
+ }
107
+ }
88
108
  // Internal methods
89
109
  elementsFromString(strButtons) {
90
110
  const elements = [];
@@ -129,42 +149,50 @@ export class SnkTaskbar {
129
149
  return key ? (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage(key, {}) : "";
130
150
  }
131
151
  elementClick(elem) {
132
- if (this.dataUnit) {
133
- switch (elem) {
134
- case TaskbarElement.PREVIOUS:
135
- this.dataUnit.previousRecord();
136
- break;
137
- case TaskbarElement.NEXT:
138
- this.dataUnit.nextRecord();
139
- break;
140
- case TaskbarElement.REFRESH:
141
- this.dataUnit.loadData();
142
- break;
143
- case TaskbarElement.CLONE:
144
- this.dataUnit.copySelected();
145
- break;
146
- case TaskbarElement.REMOVE:
147
- this.dataUnit.removeSelectedRecords();
148
- break;
149
- case TaskbarElement.INSERT:
150
- this.dataUnit.addRecord();
151
- break;
152
- case TaskbarElement.CANCEL:
153
- this.dataUnit.cancelEdition();
154
- break;
155
- case TaskbarElement.SAVE:
156
- if (!this._isWaitingForSave) {
157
- this._isWaitingForSave = true;
158
- this.dataUnit.saveData()
159
- .finally(() => {
160
- this._isWaitingForSave = false;
161
- });
162
- }
163
- break;
152
+ LockManager.whenResolve(this._element, LockManagerOperation.TASKBAR_CLICK).then(() => {
153
+ if (this.dataUnit) {
154
+ switch (elem) {
155
+ case TaskbarElement.PREVIOUS:
156
+ this.dataUnit.previousRecord();
157
+ break;
158
+ case TaskbarElement.NEXT:
159
+ this.dataUnit.nextRecord();
160
+ break;
161
+ case TaskbarElement.REFRESH:
162
+ this.dataUnit.loadData();
163
+ break;
164
+ case TaskbarElement.CLONE:
165
+ this.dataUnit.copySelected();
166
+ break;
167
+ case TaskbarElement.REMOVE:
168
+ this.dataUnit.removeSelectedRecords();
169
+ break;
170
+ case TaskbarElement.INSERT:
171
+ this.dataUnit.addRecord();
172
+ break;
173
+ case TaskbarElement.CANCEL:
174
+ this.dataUnit.cancelEdition();
175
+ break;
176
+ case TaskbarElement.SAVE:
177
+ if (!this._isWaitingForSave) {
178
+ this._isWaitingForSave = true;
179
+ this.dataUnit.saveData().catch((err) => {
180
+ if (err instanceof SilentException) {
181
+ return;
182
+ }
183
+ else {
184
+ throw err;
185
+ }
186
+ }).finally(() => {
187
+ this._isWaitingForSave = false;
188
+ });
189
+ }
190
+ break;
191
+ }
164
192
  }
165
- }
166
- if (this.isEnabled(elem))
167
- this.actionClick.emit(elem);
193
+ if (this.isEnabled(elem))
194
+ this.actionClick.emit(elem);
195
+ });
168
196
  }
169
197
  isEnabled(elem) {
170
198
  if (!this.isAllowed(elem)) {
@@ -368,9 +396,10 @@ export class SnkTaskbar {
368
396
  this._lastWidth = this._element.getBoundingClientRect().width;
369
397
  }
370
398
  disconnectedCallback() {
371
- var _a;
399
+ var _a, _b;
400
+ (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.unsubscribe(this.onSaveEvent);
372
401
  this.unlinkAllCustomElements();
373
- (_a = this._overFlowWatcher) === null || _a === void 0 ? void 0 : _a.destroy();
402
+ (_b = this._overFlowWatcher) === null || _b === void 0 ? void 0 : _b.destroy();
374
403
  }
375
404
  unlinkAllCustomElements() {
376
405
  var _a;
@@ -719,6 +748,36 @@ export class SnkTaskbar {
719
748
  "resolved": "string",
720
749
  "references": {}
721
750
  }
751
+ }, {
752
+ "method": "taskbarSaveLocker",
753
+ "name": "taskbarSaveLocker",
754
+ "bubbles": true,
755
+ "cancelable": true,
756
+ "composed": true,
757
+ "docs": {
758
+ "tags": [],
759
+ "text": "Emitido sempre que um save \u00E9 iniciado pela taskbar."
760
+ },
761
+ "complexType": {
762
+ "original": "void",
763
+ "resolved": "void",
764
+ "references": {}
765
+ }
766
+ }, {
767
+ "method": "taskbarSaveUnlocker",
768
+ "name": "taskbarSaveUnlocker",
769
+ "bubbles": true,
770
+ "cancelable": true,
771
+ "composed": true,
772
+ "docs": {
773
+ "tags": [],
774
+ "text": "Emitido sempre que o ocorre alguma action que libera o save."
775
+ },
776
+ "complexType": {
777
+ "original": "void",
778
+ "resolved": "void",
779
+ "references": {}
780
+ }
722
781
  }];
723
782
  }
724
783
  static get elementRef() { return "_element"; }
@@ -732,6 +791,9 @@ export class SnkTaskbar {
732
791
  }, {
733
792
  "propName": "_lastWidth",
734
793
  "methodName": "observeLastWidth"
794
+ }, {
795
+ "propName": "_isWaitingForSave",
796
+ "methodName": "observeIsWaitingForSave"
735
797
  }];
736
798
  }
737
799
  static get listeners() {
@@ -741,6 +803,18 @@ export class SnkTaskbar {
741
803
  "target": "window",
742
804
  "capture": false,
743
805
  "passive": false
806
+ }, {
807
+ "name": "taskbarSaveLocker",
808
+ "method": "handleTaskbarSaveLocker",
809
+ "target": "window",
810
+ "capture": false,
811
+ "passive": false
812
+ }, {
813
+ "name": "taskbarSaveUnlocker",
814
+ "method": "handleTaskbarSaveUnlocker",
815
+ "target": "window",
816
+ "capture": false,
817
+ "passive": false
744
818
  }];
745
819
  }
746
820
  }
@@ -35,3 +35,8 @@ export var DataExporterType;
35
35
  DataExporterType["EXPORT_PDF_TO_EMAIL"] = "PDF";
36
36
  DataExporterType["EXPORT_XLS_TO_EMAIL"] = "XLS";
37
37
  })(DataExporterType || (DataExporterType = {}));
38
+ export var ExporterStrategy;
39
+ (function (ExporterStrategy) {
40
+ ExporterStrategy["SERVER_SIDE"] = "ServerSideExporterStrategy";
41
+ ExporterStrategy["CLIENT_SIDE"] = "ClientSideExporterStrategy";
42
+ })(ExporterStrategy || (ExporterStrategy = {}));
@@ -1,4 +1,4 @@
1
- import { NumberUtils, ObjectUtils } from "@sankhyalabs/core";
1
+ import { NumberUtils, ObjectUtils, StringUtils } from "@sankhyalabs/core";
2
2
  export default class RmPrecisionCustomValueFormatter {
3
3
  setGrid(grid) {
4
4
  if (this._grid) {
@@ -8,7 +8,7 @@ export default class RmPrecisionCustomValueFormatter {
8
8
  this.refreshSelectedRows();
9
9
  }
10
10
  setDataState(dataState) {
11
- if (ObjectUtils.objectToString(dataState) === ObjectUtils.objectToString(this._dataState)) {
11
+ if (this._dataState && ObjectUtils.equals(dataState === null || dataState === void 0 ? void 0 : dataState.metadataByRow, this._dataState.metadataByRow)) {
12
12
  return;
13
13
  }
14
14
  this._dataState = dataState;
@@ -16,7 +16,7 @@ export default class RmPrecisionCustomValueFormatter {
16
16
  }
17
17
  format(currentValue, column, recordId) {
18
18
  var _a;
19
- if (!currentValue) {
19
+ if (StringUtils.isEmpty(currentValue)) {
20
20
  return currentValue;
21
21
  }
22
22
  const rowMetadata = (_a = this._dataState) === null || _a === void 0 ? void 0 : _a.metadataByRow.get(recordId);
@@ -0,0 +1,25 @@
1
+ export class LayoutFormConfig {
2
+ constructor() {
3
+ this._config = null;
4
+ this.listeners = [];
5
+ }
6
+ static getInstance() {
7
+ if (!LayoutFormConfig.instance) {
8
+ LayoutFormConfig.instance = new LayoutFormConfig();
9
+ }
10
+ return LayoutFormConfig.instance;
11
+ }
12
+ get config() {
13
+ return this._config;
14
+ }
15
+ setConfig(newConfig) {
16
+ this._config = newConfig;
17
+ this.notifyListeners();
18
+ }
19
+ onConfigChange(listener) {
20
+ this.listeners.push(listener);
21
+ }
22
+ notifyListeners() {
23
+ this.listeners.forEach(listener => listener(this._config));
24
+ }
25
+ }
@@ -1,119 +1,28 @@
1
- import { ChangeOperation, DataType, DataUnit, DateUtils, StringUtils, } from '@sankhyalabs/core';
2
- import { applyFilter, applySorting, buildPaginationInfo } from './dataUnitInMemoryUtils';
1
+ import { DataUnitInMemoryLoader } from '@sankhyalabs/core';
3
2
  export default class InMemoryLoader {
4
3
  constructor(metadata, records, config) {
5
- this.metadata = metadata;
6
- this.records = records;
7
- this._dataUnit = new DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
8
- this._dataUnit.pageSize = 150;
9
- this._dataUnit.metadataLoader = () => this.metadaLoader();
10
- this._dataUnit.dataLoader = (dataUnit, request) => this.inMemoryLoader(dataUnit, request, this.getRecordsToLoad());
11
- this._dataUnit.saveLoader = (_dataUnit, changes) => this.saveLoader(_dataUnit, changes);
12
- this._dataUnit.removeLoader = (_dataUnit, recordIds) => this.removeLoader(_dataUnit, recordIds);
13
- this.dataUnit.loadMetadata().then(() => {
14
- if ((config === null || config === void 0 ? void 0 : config.autoLoad) !== false) {
15
- this.dataUnit.loadData();
16
- }
17
- });
18
- }
19
- getRecordsToLoad() {
20
- if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
21
- this._initialRecords = this.dataUnit.records;
22
- }
23
- const addedRecords = this.dataUnit.getAddedRecords();
24
- if (addedRecords) {
25
- return [...this._initialRecords, ...addedRecords];
26
- }
27
- return this._initialRecords;
4
+ this._dataUnitInMemoryLoader = new DataUnitInMemoryLoader(metadata, records, config);
28
5
  }
29
6
  get dataUnit() {
30
- return this._dataUnit;
7
+ return this._dataUnitInMemoryLoader.dataUnit;
31
8
  }
32
9
  get records() {
33
- return this.dataUnit.records;
34
- }
35
- static getConvertedValue(descriptor, strValue) {
36
- if (descriptor.dataType === DataType.BOOLEAN) {
37
- return strValue === "S";
38
- }
39
- if (descriptor.dataType === DataType.NUMBER) {
40
- return Number(strValue);
41
- }
42
- if (descriptor.dataType === DataType.DATE) {
43
- return DateUtils.strToDate(strValue, true);
44
- }
45
- if (descriptor.dataType === DataType.OBJECT) {
46
- return JSON.parse(strValue);
47
- }
48
- return strValue;
10
+ return this._dataUnitInMemoryLoader.records;
49
11
  }
50
12
  set records(records) {
51
- const columns = this._metadata ? new Map(this._metadata.fields.map(descriptor => [descriptor.name, descriptor])) : undefined;
52
- const newRecords = records === null || records === void 0 ? void 0 : records.map(record => {
53
- if (!record["__record__id__"]) {
54
- record["__record__id__"] = this.generateUniqueId();
55
- }
56
- if (columns != undefined) {
57
- for (const name in record) {
58
- const value = record[name];
59
- if (typeof value === "string" && columns.has(name)) {
60
- record[name] = InMemoryLoader.getConvertedValue(columns.get(name), value);
61
- }
62
- }
63
- }
64
- return record;
65
- });
66
- this._initialRecords = newRecords;
67
- if (this._dataUnit) {
68
- //Isso força o refresh internamente no datunit
69
- this._dataUnit.loadData();
70
- }
13
+ this._dataUnitInMemoryLoader.records = records;
71
14
  }
72
15
  get metadata() {
73
- return this._metadata;
16
+ return this._dataUnitInMemoryLoader.metadata;
74
17
  }
75
18
  set metadata(metadata) {
76
- this._metadata = metadata;
77
- if (this._dataUnit) {
78
- this._dataUnit.metadata = this._metadata;
79
- }
80
- }
81
- generateUniqueId() {
82
- return StringUtils.generateUUID();
83
- }
84
- inMemoryLoader(dataUnit, request, recordsIn) {
85
- let records = applyFilter(recordsIn, dataUnit, request.filters);
86
- records = applySorting(records, dataUnit, request.sort);
87
- return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
88
- }
89
- metadaLoader() {
90
- return Promise.resolve(this._metadata);
91
- }
92
- saveLoader(_dataUnit, changes) {
93
- return new Promise((resolve) => {
94
- let dataUnitRecords = [];
95
- changes.forEach(change => {
96
- let { record, updatingFields, operation } = change;
97
- const changedRecord = Object.assign(Object.assign({}, record), updatingFields);
98
- if (operation === ChangeOperation.INSERT ||
99
- operation === ChangeOperation.COPY) {
100
- changedRecord["__old__id__"] = record["__record__id__"];
101
- changedRecord["__record__id__"] = this.generateUniqueId();
102
- this.records.push(changedRecord);
103
- }
104
- else {
105
- const recordIndex = this.records.findIndex(r => r["__record__id__"] == changedRecord["__record__id__"]);
106
- this.records[recordIndex] = changedRecord;
107
- }
108
- dataUnitRecords.push(changedRecord);
109
- });
110
- resolve(dataUnitRecords);
111
- });
19
+ this._dataUnitInMemoryLoader.metadata = metadata;
112
20
  }
113
21
  removeLoader(_dataUnit, recordIds) {
114
- return new Promise((resolve) => {
115
- resolve(recordIds);
116
- });
22
+ return this._dataUnitInMemoryLoader.removeLoader(_dataUnit, recordIds);
23
+ }
24
+ static getConvertedValue(descriptor, strValue, dateFormat) {
25
+ return DataUnitInMemoryLoader.getConvertedValue(descriptor, strValue, dateFormat);
117
26
  }
118
27
  }
119
- InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = "InMemoryDataUnit";
28
+ InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = DataUnitInMemoryLoader.IN_MEMORY_DATA_UNIT_NAME;
@@ -1,37 +1,16 @@
1
- import { ColumnFilterManager } from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
2
- import PreloadManager from '../http/data-fetcher/fetchers/data-unit/cache/PreloadManager';
1
+ import { DataUnitLoaderUtils, } from '@sankhyalabs/core';
3
2
  export function applyFilter(records, dataUnit, filters) {
4
- const columnFilters = ColumnFilterManager.getColumnFilters(filters, "");
5
- if (!(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.size)) {
6
- return records;
7
- }
8
- const filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
9
- if (filterFunction == undefined) {
10
- return records;
11
- }
12
- return records.filter(filterFunction);
3
+ return DataUnitLoaderUtils.applyFilter(records, dataUnit, filters);
4
+ }
5
+ export function buildLoadDataResponse(recordsIn, dataUnit, request) {
6
+ return DataUnitLoaderUtils.buildLoadDataResponse(recordsIn, dataUnit, request);
13
7
  }
14
8
  export function applySorting(records, dataUnit, sorting) {
15
- if (sorting == undefined || sorting.length == 0) {
16
- return records;
17
- }
18
- const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
19
- if (sortingFunction == undefined) {
20
- return records;
21
- }
22
- return records.sort(sortingFunction);
9
+ return DataUnitLoaderUtils.applySorting(records, dataUnit, sorting);
10
+ }
11
+ export function getPagesByRecords(records, offset = 0, limit = 0) {
12
+ return DataUnitLoaderUtils.getPagesByRecords(records, offset, limit);
23
13
  }
24
- export function buildPaginationInfo(records, offset = 0, limit = 0) {
25
- if (records === undefined) {
26
- return undefined;
27
- }
28
- const total = (records === null || records === void 0 ? void 0 : records.length) || 0;
29
- const lastRecord = Math.min(offset + limit, total);
30
- return {
31
- currentPage: limit === 0 ? 0 : Math.ceil(offset / limit),
32
- firstRecord: offset,
33
- lastRecord: lastRecord,
34
- total: total,
35
- hasMore: !!(total - lastRecord),
36
- };
14
+ export function buildPaginationInfo({ recordsLength = 0, offset = 0, recordsPerPage = 0, }) {
15
+ return DataUnitLoaderUtils.buildPaginationInfo({ recordsLength, offset, recordsPerPage });
37
16
  }
@@ -6,7 +6,7 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
6
6
  function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
7
7
  function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
8
8
  };
9
- import { ApplicationContext, ErrorException, ObjectUtils, StringUtils, WarningException } from '@sankhyalabs/core';
9
+ import { ApplicationContext, ErrorException, ObjectUtils, ServiceCanceledException, StringUtils, WarningException } from '@sankhyalabs/core';
10
10
  import { batchRequests } from 'graphql-request';
11
11
  import UrlUtils from "../../../lib/utils/urlutils";
12
12
  import { PrintUtils } from '../../utils/PrintUtils';
@@ -61,7 +61,13 @@ export class DataFetcher {
61
61
  if (error.length > 0) { //As informações do erro vem no primeiro indice de um array
62
62
  const errorInfo = error[POSITION_ERROR_INFO];
63
63
  const errorMessage = (errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.message) ? errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.message : "Não há mensagem de erro";
64
- const errorLevel = ((_a = errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.extensions) === null || _a === void 0 ? void 0 : _a.level) ? errorInfo.extensions.level : "ERROR";
64
+ /*
65
+ No HTML5, todos os erros de Troubleshooting são considerados alerta,
66
+ pois a comparação errorLevel == ServiceProxyConstants.LEVEL.ERROR sempre é falsa
67
+ Motivo: - errorLevel é uma string "ERROR" por exemplo
68
+ - ServiceProxyConstants.LEVEL.ERROR é um numero 1, por exemplo
69
+ */
70
+ const errorLevel = ((_a = errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.extensions) === null || _a === void 0 ? void 0 : _a.level) ? "WARNING" : "ERROR";
65
71
  const errorCode = ((_b = errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.extensions) === null || _b === void 0 ? void 0 : _b.code) ? errorInfo.extensions.code : "";
66
72
  switch (errorLevel) {
67
73
  case "WARNING":
@@ -83,7 +89,13 @@ export class DataFetcher {
83
89
  let tsErrorCode, tsErrorLevel;
84
90
  if (tsError) {
85
91
  tsErrorCode = tsError.tsErrorCode;
86
- tsErrorLevel = tsError.tsErrorLevel;
92
+ /*
93
+ No HTML5, todos os erros de Troubleshooting são considerados alerta,
94
+ pois a comparação errorLevel == ServiceProxyConstants.LEVEL.ERROR sempre é falsa
95
+ Motivo: - errorLevel é uma string "ERROR" por exemplo
96
+ - ServiceProxyConstants.LEVEL.ERROR é um numero 1, por exemplo
97
+ */
98
+ tsErrorLevel = "WARNING";
87
99
  }
88
100
  if (tsErrorLevel === "WARNING") {
89
101
  return new WarningException(title, statusMessage, tsErrorCode);
@@ -266,7 +278,8 @@ export class DataFetcher {
266
278
  }
267
279
  payloadJson['requestBody']['clientEventList'].clientEvent.push({ $: key });
268
280
  }
269
- DataFetcher.requestListener.forEach(listener => listener.onRequestStart({ url: url, requestBody: payload }));
281
+ const requestId = StringUtils.generateUUID();
282
+ DataFetcher.requestListener.forEach(listener => listener.onRequestStart({ url: url, requestBody: payload, requestId }));
270
283
  http.open("POST", url, true);
271
284
  http.withCredentials = true;
272
285
  http.send(ObjectUtils.objectToString(payloadJson));
@@ -306,7 +319,7 @@ export class DataFetcher {
306
319
  else if (http.readyState == 4 && http.status != 200) {
307
320
  reject(new ErrorException(`Erro ao executar serviço: ${serviceName}`, http.responseText));
308
321
  }
309
- DataFetcher.requestListener.forEach(listener => listener.onRequestEnd({ url: url, requestBody: payload }));
322
+ DataFetcher.requestListener.forEach(listener => listener.onRequestEnd({ url: url, requestBody: payload, requestId }));
310
323
  };
311
324
  });
312
325
  }
@@ -352,6 +365,7 @@ export class DataFetcher {
352
365
  }
353
366
  }
354
367
  async executePendingRequest(watingRequestsById) {
368
+ var _a, _b;
355
369
  const requestsBatch = [];
356
370
  let quietMode = true;
357
371
  watingRequestsById.forEach((waitingReq) => {
@@ -362,31 +376,36 @@ export class DataFetcher {
362
376
  const response = await this.fecthGraphQL(requestsBatch, quietMode);
363
377
  const { data: dataResponse, errors: errorsResponse, extensions } = response;
364
378
  //Reject promises with errors from query
365
- errorsResponse.forEach((errorResponse) => {
366
- Object.entries(errorResponse).forEach(async ([key, val]) => {
367
- const waitingRequest = watingRequestsById.get(val.request.variables[val.index].queryID);
379
+ for (const errorResponse of errorsResponse) {
380
+ const values = Object.values(errorResponse);
381
+ for (const value of values) {
382
+ const waitingRequest = watingRequestsById.get(value.request.variables[value.index].queryID);
368
383
  const hasClientEvent = await this.proccesGraphQLClientEvents(extensions, waitingRequest.request, waitingRequest.resolve, waitingRequest.reject);
369
- Promise.race([
384
+ const data = await Promise.race([
370
385
  waitingRequest.promise,
371
386
  new Promise((resolve) => {
372
387
  resolve(false);
373
388
  })
374
- ]).then((data) => {
375
- var _a;
376
- if (!hasClientEvent || data === false) {
377
- (((_a = watingRequestsById.get(val.request.variables[val.index].queryID)) === null || _a === void 0 ? void 0 : _a.reject) || Promise.reject)(new ErrorException("Falha detectada", val.message));
389
+ ]);
390
+ if (!hasClientEvent || data === false) {
391
+ if (Object.keys(errorResponse[0].extensions).includes("SERVICE_CANCELED") || Object.keys(extensions).includes("isServiceCancelled")) {
392
+ (((_a = watingRequestsById.get(value.request.variables[value.index].queryID)) === null || _a === void 0 ? void 0 : _a.reject) || Promise.reject)(new ServiceCanceledException("Service canceled", value.message));
378
393
  }
379
- });
380
- });
381
- });
394
+ else {
395
+ (((_b = watingRequestsById.get(value.request.variables[value.index].queryID)) === null || _b === void 0 ? void 0 : _b.reject) || Promise.reject)(new ErrorException("Falha detectada", value.message));
396
+ }
397
+ }
398
+ }
399
+ }
382
400
  //Resolve promises with data from query
383
- dataResponse.forEach((data) => {
384
- Object.entries(data).forEach(async ([key, val]) => {
401
+ for (const data of dataResponse) {
402
+ const entries = Object.entries(data);
403
+ for (const [key, val] of entries) {
385
404
  const waitingRequest = watingRequestsById.get(key);
386
405
  await this.proccesGraphQLClientEvents(extensions, waitingRequest.request, waitingRequest.resolve, waitingRequest.reject);
387
406
  ((waitingRequest === null || waitingRequest === void 0 ? void 0 : waitingRequest.resolve) || Promise.resolve)(val);
388
- });
389
- });
407
+ }
408
+ }
390
409
  }
391
410
  buildGraphQlURL(quietMode) {
392
411
  const urlParams = UrlUtils.getQueryParams(location.search);
@@ -405,9 +424,10 @@ export class DataFetcher {
405
424
  const errorsResponse = [];
406
425
  const responseExtensions = [];
407
426
  const url = this.buildGraphQlURL(quietMode);
408
- DataFetcher.requestListener.forEach(listener => listener.onRequestStart({ url, requestBody: request }));
427
+ const requestId = StringUtils.generateUUID();
428
+ DataFetcher.requestListener.forEach(listener => listener.onRequestStart({ url, requestBody: request, requestId }));
409
429
  try {
410
- const response = await batchRequests(url, request, { 'Content-Type': `application/json; charset=${window['SERVER_ENCODING'] || 'UTF-8'}` });
430
+ const response = await batchRequests(url, request, { 'Content-Type': `application/json; charset=UTF-8` });
411
431
  response.forEach((resItem, index) => {
412
432
  var _a;
413
433
  if (((_a = resItem === null || resItem === void 0 ? void 0 : resItem.errors) === null || _a === void 0 ? void 0 : _a.length) > 0) {
@@ -439,11 +459,11 @@ export class DataFetcher {
439
459
  });
440
460
  }
441
461
  else {
442
- DataFetcher.requestListener.forEach(listener => listener.onRequestEnd({ url, requestBody: request }));
462
+ DataFetcher.requestListener.forEach(listener => listener.onRequestEnd({ url, requestBody: request, requestId }));
443
463
  throw new ErrorException("Falha de comunicação", err.message);
444
464
  }
445
465
  }
446
- DataFetcher.requestListener.forEach(listener => listener.onRequestEnd({ url, requestBody: request }));
466
+ DataFetcher.requestListener.forEach(listener => listener.onRequestEnd({ url, requestBody: request, requestId }));
447
467
  return { data: dataResponse, errors: errorsResponse, extensions: responseExtensions };
448
468
  }
449
469
  isHttpError(err) {
@@ -6,21 +6,23 @@ const SERVICE = {
6
6
  download: "AnexoSistemaSP.baixar",
7
7
  };
8
8
  export class AnexoSistemaFetcher {
9
- constructor(entityName, registerKey, dataUnitName) {
9
+ constructor(entityName, dataUnitName) {
10
10
  var _a;
11
11
  this.entityName = entityName;
12
- this.registerKey = registerKey;
13
12
  this.dataUnitName = dataUnitName;
14
13
  this.validateFields = (fields) => {
15
14
  if (!!fields.LINK && !!fields.NOMEARQUIVO)
16
15
  throw new Error(SaveErrorsEnum.LINK_AND_FILE_AT_THE_SAME_TIME);
17
16
  if (!fields.LINK && !fields.NOMEARQUIVO)
18
17
  throw new Error(SaveErrorsEnum.ANY_LINK_OR_FILE_FILLED);
19
- if (!this.registerKey)
18
+ if (!this._registerKey)
20
19
  throw new Error('Register key can not be null');
21
20
  };
22
21
  this.resourceID = (window["resourceID"] || ((_a = window["workspace"]) === null || _a === void 0 ? void 0 : _a.resourceID));
23
22
  }
23
+ set registerKey(registerKey) {
24
+ this._registerKey = registerKey;
25
+ }
24
26
  async save(change) {
25
27
  var _a, _b;
26
28
  let { updatingFields: fields } = change;
@@ -39,7 +41,7 @@ export class AnexoSistemaFetcher {
39
41
  nameAttach: fileInfo === null || fileInfo === void 0 ? void 0 : fileInfo.name,
40
42
  link: fields.LINK,
41
43
  nameEntity: this.entityName,
42
- pkEntity: this.registerKey,
44
+ pkEntity: this._registerKey,
43
45
  typeAcess: fields.TIPOACESSO,
44
46
  typeApres: fields.TIPOAPRES,
45
47
  }
@@ -79,7 +81,7 @@ export class AnexoSistemaFetcher {
79
81
  nameAttach: fileInfo === null || fileInfo === void 0 ? void 0 : fileInfo.name,
80
82
  link: fields.LINK,
81
83
  nameEntity: this.entityName,
82
- pkEntity: this.registerKey,
84
+ pkEntity: this._registerKey,
83
85
  typeAcess: fields.TIPOACESSO,
84
86
  typeApres: fields.TIPOAPRES,
85
87
  }