@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-11997.0 → 0.0.0-bugfix-dev-KB-99999.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. package/dist/cjs/{ConfigStorage-0e4275f5.js → ConfigStorage-8009ecb2.js} +20 -4
  2. package/dist/cjs/{DataFetcher-bd3d53a8.js → DataFetcher-ba94ed5b.js} +142 -102
  3. package/dist/cjs/{PersonalizedFilterUtils-1aeb625d.js → PersonalizedFilterUtils-0184ffbb.js} +11 -4
  4. package/dist/cjs/PreloadManager-84466da6.js +224 -0
  5. package/dist/cjs/{SnkFormConfigManager-5b485cd4.js → SnkFormConfigManager-7d850fbc.js} +23 -6
  6. package/dist/cjs/{SnkMessageBuilder-d0abb63d.js → SnkMessageBuilder-7293d0ad.js} +29 -8
  7. package/dist/cjs/{SnkMultiSelectionListDataSource-804ff4c7.js → SnkMultiSelectionListDataSource-ba5838c2.js} +15 -0
  8. package/dist/cjs/Sortable-fb1c4cbb.js +2853 -0
  9. package/dist/cjs/{auth-fetcher-1583fe43.js → auth-fetcher-c8467c07.js} +1 -1
  10. package/dist/cjs/{constants-d187e03e.js → constants-35ddd366.js} +4 -0
  11. package/dist/cjs/dataunit-fetcher-de65b9fc.js +725 -0
  12. package/dist/cjs/{taskbar-processor-bce3f499.js → field-search-f56aa7d6.js} +35 -0
  13. package/dist/cjs/{filter-item-type.enum-aa823a00.js → filter-item-type.enum-a7ffdaa6.js} +1 -0
  14. package/dist/cjs/filterNumberVariation-d65332da.js +7 -0
  15. package/dist/cjs/{form-config-fetcher-f6cb55e6.js → form-config-fetcher-df043d3d.js} +1 -1
  16. package/dist/cjs/{index-0e663819.js → index-0922807b.js} +1 -0
  17. package/dist/cjs/index-f9e81701.js +10 -6
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/cjs/{pesquisa-fetcher-3356b3df.js → pesquisa-fetcher-ef050a47.js} +1 -1
  20. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  21. package/dist/cjs/{snk-actions-button.cjs.entry.js → snk-actions-button_2.cjs.entry.js} +214 -91
  22. package/dist/cjs/snk-application.cjs.entry.js +474 -140
  23. package/dist/cjs/snk-attach.cjs.entry.js +27 -11
  24. package/dist/cjs/snk-config-options.cjs.entry.js +1 -1
  25. package/dist/cjs/snk-configurator.cjs.entry.js +17 -2
  26. package/dist/cjs/snk-crud.cjs.entry.js +127 -17
  27. package/dist/cjs/snk-custom-slot-elements.cjs.entry.js +20 -0
  28. package/dist/cjs/snk-data-exporter.cjs.entry.js +12 -11
  29. package/dist/cjs/{snk-data-unit-7cc1846d.js → snk-data-unit-1bc69073.js} +15 -5
  30. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  31. package/dist/cjs/snk-detail-view.cjs.entry.js +34 -14
  32. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-filter-advanced-mode_2.cjs.entry.js +2 -2
  34. package/dist/cjs/snk-filter-bar.cjs.entry.js +163 -17
  35. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  36. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +52 -0
  37. package/dist/cjs/snk-filter-detail.cjs.entry.js +9 -2
  38. package/dist/cjs/snk-filter-field-search_2.cjs.entry.js +2 -2
  39. package/dist/cjs/snk-filter-item.cjs.entry.js +39 -15
  40. package/dist/cjs/snk-filter-list.cjs.entry.js +1 -1
  41. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +9 -9
  42. package/dist/cjs/snk-filter-modal.cjs.entry.js +38 -7
  43. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +1 -1
  44. package/dist/cjs/snk-filter-number.cjs.entry.js +42 -3
  45. package/dist/cjs/snk-filter-period.cjs.entry.js +3 -3
  46. package/dist/cjs/snk-filter-search.cjs.entry.js +1 -1
  47. package/dist/cjs/snk-form-config.cjs.entry.js +16 -15
  48. package/dist/cjs/snk-form-view.cjs.entry.js +14 -0
  49. package/dist/cjs/snk-form.cjs.entry.js +6 -7
  50. package/dist/cjs/snk-grid-config.cjs.entry.js +6 -7
  51. package/dist/cjs/snk-grid.cjs.entry.js +131 -40
  52. package/dist/cjs/{snk-guides-viewer-5e22097d.js → snk-guides-viewer-7f9b6d94.js} +161 -22
  53. package/dist/cjs/snk-guides-viewer.cjs.entry.js +16 -13
  54. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +1 -1
  55. package/dist/cjs/snk-personalized-filter.cjs.entry.js +24 -13
  56. package/dist/cjs/snk-select-box.cjs.entry.js +1 -1
  57. package/dist/cjs/snk-simple-crud.cjs.entry.js +127 -103
  58. package/dist/cjs/snk-tab-config.cjs.entry.js +12 -11
  59. package/dist/cjs/snk-taskbar.cjs.entry.js +3 -3
  60. package/dist/cjs/{taskbar-elements-39949c7a.js → taskbar-elements-01b85b99.js} +4 -4
  61. package/dist/collection/collection-manifest.json +3 -1
  62. package/dist/collection/components/snk-actions-button/actions/executor/java.executor.js +2 -2
  63. package/dist/collection/components/snk-actions-button/actions/executor/javascript.executor.js +2 -2
  64. package/dist/collection/components/snk-actions-button/actions/executor/procedure.executor.js +2 -2
  65. package/dist/collection/components/snk-actions-button/clientEvent/index.js +81 -76
  66. package/dist/collection/components/snk-actions-button/snk-actions-button.css +4 -11
  67. package/dist/collection/components/snk-actions-button/snk-actions-button.js +2 -2
  68. package/dist/collection/components/snk-application/snk-application.js +485 -84
  69. package/dist/collection/components/snk-attach/snk-attach.css +6 -0
  70. package/dist/collection/components/snk-attach/snk-attach.js +15 -3
  71. package/dist/collection/components/snk-attach/structure/data-unit-builder.js +4 -1
  72. package/dist/collection/components/snk-configurator/snk-configurator.js +33 -1
  73. package/dist/collection/components/snk-crud/snk-crud.js +136 -10
  74. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +21 -1
  75. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +45 -0
  76. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +178 -22
  77. package/dist/collection/components/snk-custom-slot-elements/snk-custom-slot-elements.css +3 -0
  78. package/dist/collection/components/{snk-taskbar/snk-taskbar-custom-elements.js → snk-custom-slot-elements/snk-custom-slot-elements.js} +10 -10
  79. package/dist/collection/components/snk-data-exporter/snk-data-exporter.css +1 -9
  80. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +1 -1
  81. package/dist/collection/components/snk-data-unit/snk-data-unit.js +15 -12
  82. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +69 -2
  83. package/dist/collection/components/snk-filter-bar/filter-item/editors/enum/filterNumberVariation.js +5 -0
  84. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +95 -0
  85. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +93 -8
  86. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-period.js +2 -2
  87. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type.enum.js +1 -0
  88. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +7 -0
  89. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +38 -14
  90. package/dist/collection/components/snk-filter-bar/filter-list/snk-filter-list.js +1 -1
  91. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +87 -6
  92. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +4 -3
  93. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +5 -6
  94. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +218 -7
  95. package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
  96. package/dist/collection/components/snk-form/SnkFormConfigManager.js +22 -5
  97. package/dist/collection/components/snk-form/subcomponents/snk-form-config/snk-form-config.js +10 -8
  98. package/dist/collection/components/snk-form/subcomponents/snk-tab-config/snk-tab-config.js +10 -8
  99. package/dist/collection/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.js +11 -0
  100. package/dist/collection/components/snk-grid/snk-grid.css +7 -2
  101. package/dist/collection/components/snk-grid/snk-grid.js +166 -39
  102. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +32 -6
  103. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.js +13 -4
  104. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +8 -2
  105. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +115 -6
  106. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +6 -0
  107. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +310 -0
  108. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +3 -3
  109. package/dist/collection/components/snk-taskbar/snk-taskbar.css +0 -4
  110. package/dist/collection/components/snk-taskbar/snk-taskbar.js +1 -1
  111. package/dist/collection/components/snk-taskbar/subcomponents/field-search.js +31 -0
  112. package/dist/collection/lib/@types/index.js +1 -0
  113. package/dist/collection/lib/dataUnit/InMemoryLoader.js +74 -15
  114. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +61 -43
  115. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +118 -0
  116. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +80 -0
  117. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +139 -0
  118. package/dist/collection/lib/http/data-fetcher/fetchers/{dataunit-fetcher.js → data-unit/dataunit-fetcher.js} +49 -100
  119. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataResult.js +1 -0
  120. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataStrategy.js +1 -0
  121. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.js +1 -0
  122. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRecordField.js +1 -0
  123. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IResponseRecord.js +1 -0
  124. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DataUnitStrategy.js +68 -0
  125. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +162 -0
  126. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/index.js +3 -2
  127. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/personalized-reports-fetcher.js +3 -2
  128. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +14 -1
  129. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +3 -0
  130. package/dist/collection/lib/index.js +1 -1
  131. package/dist/collection/lib/message/SnkMessageBuilder.js +9 -3
  132. package/dist/collection/lib/message/resources/snk-application.msg.js +9 -0
  133. package/dist/collection/lib/message/resources/snk-crud.msg.js +1 -0
  134. package/dist/collection/lib/message/resources/snk-filter-bar.msg.js +5 -4
  135. package/dist/collection/lib/message/resources/snk-grid.msg.js +3 -1
  136. package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +4 -0
  137. package/dist/collection/lib/utils/constants.js +3 -0
  138. package/dist/collection/lib/utils/urlutils.js +10 -4
  139. package/dist/collection/lib/workspace/workspace.js +27 -0
  140. package/dist/components/ConfigStorage.js +17 -1
  141. package/dist/components/DataFetcher.js +101 -61
  142. package/dist/components/PersonalizedFilterUtils.js +10 -3
  143. package/dist/components/SnkFormConfigManager.js +22 -5
  144. package/dist/components/SnkMessageBuilder.js +29 -8
  145. package/dist/components/constants.js +4 -1
  146. package/dist/components/dataunit-fetcher.js +846 -100
  147. package/dist/components/{SnkMultiSelectionListDataSource.js → field-search.js} +44 -1
  148. package/dist/components/filter-item-type.enum.js +1 -0
  149. package/dist/components/filterNumberVariation.js +7 -0
  150. package/dist/components/index.d.ts +3 -1
  151. package/dist/components/index.js +3 -1
  152. package/dist/components/index2.js +1 -0
  153. package/dist/components/snk-actions-button2.js +91 -86
  154. package/dist/components/snk-application2.js +392 -55
  155. package/dist/components/snk-attach2.js +39 -19
  156. package/dist/components/snk-configurator2.js +18 -2
  157. package/dist/components/snk-crud.js +184 -70
  158. package/dist/components/snk-custom-slot-elements.d.ts +11 -0
  159. package/dist/components/snk-custom-slot-elements.js +35 -0
  160. package/dist/components/snk-data-exporter2.js +7 -5
  161. package/dist/components/snk-data-unit2.js +15 -5
  162. package/dist/components/snk-detail-view2.js +264 -96
  163. package/dist/components/snk-filter-bar2.js +164 -13
  164. package/dist/components/snk-filter-checkbox-list.d.ts +11 -0
  165. package/dist/components/snk-filter-checkbox-list.js +68 -0
  166. package/dist/components/snk-filter-detail2.js +7 -0
  167. package/dist/components/snk-filter-item2.js +38 -14
  168. package/dist/components/snk-filter-list.js +1 -1
  169. package/dist/components/snk-filter-modal-item2.js +4 -3
  170. package/dist/components/snk-filter-modal.js +40 -7
  171. package/dist/components/snk-filter-number.js +43 -2
  172. package/dist/components/snk-filter-period.js +2 -2
  173. package/dist/components/snk-form-config2.js +13 -11
  174. package/dist/components/snk-form-view2.js +15 -0
  175. package/dist/components/snk-grid2.js +166 -68
  176. package/dist/components/snk-personalized-filter2.js +18 -6
  177. package/dist/components/snk-simple-crud2.js +132 -104
  178. package/dist/components/snk-tab-config2.js +2203 -6233
  179. package/dist/components/snk-taskbar2.js +16 -10
  180. package/dist/components/taskbar-actions-button.d.ts +11 -0
  181. package/dist/components/taskbar-actions-button.js +6 -0
  182. package/dist/components/taskbar-actions-button2.js +140 -0
  183. package/dist/esm/{ConfigStorage-f359573c.js → ConfigStorage-1244b8b0.js} +20 -4
  184. package/dist/esm/{DataFetcher-8daff9ad.js → DataFetcher-aa159c5a.js} +101 -61
  185. package/dist/esm/{PersonalizedFilterUtils-75fb0106.js → PersonalizedFilterUtils-e2b38ef7.js} +11 -4
  186. package/dist/esm/PreloadManager-c1c2f2b4.js +222 -0
  187. package/dist/esm/{SnkFormConfigManager-35876bad.js → SnkFormConfigManager-9be0e7d4.js} +24 -7
  188. package/dist/esm/{SnkMessageBuilder-68c1c25a.js → SnkMessageBuilder-ca843d1b.js} +29 -8
  189. package/dist/esm/{SnkMultiSelectionListDataSource-892f37f9.js → SnkMultiSelectionListDataSource-44494b0e.js} +11 -0
  190. package/dist/esm/Sortable-83960219.js +2851 -0
  191. package/dist/esm/{auth-fetcher-299fed55.js → auth-fetcher-c05dc474.js} +1 -1
  192. package/dist/esm/{constants-3644f1b6.js → constants-8457af36.js} +4 -1
  193. package/dist/esm/dataunit-fetcher-e218c6d2.js +722 -0
  194. package/dist/esm/{taskbar-processor-94402e6e.js → field-search-efbe307f.js} +34 -1
  195. package/dist/esm/{filter-item-type.enum-5028ed3f.js → filter-item-type.enum-d45e026f.js} +1 -0
  196. package/dist/esm/filterNumberVariation-8cee02ea.js +7 -0
  197. package/dist/esm/{form-config-fetcher-8ef7be16.js → form-config-fetcher-36219cd3.js} +1 -1
  198. package/dist/esm/{index-1564817d.js → index-0ece87a6.js} +1 -0
  199. package/dist/esm/index-a7d3d3f1.js +10 -6
  200. package/dist/esm/loader.js +1 -1
  201. package/dist/{components/pesquisa-fetcher.js → esm/pesquisa-fetcher-dd3ca0a5.js} +1 -1
  202. package/dist/esm/sankhyablocks.js +1 -1
  203. package/dist/esm/{snk-actions-button.entry.js → snk-actions-button_2.entry.js} +215 -93
  204. package/dist/esm/snk-application.entry.js +475 -141
  205. package/dist/esm/snk-attach.entry.js +27 -11
  206. package/dist/esm/snk-config-options.entry.js +1 -1
  207. package/dist/esm/snk-configurator.entry.js +18 -3
  208. package/dist/esm/snk-crud.entry.js +128 -18
  209. package/dist/esm/snk-custom-slot-elements.entry.js +16 -0
  210. package/dist/esm/snk-data-exporter.entry.js +13 -12
  211. package/dist/esm/{snk-data-unit-1715d2f1.js → snk-data-unit-6208ebf0.js} +16 -6
  212. package/dist/esm/snk-data-unit.entry.js +2 -2
  213. package/dist/esm/snk-detail-view.entry.js +34 -14
  214. package/dist/esm/snk-field-config.entry.js +1 -1
  215. package/dist/esm/snk-filter-advanced-mode_2.entry.js +2 -2
  216. package/dist/esm/snk-filter-bar.entry.js +165 -19
  217. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  218. package/dist/esm/snk-filter-checkbox-list.entry.js +48 -0
  219. package/dist/esm/snk-filter-detail.entry.js +9 -2
  220. package/dist/esm/snk-filter-field-search_2.entry.js +2 -2
  221. package/dist/esm/snk-filter-item.entry.js +39 -15
  222. package/dist/esm/snk-filter-list.entry.js +1 -1
  223. package/dist/esm/snk-filter-modal-item.entry.js +9 -9
  224. package/dist/esm/snk-filter-modal.entry.js +38 -7
  225. package/dist/esm/snk-filter-multi-select.entry.js +1 -1
  226. package/dist/esm/snk-filter-number.entry.js +42 -3
  227. package/dist/esm/snk-filter-period.entry.js +3 -3
  228. package/dist/esm/snk-filter-search.entry.js +1 -1
  229. package/dist/esm/snk-form-config.entry.js +16 -15
  230. package/dist/esm/snk-form-view.entry.js +14 -0
  231. package/dist/esm/snk-form.entry.js +6 -7
  232. package/dist/esm/snk-grid-config.entry.js +6 -7
  233. package/dist/esm/snk-grid.entry.js +132 -41
  234. package/dist/esm/{snk-guides-viewer-b0e32a7d.js → snk-guides-viewer-9d5e073f.js} +161 -22
  235. package/dist/esm/snk-guides-viewer.entry.js +16 -13
  236. package/dist/esm/snk-personalized-filter-editor.entry.js +1 -1
  237. package/dist/esm/snk-personalized-filter.entry.js +24 -13
  238. package/dist/esm/snk-select-box.entry.js +1 -1
  239. package/dist/esm/snk-simple-crud.entry.js +126 -102
  240. package/dist/esm/snk-tab-config.entry.js +12 -11
  241. package/dist/esm/snk-taskbar.entry.js +3 -3
  242. package/dist/esm/{taskbar-elements-0a6b8b95.js → taskbar-elements-d4d0b424.js} +4 -4
  243. package/dist/sankhyablocks/p-01ba23cd.entry.js +1 -0
  244. package/dist/sankhyablocks/p-03dcc5ff.entry.js +1 -0
  245. package/dist/sankhyablocks/{p-5c1aacc7.js → p-057fad05.js} +1 -1
  246. package/dist/sankhyablocks/p-0874adb5.entry.js +1 -0
  247. package/dist/sankhyablocks/p-094c30cb.js +1 -0
  248. package/dist/sankhyablocks/p-0d084a0f.entry.js +1 -0
  249. package/dist/sankhyablocks/{p-c870b530.js → p-0d7863ed.js} +1 -1
  250. package/dist/sankhyablocks/p-11081798.entry.js +1 -0
  251. package/dist/sankhyablocks/p-143425c0.entry.js +1 -0
  252. package/dist/sankhyablocks/{p-cb37982f.entry.js → p-20726710.entry.js} +1 -1
  253. package/dist/sankhyablocks/p-32f0935f.js +1 -0
  254. package/dist/sankhyablocks/p-3520c088.entry.js +1 -0
  255. package/dist/sankhyablocks/p-374d03f6.js +1 -0
  256. package/dist/sankhyablocks/p-38289a55.js +1 -0
  257. package/dist/sankhyablocks/{p-25c5428f.entry.js → p-3ab6df3d.entry.js} +1 -1
  258. package/dist/sankhyablocks/p-3b60db06.entry.js +1 -0
  259. package/dist/sankhyablocks/{p-eb636e15.entry.js → p-41f8bfa3.entry.js} +1 -1
  260. package/dist/sankhyablocks/p-4775a293.entry.js +1 -0
  261. package/dist/sankhyablocks/p-4b0938f6.entry.js +1 -0
  262. package/dist/sankhyablocks/p-585294ee.js +56 -0
  263. package/dist/sankhyablocks/p-5f74c859.entry.js +1 -0
  264. package/dist/sankhyablocks/p-69754d94.entry.js +1 -0
  265. package/dist/sankhyablocks/p-6977a26c.entry.js +1 -0
  266. package/dist/sankhyablocks/{p-648a7c72.entry.js → p-69efa80d.entry.js} +1 -1
  267. package/dist/sankhyablocks/p-70589af8.entry.js +1 -0
  268. package/dist/sankhyablocks/p-776ee8e3.js +1 -0
  269. package/dist/sankhyablocks/{p-959e0835.entry.js → p-7e2ded86.entry.js} +1 -1
  270. package/dist/sankhyablocks/p-7f9d6b5d.entry.js +11 -0
  271. package/dist/sankhyablocks/{p-0885ed3c.entry.js → p-8002dcd0.entry.js} +1 -1
  272. package/dist/sankhyablocks/p-809f367d.entry.js +1 -0
  273. package/dist/sankhyablocks/p-8437508f.js +1 -0
  274. package/dist/sankhyablocks/p-8eb67fa4.entry.js +1 -0
  275. package/dist/sankhyablocks/{p-f30526a7.entry.js → p-95df461f.entry.js} +1 -1
  276. package/dist/sankhyablocks/p-9695f78b.js +1 -0
  277. package/dist/sankhyablocks/{p-838f8234.entry.js → p-98674137.entry.js} +1 -1
  278. package/dist/sankhyablocks/p-a87229cd.entry.js +1 -0
  279. package/dist/sankhyablocks/p-a9e5b094.entry.js +1 -0
  280. package/dist/sankhyablocks/p-aaa3ee68.entry.js +1 -0
  281. package/dist/sankhyablocks/p-b0ef4383.js +1 -0
  282. package/dist/sankhyablocks/p-ba627e85.js +60 -0
  283. package/dist/sankhyablocks/p-c22c1d8e.js +1 -0
  284. package/dist/sankhyablocks/p-c2495304.js +1 -0
  285. package/dist/sankhyablocks/{p-26ad62b9.entry.js → p-c758265f.entry.js} +1 -1
  286. package/dist/sankhyablocks/{p-fe49067d.entry.js → p-c8622597.entry.js} +1 -1
  287. package/dist/sankhyablocks/p-cb7419e0.entry.js +1 -0
  288. package/dist/sankhyablocks/p-d1007720.entry.js +1 -0
  289. package/dist/sankhyablocks/{p-a1e1b305.entry.js → p-d3f53df2.entry.js} +1 -1
  290. package/dist/sankhyablocks/p-d6317851.entry.js +1 -0
  291. package/dist/sankhyablocks/{p-b13cb8b5.js → p-d9bb09b3.js} +2 -2
  292. package/dist/sankhyablocks/p-e3132789.entry.js +1 -0
  293. package/dist/sankhyablocks/p-e6380c60.js +1 -0
  294. package/dist/sankhyablocks/p-f514913b.entry.js +1 -0
  295. package/dist/sankhyablocks/p-fa80e546.js +1 -0
  296. package/dist/sankhyablocks/p-fa816fb2.js +1 -0
  297. package/dist/sankhyablocks/p-fd8814b9.entry.js +1 -0
  298. package/dist/sankhyablocks/{p-584d7212.js → p-ff1990ad.js} +1 -1
  299. package/dist/sankhyablocks/p-ff6064e7.js +1 -0
  300. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  301. package/dist/types/components/snk-actions-button/clientEvent/index.d.ts +1 -1
  302. package/dist/types/components/snk-actions-button/subcomponents/snk-actions-form.d.ts +1 -1
  303. package/dist/types/components/snk-application/snk-application.d.ts +90 -15
  304. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  305. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  306. package/dist/types/components/snk-crud/snk-crud.d.ts +13 -0
  307. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +3 -0
  308. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +10 -1
  309. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +49 -12
  310. package/dist/types/components/snk-custom-slot-elements/snk-custom-slot-elements.d.ts +7 -0
  311. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +1 -0
  312. package/dist/types/components/snk-filter-bar/filter-item/editors/enum/filterNumberVariation.d.ts +4 -0
  313. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.d.ts +27 -0
  314. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-number.d.ts +24 -2
  315. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type.enum.d.ts +2 -1
  316. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  317. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +15 -1
  318. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +30 -0
  319. package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +5 -1
  320. package/dist/types/components/snk-form/SnkFormConfigManager.d.ts +6 -1
  321. package/dist/types/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.d.ts +2 -0
  322. package/dist/types/components/snk-grid/snk-grid.d.ts +20 -6
  323. package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +4 -1
  324. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.d.ts +1 -1
  325. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +24 -2
  326. package/dist/types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.d.ts +59 -0
  327. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +18 -2
  328. package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +4 -0
  329. package/dist/types/components.d.ts +256 -32
  330. package/dist/types/lib/@types/index.d.ts +2 -1
  331. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +5 -1
  332. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +8 -4
  333. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +13 -0
  334. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +19 -0
  335. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +22 -0
  336. package/dist/types/lib/http/data-fetcher/fetchers/{dataunit-fetcher.d.ts → data-unit/dataunit-fetcher.d.ts} +5 -3
  337. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataResult.d.ts +6 -0
  338. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataStrategy.d.ts +7 -0
  339. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +10 -0
  340. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRecordField.d.ts +4 -0
  341. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IResponseRecord.d.ts +6 -0
  342. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DataUnitStrategy.d.ts +9 -0
  343. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +16 -0
  344. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +1 -1
  345. package/dist/types/lib/index.d.ts +1 -1
  346. package/dist/types/lib/message/resources/snk-application.msg.d.ts +2 -0
  347. package/dist/types/lib/message/resources/snk-simple-crud.msg.d.ts +2 -0
  348. package/dist/types/lib/utils/constants.d.ts +3 -4
  349. package/dist/types/lib/workspace/workspace.d.ts +6 -0
  350. package/package.json +4 -4
  351. package/react/components.d.ts +3 -1
  352. package/react/components.js +3 -1
  353. package/react/components.js.map +1 -1
  354. package/dist/cjs/_commonjsHelpers-537d719a.js +0 -20
  355. package/dist/cjs/dataunit-fetcher-910be4ce.js +0 -356
  356. package/dist/cjs/draggable.bundle-82a25c06.js +0 -6886
  357. package/dist/cjs/snk-taskbar-custom-elements.cjs.entry.js +0 -20
  358. package/dist/collection/components/snk-data-unit/snk-data-unit.css +0 -6
  359. package/dist/components/_commonjsHelpers.js +0 -17
  360. package/dist/components/snk-taskbar-custom-elements.d.ts +0 -11
  361. package/dist/components/snk-taskbar-custom-elements.js +0 -35
  362. package/dist/esm/_commonjsHelpers-9943807e.js +0 -17
  363. package/dist/esm/dataunit-fetcher-bd8f9572.js +0 -354
  364. package/dist/esm/draggable.bundle-41d56f06.js +0 -6884
  365. package/dist/esm/pesquisa-fetcher-27819123.js +0 -165
  366. package/dist/esm/snk-taskbar-custom-elements.entry.js +0 -16
  367. package/dist/sankhyablocks/p-0df2ead8.entry.js +0 -11
  368. package/dist/sankhyablocks/p-112455b1.js +0 -1
  369. package/dist/sankhyablocks/p-324ce41e.entry.js +0 -1
  370. package/dist/sankhyablocks/p-34604220.entry.js +0 -1
  371. package/dist/sankhyablocks/p-4a78e118.js +0 -1
  372. package/dist/sankhyablocks/p-5534e08c.js +0 -1
  373. package/dist/sankhyablocks/p-5d04ae42.entry.js +0 -1
  374. package/dist/sankhyablocks/p-6a38bda5.entry.js +0 -1
  375. package/dist/sankhyablocks/p-7bcd2f89.js +0 -56
  376. package/dist/sankhyablocks/p-7bd5aea7.js +0 -1
  377. package/dist/sankhyablocks/p-8014cc25.entry.js +0 -1
  378. package/dist/sankhyablocks/p-928efcaa.entry.js +0 -1
  379. package/dist/sankhyablocks/p-989937ee.entry.js +0 -1
  380. package/dist/sankhyablocks/p-9a270401.entry.js +0 -1
  381. package/dist/sankhyablocks/p-a7ee0e6f.entry.js +0 -1
  382. package/dist/sankhyablocks/p-ac0556a3.js +0 -1
  383. package/dist/sankhyablocks/p-ae6aff81.js +0 -1
  384. package/dist/sankhyablocks/p-b244640b.js +0 -1
  385. package/dist/sankhyablocks/p-b6d6b172.js +0 -1
  386. package/dist/sankhyablocks/p-bba91710.entry.js +0 -1
  387. package/dist/sankhyablocks/p-bd628455.entry.js +0 -1
  388. package/dist/sankhyablocks/p-c2beb95c.js +0 -1
  389. package/dist/sankhyablocks/p-c555075c.entry.js +0 -1
  390. package/dist/sankhyablocks/p-c9841939.js +0 -1
  391. package/dist/sankhyablocks/p-d3ec3586.entry.js +0 -1
  392. package/dist/sankhyablocks/p-d708b4ab.entry.js +0 -1
  393. package/dist/sankhyablocks/p-d84bc5c1.js +0 -1
  394. package/dist/sankhyablocks/p-de76b8a8.js +0 -76
  395. package/dist/sankhyablocks/p-e19014a9.entry.js +0 -1
  396. package/dist/sankhyablocks/p-e1cb1f0b.js +0 -1
  397. package/dist/sankhyablocks/p-e3a82e1c.entry.js +0 -1
  398. package/dist/sankhyablocks/p-e9b53a9a.entry.js +0 -1
  399. package/dist/sankhyablocks/p-ebf8c5df.entry.js +0 -1
  400. package/dist/sankhyablocks/p-ed5f1204.entry.js +0 -1
  401. package/dist/sankhyablocks/p-f9395c20.entry.js +0 -1
  402. package/dist/sankhyablocks/p-f94b999e.entry.js +0 -1
  403. package/dist/sankhyablocks/p-fa9d3f73.js +0 -1
  404. package/dist/sankhyablocks/p-fb1ecd0b.entry.js +0 -1
  405. package/dist/sankhyablocks/p-fcd09423.entry.js +0 -1
  406. package/dist/sankhyablocks/p-fd15aaac.entry.js +0 -1
  407. package/dist/types/components/snk-taskbar/snk-taskbar-custom-elements.d.ts +0 -7
@@ -10,15 +10,18 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  }
11
11
  return t;
12
12
  };
13
- import { ChangeOperation, DataType, DataUnit, StringUtils, DataUnitStorage } from "@sankhyalabs/core";
13
+ import { ChangeOperation, DataType, DataUnit, DataUnitStorage } from "@sankhyalabs/core";
14
14
  import { gql } from "graphql-request";
15
- import { DataFetcher } from "../DataFetcher";
15
+ import { DataFetcher } from "../../DataFetcher";
16
16
  import { DISTINCT_FILTER_NAME_PREFIX } from "@sankhyalabs/ezui/dist/collection/utils/constants";
17
17
  import { DataUnitTransient } from "@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";
18
+ import DataUnitDataLoader from "./DataUnitDataLoader";
19
+ import PreloadManager from "./cache/PreloadManager";
20
+ import ResourceIDUtils from "../../../../resourceid/ResourceIDUtils";
21
+ const DATA_UNIT_NAME_PARSER = /dd:\/\/([^/]+)\/([^/?]+)/;
18
22
  export default class DataUnitFetcher {
19
23
  constructor() {
20
24
  this.templateByQuery = new Map();
21
- this._loadDataTimeout = {};
22
25
  this.buldTemplates();
23
26
  }
24
27
  buldTemplates() {
@@ -30,6 +33,7 @@ export default class DataUnitFetcher {
30
33
  defaultValue
31
34
  label
32
35
  visible
36
+ standAlone
33
37
  readOnly
34
38
  required
35
39
  dataType
@@ -57,24 +61,6 @@ export default class DataUnitFetcher {
57
61
  }
58
62
  }
59
63
  }`);
60
- this.templateByQuery.set("fetchData", gql `query($dataunit: String! $limit: Int $offset:Int $filters: [InputFilter!] $sort: [InputSort!] $parentRecordId: String) {
61
- $queryAlias$: fetchDataUnit(name: $dataunit){
62
- data(limit: $limit offset: $offset filters: $filters sort: $sort parentRecordId: $parentRecordId){
63
- limit
64
- offset
65
- total
66
- hasMore
67
- records{
68
- id
69
- label
70
- fields {
71
- name
72
- value
73
- }
74
- }
75
- }
76
- }
77
- }`);
78
64
  this.templateByQuery.set("saveData", gql `mutation($changes: [InputBatchChange!]!) {
79
65
  $queryAlias$: batchOperationDataUnit(changes: $changes){
80
66
  oldId
@@ -103,11 +89,25 @@ export default class DataUnitFetcher {
103
89
  $queryAlias$: selectDistinct(dataUnit: $dataUnit, fieldName: $fieldName, argument: $argument, filters: $filters, parentRecordId: $parentRecordId)
104
90
  }`);
105
91
  }
92
+ static parseDataUnitName(name) {
93
+ if (name == undefined) {
94
+ return undefined;
95
+ }
96
+ const parts = DATA_UNIT_NAME_PARSER.exec(name);
97
+ if (!parts) {
98
+ return undefined;
99
+ }
100
+ return { entityName: parts[1], resourceID: parts[2] };
101
+ }
106
102
  getDataUnit(entityName, resourceID, parentDataUnit, configName) {
103
+ if (PreloadManager.applicationResourceID == undefined) {
104
+ //Por falta de um lugar melhor pra iniciar essa variável, fazemos isso aqui.
105
+ ResourceIDUtils.getResourceID().then(resourceID => PreloadManager.applicationResourceID = resourceID);
106
+ }
107
107
  const duName = `dd://${entityName}/${resourceID}${configName ? "/" + configName : ""}`;
108
108
  const dataUnit = parentDataUnit != undefined ? parentDataUnit.getChildDataunit(duName) : new DataUnit(duName);
109
109
  dataUnit.metadataLoader = (dataUnit) => this.loadMetadata(dataUnit);
110
- dataUnit.dataLoader = (dataUnit, request) => this.loadData(dataUnit, request);
110
+ dataUnit.dataLoader = (dataUnit, request) => DataUnitDataLoader.loadData(dataUnit, request);
111
111
  dataUnit.saveLoader = (_dataUnit, changes) => this.saveData(dataUnit, changes);
112
112
  dataUnit.removeLoader = (dataUnit, recordIds) => this.removeRecords(dataUnit, recordIds);
113
113
  dataUnit.recordLoader = (dataUnit, recordIds) => this.loadRecord(dataUnit, recordIds);
@@ -147,24 +147,6 @@ export default class DataUnitFetcher {
147
147
  });
148
148
  });
149
149
  }
150
- async loadData(dataUnit, request) {
151
- try {
152
- const duName = dataUnit.name;
153
- if (this._loadDataTimeout[duName]) {
154
- clearTimeout(this._loadDataTimeout[duName]);
155
- delete this._loadDataTimeout[duName];
156
- }
157
- const result = await this.doLoadData(dataUnit, request);
158
- delete this._loadDataTimeout[duName];
159
- await new Promise(resolve => {
160
- this._loadDataTimeout[duName] = setTimeout(resolve, 200);
161
- });
162
- return Promise.resolve(result);
163
- }
164
- catch (error) {
165
- return Promise.reject(error);
166
- }
167
- }
168
150
  loadSelectDistinct(dataUnit, fieldName, argument) {
169
151
  const { parentRecordId, filters } = dataUnit.getLastLoadRequest() || {};
170
152
  const filteredFilters = filters.filter(f => f.name !== `${DISTINCT_FILTER_NAME_PREFIX}${fieldName}`);
@@ -189,67 +171,9 @@ export default class DataUnitFetcher {
189
171
  });
190
172
  });
191
173
  }
192
- doLoadData(dataUnit, request) {
193
- return new Promise((resolve, reject) => {
194
- var _a;
195
- const { sort, filters, limit, offset, quickFilter } = request;
196
- const variables = { dataunit: dataUnit.name, sort, filters };
197
- variables.limit = limit;
198
- variables.offset = offset;
199
- variables.parentRecordId = request.parentRecordId;
200
- if (!StringUtils.isEmpty(quickFilter === null || quickFilter === void 0 ? void 0 : quickFilter.term)) {
201
- if (variables.filter === undefined) {
202
- variables.filter = [];
203
- }
204
- const quickFilterCriteria = {
205
- name: "__QUICK_FILTER__",
206
- expression: "__QUICK_FILTER__",
207
- params: [{ name: "term", dataType: DataType.TEXT, value: quickFilter.term }]
208
- };
209
- if (((_a = quickFilter === null || quickFilter === void 0 ? void 0 : quickFilter.fields) === null || _a === void 0 ? void 0 : _a.length) > 0) {
210
- quickFilterCriteria.params.push({ name: "fields", dataType: DataType.OBJECT, value: quickFilter.fields });
211
- }
212
- variables.filter.push(quickFilterCriteria);
213
- }
214
- DataFetcher.get()
215
- .callGraphQL({
216
- values: variables,
217
- query: this.templateByQuery.get("fetchData"),
218
- })
219
- .then((resp) => {
220
- const { limit, offset, total, hasMore, records } = resp.data;
221
- let paginationInfo;
222
- if (limit) {
223
- const firstRecord = total == 0 ? 0 : offset + 1;
224
- const lastRecord = offset + Math.min(records.length, limit);
225
- const currentPage = offset / limit;
226
- paginationInfo = {
227
- firstRecord,
228
- lastRecord,
229
- total,
230
- currentPage,
231
- hasMore
232
- };
233
- }
234
- const processedRecords = [];
235
- records.forEach((responseRecord) => {
236
- const duRecord = { __record__id__: responseRecord.id, __record__label__: responseRecord.label };
237
- responseRecord.fields.forEach(({ name, value }) => {
238
- duRecord[name] = dataUnit.valueFromString(name, value);
239
- });
240
- processedRecords.push(duRecord);
241
- });
242
- resolve({
243
- paginationInfo,
244
- records: processedRecords
245
- });
246
- })
247
- .catch((error) => {
248
- reject(error);
249
- });
250
- });
251
- }
252
174
  saveData(dataUnit, duChanges) {
175
+ const updatedRecordsIds = [];
176
+ const addedRecordsIds = [];
253
177
  const changes = duChanges.map((change) => {
254
178
  const { dataUnit: changeDU, record, updatingFields, operation } = change;
255
179
  const dataUnitInstance = DataUnitStorage.get(changeDU);
@@ -261,6 +185,14 @@ export default class DataUnitFetcher {
261
185
  return { fieldName, dataType, value: dataUnitInstance.valueToString(fieldName, value) };
262
186
  });
263
187
  }
188
+ if (changeDU === dataUnit.name) {
189
+ if (operation === ChangeOperation.INSERT || operation === ChangeOperation.COPY) {
190
+ addedRecordsIds.push(record.__record__id__);
191
+ }
192
+ else {
193
+ updatedRecordsIds.push(record.__record__id__);
194
+ }
195
+ }
264
196
  const reqChange = { dataUnit: changeDU, fields: parsedUpdatingFields, operation, recordId: record.__record__id__ };
265
197
  if (change.sourceId) {
266
198
  reqChange.sourceId = change.sourceId;
@@ -298,6 +230,7 @@ export default class DataUnitFetcher {
298
230
  });
299
231
  dataUnitRecords.push(duRecord);
300
232
  });
233
+ this.updateCache(dataUnit, dataUnitRecords, updatedRecordsIds, addedRecordsIds);
301
234
  resolve(dataUnitRecords);
302
235
  })
303
236
  .catch((error) => {
@@ -305,6 +238,20 @@ export default class DataUnitFetcher {
305
238
  });
306
239
  });
307
240
  }
241
+ updateCache(dataUnit, savedRecords, toUpdate, toInsert) {
242
+ const recordsById = new Map(savedRecords.map(record => [record.__old__id__ || record.__record__id__, record]));
243
+ const addedRecords = toInsert.map(recordId => {
244
+ const copy = Object.assign({}, recordsById.get(recordId));
245
+ delete copy.__old__id__;
246
+ return copy;
247
+ });
248
+ if (addedRecords.length > 0) {
249
+ const firstRecord = dataUnit.records[0];
250
+ PreloadManager.insertRecords(dataUnit, firstRecord, addedRecords);
251
+ }
252
+ const updatedRecords = toUpdate.map(recordId => (Object.assign({}, recordsById.get(recordId))));
253
+ PreloadManager.updateRecords(dataUnit, updatedRecords);
254
+ }
308
255
  getTransientInfo(dataUnit, recordID) {
309
256
  const { records } = dataUnit.getSelectionInfo();
310
257
  return Object.entries(records.filter(record => record.__record__id__ == recordID)[0]).filter(([key]) => key.startsWith(DataUnitTransient.DATA_UNIT_TRANSIENT_PREFIX_NAME)).map(([name, value]) => ({ fieldName: name, value, dataType: DataType.TEXT }));
@@ -320,6 +267,7 @@ export default class DataUnitFetcher {
320
267
  query: this.templateByQuery.get("saveData"),
321
268
  })
322
269
  .then((_resp) => {
270
+ PreloadManager.removeRecords(dataUnit, dataUnit.records.filter(record => recordIds.includes(record.__record__id__)));
323
271
  resolve(recordIds);
324
272
  })
325
273
  .catch((error) => {
@@ -343,6 +291,7 @@ export default class DataUnitFetcher {
343
291
  });
344
292
  dataUnitRecords.push(duRecord);
345
293
  });
294
+ //TODO: Chamar o worker para persistir a nova versão do registro
346
295
  resolve(dataUnitRecords);
347
296
  })
348
297
  .catch((error) => {
@@ -0,0 +1,68 @@
1
+ import { DataType, StringUtils } from "@sankhyalabs/core";
2
+ import { DataFetcher } from "../../../DataFetcher";
3
+ import { gql } from "graphql-request";
4
+ const GQL_QUERY = gql `query($dataunit: String! $limit: Int $offset:Int $filters: [InputFilter!] $sort: [InputSort!] $parentRecordId: String) {
5
+ $queryAlias$: fetchDataUnit(name: $dataunit) {
6
+ data(limit: $limit offset: $offset filters: $filters sort: $sort parentRecordId: $parentRecordId) {
7
+ limit
8
+ offset
9
+ total
10
+ hasMore
11
+ records {
12
+ id
13
+ label
14
+ fields {
15
+ name
16
+ value
17
+ }
18
+ }
19
+ }
20
+ }
21
+ }`;
22
+ export class DataUnitStrategy {
23
+ canSlice() {
24
+ return true;
25
+ }
26
+ getVariables(dataunit, request) {
27
+ var _a;
28
+ let { sort, filters, limit, offset, quickFilter, parentRecordId } = request;
29
+ if (!StringUtils.isEmpty(quickFilter === null || quickFilter === void 0 ? void 0 : quickFilter.term)) {
30
+ const quickFilterCriteria = {
31
+ name: "__QUICK_FILTER__",
32
+ expression: "__QUICK_FILTER__",
33
+ params: [{ name: "term", dataType: DataType.TEXT, value: quickFilter.term }]
34
+ };
35
+ if (((_a = quickFilter.fields) === null || _a === void 0 ? void 0 : _a.length) > 0) {
36
+ quickFilterCriteria.params.push({ name: "fields", dataType: DataType.OBJECT, value: quickFilter.fields });
37
+ }
38
+ if (filters === undefined) {
39
+ filters = [];
40
+ }
41
+ filters.push(quickFilterCriteria);
42
+ }
43
+ return { dataunit, sort, filters, limit, offset, parentRecordId };
44
+ }
45
+ async load(dataUnit, request, loadingInfo) {
46
+ return new Promise((accept, reject) => {
47
+ DataFetcher.get().callGraphQL({
48
+ values: this.getVariables(dataUnit.name, request),
49
+ query: GQL_QUERY
50
+ }, false)
51
+ .then(resp => {
52
+ const { hasMore, records: responseRecords, total } = resp.data;
53
+ const records = responseRecords.map((record) => {
54
+ const duRecord = { __record__id__: record.id, __record__label__: record.label };
55
+ record.fields.forEach(({ name, value }) => {
56
+ duRecord[name] = dataUnit.valueFromString(name, value);
57
+ });
58
+ return duRecord;
59
+ });
60
+ accept({
61
+ records,
62
+ loadingInfo: Object.assign(Object.assign({}, loadingInfo), { loadingInProgress: hasMore, total, count: loadingInfo.count + records.length })
63
+ });
64
+ })
65
+ .catch(reason => reject(reason));
66
+ });
67
+ }
68
+ }
@@ -0,0 +1,162 @@
1
+ import { ApplicationContext, StringUtils, UserInterface, } from '@sankhyalabs/core';
2
+ import { DataFetcher } from "../../../DataFetcher";
3
+ import DataUnitFetcher from "../dataunit-fetcher";
4
+ import InMemoryLoader from "../../../../../dataUnit/InMemoryLoader";
5
+ export class DatasetStrategy {
6
+ canSlice() {
7
+ return false;
8
+ }
9
+ async load(dataUnit, request, loadingInfo) {
10
+ if (dataUnit.metadata == undefined) {
11
+ return Promise.resolve({ records: [], loadingInfo });
12
+ }
13
+ try {
14
+ const localSorting = [];
15
+ const serverSorting = [];
16
+ if (request.sort != undefined) {
17
+ for (const sort of request.sort) {
18
+ const descriptor = dataUnit.getField(sort.field);
19
+ const local = descriptor != undefined
20
+ && descriptor.properties != undefined
21
+ && descriptor.properties.calculated === "true";
22
+ if (local) {
23
+ localSorting.push(sort);
24
+ }
25
+ else {
26
+ serverSorting.push(sort);
27
+ }
28
+ }
29
+ }
30
+ const fields = this.getFieldsList(dataUnit);
31
+ const serviceName = "DatasetSP.loadRecords";
32
+ const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting);
33
+ const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
34
+ const { result: responseRecords, pagerID: pagerId } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
35
+ const records = this.processRecords(dataUnit, fields, responseRecords);
36
+ const loadingInProgress = pagerId != undefined;
37
+ const count = loadingInfo.count + records.length;
38
+ const needReload = !loadingInProgress && localSorting.length > 0;
39
+ return Promise.resolve({
40
+ records,
41
+ loadingInfo: Object.assign(Object.assign({}, loadingInfo), { pagerId,
42
+ loadingInProgress, total: loadingInProgress ? undefined : count, count,
43
+ needReload })
44
+ });
45
+ }
46
+ catch (error) {
47
+ console.error(error);
48
+ return Promise.reject(error);
49
+ }
50
+ }
51
+ getFieldsList(dataUnit) {
52
+ let fields = ["__record__id__", "__record__label__"];
53
+ dataUnit.metadata.fields.forEach((descriptor) => {
54
+ if (descriptor.standAlone) {
55
+ return;
56
+ }
57
+ fields = fields.concat(this.getFieldNames(descriptor));
58
+ });
59
+ return fields;
60
+ }
61
+ getFieldNames(descriptor) {
62
+ const descriptionField = this.getSearchDescriptionField(descriptor);
63
+ if (descriptionField == undefined) {
64
+ return descriptor.name;
65
+ }
66
+ return [descriptor.name, descriptionField];
67
+ }
68
+ buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting) {
69
+ const dataSetID = dataUnit.dataUnitId;
70
+ const dataUnitName = dataUnit.name;
71
+ const entityName = DataUnitFetcher.parseDataUnitName(dataUnitName).entityName;
72
+ const useParallelLoader = !!(request.limit || request.offset);
73
+ const requestBody = {
74
+ serviceName,
75
+ requestBody: {
76
+ dataSetID,
77
+ fields,
78
+ entityName,
79
+ pageNumber: loadingInfo.pageNumber,
80
+ totalRecordsCount: loadingInfo.count,
81
+ pagerID: loadingInfo.pagerId,
82
+ standAlone: false,
83
+ standAloneFieldsMD: {
84
+ __record__id__: { "fieldType": "S", "userType": "P" },
85
+ __record__label__: { "fieldType": "S", "userType": "P" }
86
+ },
87
+ tryJoinedFields: true,
88
+ parallelLoader: useParallelLoader,
89
+ crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
90
+ txProperties: this.getTxProperties(dataUnitName, request, sorting),
91
+ useDefaultRowsLimit: false
92
+ }
93
+ };
94
+ return JSON.stringify(requestBody);
95
+ }
96
+ getModuleName() {
97
+ const app = ApplicationContext.getContextValue("__SNK__APPLICATION__");
98
+ const moduleName = app.getModuleName();
99
+ return moduleName.replace("-bff", "");
100
+ }
101
+ getTxProperties(dataUnitName, request, sorting) {
102
+ var _a, _b;
103
+ const txProperties = {
104
+ "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnitName
105
+ };
106
+ const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
107
+ if (serverSideFilters.length !== 0) {
108
+ txProperties["__DATA_UNIT_ADAPTER__[criteria]"] = JSON.stringify(serverSideFilters);
109
+ }
110
+ if (sorting != undefined && sorting.length !== 0) {
111
+ txProperties["__DATA_UNIT_ADAPTER__[sorting]"] = JSON.stringify(sorting);
112
+ }
113
+ if (request.parentRecordId != undefined) {
114
+ txProperties["__DATA_UNIT_ADAPTER__[parentRecordId]"] = request.parentRecordId;
115
+ }
116
+ return txProperties;
117
+ }
118
+ processRecords(dataUnit, fields, responseRecords) {
119
+ return responseRecords.map((dataFrame) => {
120
+ const duRecord = {
121
+ __record__id__: dataFrame[0],
122
+ __record__label__: dataFrame[1]
123
+ };
124
+ dataUnit.metadata.fields.forEach(fieldDescriptor => {
125
+ duRecord[fieldDescriptor.name] = this.buildFieldValue(fieldDescriptor, fields, dataFrame);
126
+ });
127
+ return duRecord;
128
+ });
129
+ }
130
+ buildFieldValue(descriptor, allFields, dataFrame) {
131
+ const fieldIndex = allFields.indexOf(descriptor.name);
132
+ if (fieldIndex < 0) {
133
+ return null;
134
+ }
135
+ const strValue = dataFrame[fieldIndex];
136
+ if (StringUtils.isEmpty(strValue)) {
137
+ return null;
138
+ }
139
+ const descriptionField = this.getSearchDescriptionField(descriptor);
140
+ if (descriptionField != undefined) {
141
+ const descriptionFieldIndex = allFields.indexOf(descriptionField);
142
+ if (descriptionFieldIndex >= 0) {
143
+ return { value: strValue, label: dataFrame[descriptionFieldIndex] };
144
+ }
145
+ }
146
+ if (descriptor.userInterface === UserInterface.SEARCH) {
147
+ //Se não tem um campo de descrição (código acima)
148
+ //Mas é um search, tentamos parsear um numero...
149
+ return isNaN(Number(strValue)) ? strValue : Number(strValue);
150
+ }
151
+ return InMemoryLoader.getConvertedValue(descriptor, strValue);
152
+ }
153
+ getSearchDescriptionField(descriptor) {
154
+ if (descriptor.userInterface === UserInterface.SEARCH) {
155
+ const { ENTITYNAME, mergedFrom, DESCRIPTIONFIELD } = descriptor.properties;
156
+ if (!StringUtils.isEmpty(DESCRIPTIONFIELD)) {
157
+ return mergedFrom != undefined ? `${mergedFrom}.${ENTITYNAME}.${DESCRIPTIONFIELD}` : `${ENTITYNAME}.${DESCRIPTIONFIELD}`;
158
+ }
159
+ }
160
+ return undefined;
161
+ }
162
+ }
@@ -10,11 +10,12 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  }
11
11
  return t;
12
12
  };
13
- import { ObjectUtils } from "@sankhyalabs/core";
13
+ import { ApplicationContext, ObjectUtils } from "@sankhyalabs/core";
14
14
  import { DataFetcher } from '../../DataFetcher';
15
15
  export default function fetchDataExporter(_a) {
16
16
  var { methodName } = _a, requestBody = __rest(_a, ["methodName"]);
17
- const serviceName = `mgefin-bff@DataExporterSPBean.${methodName}`;
17
+ const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
18
+ const serviceName = `${application.getModuleName()}@DataExporterSPBean.${methodName}`;
18
19
  const payload = { serviceName, requestBody };
19
20
  return new Promise((resolve, reject) => {
20
21
  DataFetcher.get()
@@ -1,7 +1,8 @@
1
- import { ObjectUtils } from '@sankhyalabs/core';
1
+ import { ApplicationContext, ObjectUtils } from '@sankhyalabs/core';
2
2
  import { DataFetcher } from '../../DataFetcher';
3
3
  export default function getPersonalizedReports(requestBody) {
4
- const serviceName = "mgefin-bff@DataExporterSPBean.getPersonalizedReports";
4
+ const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
5
+ const serviceName = `${application.getModuleName()}@DataExporterSPBean.getPersonalizedReports`;
5
6
  const payload = { serviceName, requestBody };
6
7
  return new Promise((resolve, reject) => (DataFetcher.get()
7
8
  .callServiceBroker(serviceName, ObjectUtils.objectToString(payload))
@@ -12,6 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  };
13
13
  import FilterItemType from '../../../../components/snk-filter-bar/filter-item/filter-item-type.enum';
14
14
  import { ResourceFetcher } from './resource-fetcher';
15
+ import { ObjectUtils } from '@sankhyalabs/core';
15
16
  function normalizeValue(value, type) {
16
17
  if (value == undefined) {
17
18
  return value;
@@ -96,7 +97,19 @@ export default class FilterBarConfigFetcher extends ResourceFetcher {
96
97
  var _a, _b;
97
98
  if (item.type === FilterItemType.MULTI_LIST) {
98
99
  const multiListValue = item.value;
99
- item.value = (_b = (_a = multiListValue === null || multiListValue === void 0 ? void 0 : multiListValue.elements) !== null && _a !== void 0 ? _a : multiListValue === null || multiListValue === void 0 ? void 0 : multiListValue.members) !== null && _b !== void 0 ? _b : multiListValue;
100
+ /**
101
+ * Existe um bug no HTML5 onde ele salva a configuração do filtro na FilterBar como objeto em vez de array
102
+ * Esse cenário ocorre quando há apenas um item na configuração do filtro
103
+ */
104
+ let multilistValueArray = (_b = (_a = multiListValue === null || multiListValue === void 0 ? void 0 : multiListValue.elements) !== null && _a !== void 0 ? _a : multiListValue === null || multiListValue === void 0 ? void 0 : multiListValue.members) !== null && _b !== void 0 ? _b : multiListValue;
105
+ // Precisamos verificar se o objeto existe ou está unfefined
106
+ multilistValueArray = multilistValueArray !== null && multilistValueArray !== void 0 ? multilistValueArray : [];
107
+ multilistValueArray = Array.isArray(multilistValueArray) ? multilistValueArray : [multilistValueArray];
108
+ // Existem cenários onde o HTML5 não salva o Id do filtro, apenas seu label e value
109
+ multilistValueArray = multilistValueArray.map(itemRaw => {
110
+ return Object.assign(Object.assign({}, itemRaw), { id: (itemRaw.id !== undefined) ? itemRaw.id : itemRaw.value });
111
+ });
112
+ item.value = ObjectUtils.copy(multilistValueArray);
100
113
  }
101
114
  return item;
102
115
  });
@@ -91,6 +91,9 @@ export default class PersonalizedFilterFetcher {
91
91
  });
92
92
  }
93
93
  async savePersonalizedFilter(personalizedFilter, resourceID, configName) {
94
+ if (!personalizedFilter || Object.keys(personalizedFilter).length == 0) {
95
+ return Promise.reject(new Error("personalizedFilter não pode ser vazio"));
96
+ }
94
97
  let personalizedFilterParsed = JSON.parse(JSON.stringify(personalizedFilter));
95
98
  personalizedFilterParsed.assistent = JSON.stringify(personalizedFilterParsed.assistent);
96
99
  return new Promise((resolve, reject) => {
@@ -5,7 +5,7 @@ export { PresentationMode } from "./@types";
5
5
  export { TotalsFetcher } from './http/data-fetcher/fetchers/totals-fetcher';
6
6
  export { default as ApplicationConfigFetcher } from './http/data-fetcher/fetchers/application-config-fetcher';
7
7
  export { AttachFetcher } from './http/data-fetcher/fetchers/attach-fetcher';
8
- export { default as DataUnitFetcher } from './http/data-fetcher/fetchers/dataunit-fetcher';
8
+ export { default as DataUnitFetcher } from './http/data-fetcher/fetchers/data-unit/dataunit-fetcher';
9
9
  export { default as FilterBarConfigFetcher } from './http/data-fetcher/fetchers/filter-bar-config-fetcher';
10
10
  export { FormConfigFetcher } from './http/data-fetcher/fetchers/form-config-fetcher';
11
11
  export { default as GridConfigFetcher } from './http/data-fetcher/fetchers/grid-config-fetcher';
@@ -4,7 +4,9 @@ import snkTaskbarMessages from "./resources/snk-taskbar.msg.js";
4
4
  import crudUtilsMessages from "./resources/crud-utils.msg.js";
5
5
  import snkExporterMessages from "./resources/snk-exporter.msg.js";
6
6
  import snkCrudMessages from "./resources/snk-crud.msg.js";
7
+ import snkSimpleCrudMessages from "./resources/snk-simple-crud.msg.js";
7
8
  import fileViewerMessages from "./resources/file-viewer.msg.js";
9
+ import snkApplicationMessages from "./resources/snk-application.msg.js";
8
10
  import { snkFormConfigMessages, snkConfigOptionsMessages, snkFieldConfigMessages, snkTabConfigMessages } from "./resources/snk-form.msg.js";
9
11
  import { snkConfiguratorMessages } from "./resources/snk-configurator.msg.js";
10
12
  import { snkGridMessages, snkGridConfigMessages } from "./resources/snk-grid.msg.js";
@@ -21,6 +23,7 @@ import { ApplicationContext } from "@sankhyalabs/core";
21
23
  export class SnkMessageBuilder {
22
24
  constructor(domainName) {
23
25
  this._defaults = {
26
+ snkApplication: snkApplicationMessages,
24
27
  snkDataUnit: snkDataUnitMessages,
25
28
  snkFormConfig: snkFormConfigMessages,
26
29
  snkConfigOptions: snkConfigOptionsMessages,
@@ -35,6 +38,7 @@ export class SnkMessageBuilder {
35
38
  snkExporter: snkExporterMessages,
36
39
  snkDataExporter: snkDataExporterMessages,
37
40
  snkCrud: snkCrudMessages,
41
+ snkSimpleCrud: snkSimpleCrudMessages,
38
42
  fileViewer: fileViewerMessages,
39
43
  snkFilterParamConfig: snkFilterParamConfigMessages,
40
44
  snkFilterFieldSearch: snkFilterFieldSearchMessages,
@@ -43,7 +47,7 @@ export class SnkMessageBuilder {
43
47
  snkPersonalizedFilter: snkPersonalizedFilterMessages,
44
48
  snkEntityList: snkEntityListMessages,
45
49
  snkActionsButton: snkActionsButtonMessages,
46
- snkPrintSelector: snkPrintSelectorMessages
50
+ snkPrintSelector: snkPrintSelectorMessages,
47
51
  };
48
52
  this._currentOperation = OperationMap.CLEAN;
49
53
  this._domainName = domainName;
@@ -90,10 +94,12 @@ export class SnkMessageBuilder {
90
94
  return this.postProcess(msg, params);
91
95
  }
92
96
  getDomainMessages() {
93
- if (this._domainName == undefined) {
97
+ if (!this._appMessages)
98
+ return undefined;
99
+ if (!this._domainName) {
94
100
  return this._appMessages['Global'] || this._appMessages;
95
101
  }
96
- return (this._appMessages == undefined ? undefined : this._appMessages[this._domainName]);
102
+ return this._appMessages[this._domainName];
97
103
  }
98
104
  resolveMessage(keys, object) {
99
105
  if (object == undefined) {
@@ -0,0 +1,9 @@
1
+ export const snkAttachMessages = {
2
+ newVersionPopup: {
3
+ title: "Boas vindas à nova interface da tela {{screenName}}",
4
+ info: "Com uma jornada mais moderna, simples e intuitiva, a performance aprimorada da nova interface impulsionará a sua produtividade.",
5
+ okButton: "Quero experimentar!",
6
+ cancelButton: "Voltar à interface anterior",
7
+ }
8
+ };
9
+ export default snkAttachMessages;
@@ -5,6 +5,7 @@ export const snkCrudMessages = {
5
5
  update: "Alterar registro",
6
6
  clean: "{{ENTITY_NAME}}"
7
7
  },
8
+ findColumn: "Buscar campos",
8
9
  goBackTitle: "Voltar"
9
10
  };
10
11
  export default snkCrudMessages;
@@ -30,11 +30,12 @@ const snkFilterBarMessages = {
30
30
  "modalCancelButtonLabel": "Limpar",
31
31
  "binarySelectTooltip": "Exibindo registros",
32
32
  "multiListToltip": "selecionado(a)s",
33
- "onlyStartPeriodToltip": "A partir de",
34
- "onlyEndPeriodToltip": "Até",
33
+ "onlyStartToltip": "A partir de",
34
+ "onlyEndToltip": "Até",
35
35
  "fullPeriodTooltip": "Data de {{LABEL}}: {{START_LABEL}} até {{END_LABEL}}",
36
- "labelStartDatePeriod": "Inicial",
37
- "labelEndDatePeriod": "Final",
36
+ "labelStart": "Inicial",
37
+ "labelEnd": "Final",
38
+ "fullIntervalTooltip": "{{LABEL}}: {{START_LABEL}} até {{END_LABEL}}",
38
39
  "filters": "Filtros",
39
40
  "personalizedCount": "{{activeCount}} selecionado(s)",
40
41
  "filterModal": {
@@ -1,4 +1,6 @@
1
- export const snkGridMessages = {};
1
+ export const snkGridMessages = {
2
+ findColumn: "Busca de colunas"
3
+ };
2
4
  export const snkGridConfigMessages = {
3
5
  gridConfiguration: "Configuração da Grade",
4
6
  columnVisibilityOrder: "Defina visibilidade e ordem das colunas.",
@@ -0,0 +1,4 @@
1
+ export const snkSimpleCrudMessages = {
2
+ findColumn: "Busca de colunas",
3
+ };
4
+ export default snkSimpleCrudMessages;