@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
@@ -1,20 +1,20 @@
1
+ import { ApplicationContext, DataType, DependencyType, ElementIDUtils, ErrorTracking, OnboardingUtils, StringUtils, KeyboardManager, ObjectUtils, ArrayUtils, SearchUtils } from "@sankhyalabs/core";
2
+ import { ApplicationUtils } from "@sankhyalabs/ezui/dist/collection/utils";
1
3
  import { h } from "@stencil/core";
2
- import { DataType, ErrorTracking, DependencyType, ApplicationContext, ElementIDUtils, OnboardingUtils } from "@sankhyalabs/core";
4
+ import AppletCaller from "../../lib/applet-caller/applet-caller";
5
+ import MGEAuthorization from '../../lib/auth/mgeauthorization.module';
6
+ import { ConfigStorage } from "../../lib/configs/ConfigStorage";
3
7
  import { DataFetcher } from "../../lib/http/data-fetcher/DataFetcher";
4
- import { ApplicationUtils } from "@sankhyalabs/ezui/dist/collection/utils";
5
- import { SnkErrorHandler } from "./errorhandler/snk-error-handler";
8
+ import AuthFetcher, { AutorizationType } from "../../lib/http/data-fetcher/fetchers/auth-fetcher";
9
+ import DataUnitFetcher from "../../lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher";
10
+ import ParametersFetcher from "../../lib/http/data-fetcher/fetchers/parameters-fecher";
6
11
  import { PesquisaFetcher } from "../../lib/http/data-fetcher/fetchers/pesquisa-fetcher";
7
- import { agGridLicense } from '../../lib/licenses/sankhyalicense.module';
8
12
  import { TotalsFetcher } from "../../lib/http/data-fetcher/fetchers/totals-fetcher";
9
- import { ConfigStorage } from "../../lib/configs/ConfigStorage";
10
- import DataUnitFetcher from "../../lib/http/data-fetcher/fetchers/dataunit-fetcher";
13
+ import { agGridLicense } from '../../lib/licenses/sankhyalicense.module';
14
+ import { SnkMessageBuilder } from "../../lib/message/SnkMessageBuilder";
11
15
  import UrlUtils from "../../lib/utils/urlutils";
12
16
  import Workspace from "../../lib/workspace/workspace";
13
- import AppletCaller from "../../lib/applet-caller/applet-caller";
14
- import ParametersFetcher from "../../lib/http/data-fetcher/fetchers/parameters-fecher";
15
- import MGEAuthorization from '../../lib/auth/mgeauthorization.module';
16
- import AuthFetcher, { AutorizationType } from "../../lib/http/data-fetcher/fetchers/auth-fetcher";
17
- import { SnkMessageBuilder } from "../../lib/message/SnkMessageBuilder";
17
+ import { SnkErrorHandler } from "./errorhandler/snk-error-handler";
18
18
  /**
19
19
  * É possível customizar as mensagens dos blocos de construção através de um pequeno modulo na estrutura da aplicação:
20
20
  * - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
@@ -22,12 +22,25 @@ import { SnkMessageBuilder } from "../../lib/message/SnkMessageBuilder";
22
22
  */
23
23
  export class SnkApplication {
24
24
  constructor() {
25
+ this.NEW_VERSION_POPUP_LOCKER = "NEW_VERSION_POPUP_LOCKER";
25
26
  this._authPromises = [];
27
+ this._keyboardManager = new KeyboardManager();
28
+ this._waitingAppReady = new Array();
26
29
  this._duCache = new Map();
27
30
  this._duPromises = new Map();
28
31
  this._requestListener = new RequestListenerLoadingBar();
32
+ this._pendingActions = new Map;
33
+ this._isLoadedByPk = false;
29
34
  this.messagesBuilder = undefined;
30
35
  this.configName = undefined;
36
+ this.loadByPK = undefined;
37
+ }
38
+ async processPendingActions(actionsLocker) {
39
+ const pendingActionsFromContext = this._pendingActions.get(actionsLocker);
40
+ if (pendingActionsFromContext && pendingActionsFromContext.length) {
41
+ pendingActionsFromContext.forEach(action => action());
42
+ this._pendingActions.set(actionsLocker, []);
43
+ }
31
44
  }
32
45
  get parameters() {
33
46
  if (!this._parameters) {
@@ -72,6 +85,14 @@ export class SnkApplication {
72
85
  });
73
86
  }
74
87
  }
88
+ /**
89
+ * Obtém o controlador de teclado.
90
+ *
91
+ * @return {KeyboardManager} the keyboard manager
92
+ */
93
+ async getKeyboardManager() {
94
+ return Promise.resolve(this._keyboardManager);
95
+ }
75
96
  /**
76
97
  * Obtém `true` caso o usuário logado seja o SUP.
77
98
  */
@@ -84,6 +105,17 @@ export class SnkApplication {
84
105
  });
85
106
  });
86
107
  }
108
+ /**
109
+ * Adiciona uma ação pendente que deve ser executada por um determinado locker.
110
+ *
111
+ * @param actionsLocker nome do locker da ação que será adicionada
112
+ * @param action ação que será executada
113
+ */
114
+ async addPendingAction(actionsLocker, action) {
115
+ var _a;
116
+ const actionsFromContext = (_a = this._pendingActions.get(actionsLocker)) !== null && _a !== void 0 ? _a : [];
117
+ this._pendingActions.set(actionsLocker, [...actionsFromContext, action]);
118
+ }
87
119
  /**
88
120
  * Realiza a chamada ao Service Broker conforme o nome do serviço.
89
121
  *
@@ -94,9 +126,15 @@ export class SnkApplication {
94
126
  async callServiceBroker(serviceName, payload, options) {
95
127
  return DataFetcher.get().callServiceBroker(serviceName, payload, options);
96
128
  }
97
- initOnboarding(onboardingKey) {
129
+ async initOnboarding(onboardingKey) {
130
+ if (this.hasToShowNewVersionPopup()) {
131
+ await this.addPendingAction(this.NEW_VERSION_POPUP_LOCKER, () => this.doInitOnboarding(onboardingKey));
132
+ return;
133
+ }
134
+ this.doInitOnboarding(onboardingKey);
135
+ }
136
+ doInitOnboarding(onboardingKey) {
98
137
  OnboardingUtils.getInstance().init(onboardingKey, window.envContext);
99
- return Promise.resolve();
100
138
  }
101
139
  /**
102
140
  * Obtém `true` caso o usuário logado tem permissão pra determinada ação.
@@ -178,6 +216,14 @@ export class SnkApplication {
178
216
  this._rightModal.appendChild(content);
179
217
  this._rightModal.opened = true;
180
218
  }
219
+ /**
220
+ * Apresenta uma lista de alertas,
221
+ * geralmente é utilizado para apresentar resultados
222
+ * de processamentos em lote.
223
+ */
224
+ showAlerts(alerts) {
225
+ return ApplicationUtils.showAlerts({ alerts });
226
+ }
181
227
  /**
182
228
  * Fecha o Modal e limpa o conteúdo.
183
229
  */
@@ -385,16 +431,6 @@ export class SnkApplication {
385
431
  resolve(DataFetcher.hasClientEvent(eventID));
386
432
  });
387
433
  }
388
- /**
389
- * Realiza a chamada ao Service Broker conforme o nome do serviço.
390
- *
391
- * @param serviceName - Nome do serviço
392
- * @param payload - Dados que serão processados na ação
393
- * @param options - Parâmetros de URL
394
- */
395
- async callServiceBroker(serviceName, payload, options) {
396
- return DataFetcher.get().callServiceBroker(serviceName, payload, options);
397
- }
398
434
  get applicationResourceID() {
399
435
  if (!this._applicationResourceID) {
400
436
  this._applicationResourceID = this.urlParams.get("workspaceResourceID") ||
@@ -458,6 +494,13 @@ export class SnkApplication {
458
494
  async loadTotals(name, resourceID, filters) {
459
495
  return this.totalsFetcher.fetchTotals(name, resourceID, filters);
460
496
  }
497
+ /**
498
+ * Obtém a informação se o último carregamento do dataunit foi feito através de um loadByPk
499
+ * @returns boolean
500
+ */
501
+ async isLoadedByPk() {
502
+ return Promise.resolve(this._isLoadedByPk);
503
+ }
461
504
  async getAuthList(auth) {
462
505
  return await (new MGEAuthorization()).parseFromJSON(auth);
463
506
  }
@@ -467,6 +510,10 @@ export class SnkApplication {
467
510
  }
468
511
  return this._urlParams;
469
512
  }
513
+ getMessage(key, params) {
514
+ var _a;
515
+ return (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage(key, params);
516
+ }
470
517
  get dataUnitFetcher() {
471
518
  if (!this._dataUnitFetcher) {
472
519
  this._dataUnitFetcher = new DataUnitFetcher();
@@ -535,11 +582,53 @@ export class SnkApplication {
535
582
  return this.executePreparedSearch(mode, argument, { entity: ENTITYNAME, entityDescription: DESCRIPTIONENTITY, criteria, searchOptions });
536
583
  }
537
584
  }
585
+ filterInvalidFields(resp, item, mdByName) {
586
+ let fieldsMetadata = resp.fieldsMetadata.filter((field) => {
587
+ let accept = !StringUtils.isEmpty(item[field.fieldName]) &&
588
+ field.visible !== false &&
589
+ field.type !== 'B' &&
590
+ resp.pkField !== field.fieldName &&
591
+ resp.descriptionField !== field.fieldName &&
592
+ (field.isPrimaryKey || !field.isLinkField) &&
593
+ !(field.type === 'S' && field.presentationType === 'H');
594
+ if (accept) {
595
+ mdByName[field.fieldName] = field;
596
+ }
597
+ //Condição que trata o problema de trazer imagem no entityCard na pesquisa de registros
598
+ if (typeof item[field.fieldName] === 'string' && (item[field.fieldName].indexOf('<img') > -1 || item[field.fieldName].indexOf('<svg') > -1)) {
599
+ return false;
600
+ }
601
+ return accept;
602
+ });
603
+ return fieldsMetadata;
604
+ }
605
+ filterMathFields(matchFields, fields, qtyFields, mdByName) {
606
+ if (matchFields && Array.isArray(matchFields)) {
607
+ matchFields.forEach((matchField) => {
608
+ let fieldMD = ArrayUtils.removeReference(fields, mdByName[matchField]);
609
+ if (fieldMD) {
610
+ fields.unshift(fieldMD);
611
+ }
612
+ });
613
+ }
614
+ fields = fields.slice(0, qtyFields);
615
+ return fields;
616
+ }
617
+ builOptionItem(argument, item, fields, descriptionField, pkField) {
618
+ var _a;
619
+ let exibitionItem = {
620
+ value: StringUtils.highlightValue(argument, item['__matchFields'], (_a = item[pkField]) === null || _a === void 0 ? void 0 : _a.toString(), fields, true),
621
+ label: descriptionField ? StringUtils.highlightValue(argument, item['__matchFields'], item[descriptionField], fields, true) : "",
622
+ details: SearchUtils.buildDetails(argument, fields, item)
623
+ };
624
+ return exibitionItem;
625
+ }
538
626
  /**
539
627
  * Obtém as opções em componentes de pesquisa
540
628
  * Ex.: snk-config-options
541
629
  */
542
630
  async executePreparedSearch(mode, argument, options) {
631
+ const mdByName = {};
543
632
  const { entity, entityDescription, criteria, searchOptions } = options;
544
633
  if (mode === "ADVANCED") {
545
634
  return new Promise(accept => {
@@ -557,7 +646,25 @@ export class SnkApplication {
557
646
  });
558
647
  }
559
648
  else {
560
- return this.pesquisaFetcher.loadSearchOptions(entity, argument, criteria, searchOptions);
649
+ return new Promise((resolve, reject) => {
650
+ this.pesquisaFetcher.loadAdvancedSearch(entity, argument, criteria, searchOptions)
651
+ .then(result => {
652
+ result = ObjectUtils.stringToObject(result.json.$);
653
+ let descriptionField = result.descriptionField;
654
+ let pkField = result.pkField;
655
+ const list = [];
656
+ result.data.forEach((item) => {
657
+ let fieldsMetadata = this.filterInvalidFields(result, item, mdByName);
658
+ let qtyFields = 6;
659
+ let fields = this.filterMathFields(item['__matchFields'], fieldsMetadata, qtyFields, mdByName);
660
+ list.push(this.builOptionItem(argument, item, fields, descriptionField, pkField));
661
+ });
662
+ resolve(list);
663
+ })
664
+ .catch(error => {
665
+ reject(error);
666
+ });
667
+ });
561
668
  }
562
669
  }
563
670
  /**
@@ -605,16 +712,23 @@ export class SnkApplication {
605
712
  });
606
713
  }
607
714
  /**
608
- Retorna o path relativo da aplicação.
715
+ * Retorna o path relativo da aplicação.
609
716
  */
610
- getApplicationPath() {
717
+ async getApplicationPath() {
611
718
  return new Promise((resolve) => {
612
719
  if (window['applicationenv'] !== "dev") {
613
- resolve(`/${window["MGE_MODULE_NAME"]}/labsApps/${window["APPLICATION_NAME"]}/build`);
720
+ resolve(`/${this.getModuleName()}/labsApps/${window["APPLICATION_NAME"]}/build`);
721
+ return;
614
722
  }
615
723
  resolve('');
616
724
  });
617
725
  }
726
+ /**
727
+ * Retorna o contexto Sankhya-om da aplicação.
728
+ */
729
+ getModuleName() {
730
+ return window["MGE_MODULE_NAME"] || 'mgefin-bff';
731
+ }
618
732
  /**
619
733
  * Com base em um campo realiza um "select distinct" respeitando os
620
734
  * filtros atuais do dataUnit e um critério de filtro para a própria
@@ -630,6 +744,19 @@ export class SnkApplication {
630
744
  getDataFetcher() {
631
745
  return Promise.resolve(DataFetcher.get());
632
746
  }
747
+ /**
748
+ * Retorna uma promise que sera resolvida quando o snk-application estiver carregado e registrado no ApplicationContext
749
+ * @returns SnkApplication carregado.
750
+ */
751
+ async whenApplicationReady() {
752
+ const isLoadding = ApplicationContext.getContextValue("__SNK__APPLICATION__LOADING__");
753
+ if (isLoadding) {
754
+ return Promise.resolve(this);
755
+ }
756
+ return new Promise((resolve) => {
757
+ this._waitingAppReady.push(() => resolve(this));
758
+ });
759
+ }
633
760
  clearContent(container) {
634
761
  if (container) {
635
762
  Array.from(container.children).forEach(child => {
@@ -643,6 +770,157 @@ export class SnkApplication {
643
770
  setPopUpTitle(title) {
644
771
  this._popUp.ezTitle = title;
645
772
  }
773
+ async pkChangeListener() {
774
+ const pkHash = top.window.location.hash.split('/')[2];
775
+ if (this._currentPkParameter === pkHash)
776
+ return;
777
+ const resourceIDfromUrl = this.getResourceIdFromToken();
778
+ const pkObject = UrlUtils.getPkObjectFromUrlToken(top.window.location.hash);
779
+ if (pkObject == undefined || resourceIDfromUrl !== this.applicationResourceID)
780
+ return;
781
+ const pkParam = { pk: pkObject };
782
+ this._isLoadedByPk = true;
783
+ if (this.loadByPK) {
784
+ this.loadByPK(pkParam);
785
+ this._currentPkParameter = pkHash;
786
+ return;
787
+ }
788
+ this.defaultLoadByPK(pkParam, pkHash);
789
+ }
790
+ getResourceIdFromToken() {
791
+ if ((top.window.location.pathname).indexOf("tabContent.jsp") > -1) {
792
+ return UrlUtils.getResourceIdFromUrlToken(window.location['generateHash'](window.location.hash));
793
+ }
794
+ return UrlUtils.getResourceIdFromUrlToken(top.window.location.hash);
795
+ }
796
+ defaultLoadByPK(pkObject, pkHash) {
797
+ if (!(pkObject === null || pkObject === void 0 ? void 0 : pkObject.pk))
798
+ return;
799
+ const snkDataUnit = this.getFirstDataUnitFromDOM();
800
+ const dataUnit = snkDataUnit.dataUnit;
801
+ if (!dataUnit) {
802
+ console.warn("Dataunit não inicializado");
803
+ snkDataUnit.addEventListener("dataUnitReady", (event) => {
804
+ this.loadDataWithPKFilter(pkObject, event.detail);
805
+ this._currentPkParameter = pkHash;
806
+ });
807
+ return;
808
+ }
809
+ this.loadDataWithPKFilter(pkObject, dataUnit);
810
+ this._currentPkParameter = pkHash;
811
+ }
812
+ loadDataWithPKFilter(pkObject, dataUnit) {
813
+ const quickFilter = {
814
+ term: '',
815
+ filter: {
816
+ name: 'LOAD_BY_PK_FILTER',
817
+ expression: this.buildFilterExpressionByPkObject(pkObject),
818
+ params: this.getFilterParamsFromPkObject(pkObject, dataUnit),
819
+ },
820
+ };
821
+ dataUnit.loadData(quickFilter);
822
+ }
823
+ getFirstDataUnitFromDOM() {
824
+ //Primeiro tentamos obeter o dataunit para fazer o loadByPK
825
+ let snkDataUnit = this._element.querySelector("snk-data-unit[data-load-by-pk]");
826
+ if (!snkDataUnit) {
827
+ snkDataUnit = this._element.querySelector("snk-data-unit");
828
+ }
829
+ if (snkDataUnit) {
830
+ return snkDataUnit;
831
+ }
832
+ return undefined;
833
+ }
834
+ getFilterParamsFromPkObject(pkObject, dataUnit) {
835
+ var _a;
836
+ const filterParams = [];
837
+ for (const key in pkObject.pk) {
838
+ if (pkObject.pk.hasOwnProperty(key) && !Array.isArray(pkObject.pk[key])) {
839
+ filterParams.push({
840
+ name: key,
841
+ dataType: ((_a = dataUnit.getField(key)) === null || _a === void 0 ? void 0 : _a.dataType) || this.getDefaultDataTypeLoadByPK(pkObject.pk[key]),
842
+ value: pkObject.pk[key]
843
+ });
844
+ }
845
+ }
846
+ return filterParams;
847
+ }
848
+ getDefaultDataTypeLoadByPK(value) {
849
+ if (typeof value === "number" || value instanceof Number) {
850
+ return DataType.NUMBER;
851
+ }
852
+ if (typeof value === "boolean" || value instanceof Boolean) {
853
+ return DataType.BOOLEAN;
854
+ }
855
+ if (value instanceof Date) {
856
+ return DataType.DATE;
857
+ }
858
+ return DataType.TEXT;
859
+ }
860
+ buildFilterExpressionByPkObject(pkObject) {
861
+ let expression = "";
862
+ for (const field in pkObject.pk) {
863
+ if (!StringUtils.isEmpty(expression)) {
864
+ expression += " AND ";
865
+ }
866
+ if (Array.isArray(pkObject.pk[field])) {
867
+ expression += `${field} IN (${pkObject.pk[field].toString()})`;
868
+ }
869
+ else {
870
+ expression += `${field} = :${field}`;
871
+ }
872
+ }
873
+ return expression;
874
+ }
875
+ async showNewVersionPopup() {
876
+ const modalContaner = document.createElement("ez-modal-container");
877
+ const appLabel = await this.getAppLabel();
878
+ modalContaner.modalTitle = this.getMessage("snkApplication.newVersionPopup.title", { screenName: appLabel });
879
+ modalContaner.okButtonLabel = this.getMessage("snkApplication.newVersionPopup.okButton");
880
+ modalContaner.cancelButtonLabel = this.getMessage("snkApplication.newVersionPopup.cancelButton");
881
+ const modalText = document.createElement("p");
882
+ modalText.innerText = this.getMessage("snkApplication.newVersionPopup.info");
883
+ modalText.className = "ez-text";
884
+ modalContaner.appendChild(modalText);
885
+ modalContaner.addEventListener("ezModalAction", this.newVersionPopupEventListener.bind(this));
886
+ const removePopup = await ApplicationUtils.showPopup({ content: modalContaner });
887
+ this._removeVersionLayoutPopup = async () => {
888
+ await removePopup();
889
+ await this.processPendingActions(this.NEW_VERSION_POPUP_LOCKER);
890
+ };
891
+ }
892
+ async newVersionPopupEventListener(e) {
893
+ if (e.detail === "LOAD")
894
+ return;
895
+ if (e.detail === "OK") {
896
+ Workspace.setScreenToUseV3Layout();
897
+ }
898
+ if (e.detail === "CANCEL") {
899
+ Workspace.setScreenToUseOldLayout();
900
+ }
901
+ this._popUp.opened = false;
902
+ if (this._removeVersionLayoutPopup) {
903
+ await this._removeVersionLayoutPopup();
904
+ }
905
+ }
906
+ async handleShowNewVersionPopup() {
907
+ if (this.hasToShowNewVersionPopup()) {
908
+ await this.showNewVersionPopup();
909
+ }
910
+ }
911
+ hasToShowNewVersionPopup() {
912
+ const urlParams = new URLSearchParams(window.location.search);
913
+ const firstLoadConv = urlParams.get("firstLoadConv");
914
+ return firstLoadConv && firstLoadConv === "S";
915
+ }
916
+ registerPkChangeListener() {
917
+ if (window.hasOwnProperty("onhashchange")) {
918
+ window.onhashchange = this.pkChangeListener.bind(this);
919
+ }
920
+ else {
921
+ setInterval(this.pkChangeListener.bind(this), 100);
922
+ }
923
+ }
646
924
  componentWillLoad() {
647
925
  ApplicationContext.setContextValue("__SNK__APPLICATION__LOADING__", true);
648
926
  this._errorHandler = new SnkErrorHandler(this);
@@ -652,8 +930,11 @@ export class SnkApplication {
652
930
  return this.executeSearch(searchArgument, fieldName, dataUnit);
653
931
  });
654
932
  ApplicationContext.setContextValue("__EZUI__GRID_LICENSE__", agGridLicense);
933
+ this.registerPkChangeListener();
655
934
  ErrorTracking.init();
656
935
  ConfigStorage.preload(this.applicationResourceID, this.configName);
936
+ document.addEventListener("click", () => Workspace.applicationClick());
937
+ this._waitingAppReady.forEach(resolve => resolve());
657
938
  }
658
939
  connectedCallback() {
659
940
  ApplicationContext.setContextValue("__SNK__APPLICATION__", this);
@@ -661,14 +942,30 @@ export class SnkApplication {
661
942
  }
662
943
  disconnectedCallback() {
663
944
  DataFetcher.removeRequestListener(this._requestListener);
945
+ this.removeShortcuts();
664
946
  }
665
- componentDidLoad() {
947
+ async componentDidLoad() {
666
948
  this.applicationLoading.emit(true);
667
949
  window.requestAnimationFrame(() => {
668
950
  ApplicationContext.setContextValue("__SNK__APPLICATION__LOADING__", false);
669
951
  this.applicationLoaded.emit(true);
952
+ this.pkChangeListener();
670
953
  });
671
954
  ElementIDUtils.addIDInfo(this._element, `resource_${this.applicationResourceID}`);
955
+ await this.handleShowNewVersionPopup();
956
+ this.initKeyboardManager();
957
+ }
958
+ initKeyboardManager() {
959
+ this._keyboardManager
960
+ .bind("ctrl + g", Workspace.searchApp.bind(this), { description: "Pesquisar por telas" })
961
+ .bind("ctrl + d", Workspace.showDesktop.bind(this), { description: "Mostrar o desktop" })
962
+ .bind("F1", Workspace.openHelp.bind(this), { description: "Abrir ajuda" });
963
+ }
964
+ removeShortcuts() {
965
+ this._keyboardManager
966
+ .unbind("ctrl + g")
967
+ .unbind("ctrl + d")
968
+ .unbind("F1");
672
969
  }
673
970
  render() {
674
971
  return (h("div", null, h("ez-loading-bar", { ref: (ref) => this._requestListener.loadingBar = ref }), h("ez-popup", { opened: false, ref: (ref) => this._popUp = ref, onEzClosePopup: () => this.closePopUp() }), h("ez-modal", { opened: false, ref: (ref) => this._rightModal = ref, "modal-size": "small", closeOutsideClick: true, closeEsc: true })));
@@ -723,6 +1020,25 @@ export class SnkApplication {
723
1020
  },
724
1021
  "attribute": "config-name",
725
1022
  "reflect": false
1023
+ },
1024
+ "loadByPK": {
1025
+ "type": "unknown",
1026
+ "mutable": false,
1027
+ "complexType": {
1028
+ "original": "(objPK :{pk: Record<string, any>}) => void",
1029
+ "resolved": "(objPK: { pk: Record<string, any>; }) => void",
1030
+ "references": {
1031
+ "Record": {
1032
+ "location": "global"
1033
+ }
1034
+ }
1035
+ },
1036
+ "required": false,
1037
+ "optional": false,
1038
+ "docs": {
1039
+ "tags": [],
1040
+ "text": "Usado para receber um par\u00E2metro na inicializa\u00E7\u00E3o da tela, e utiliz\u00E1-lo conforme necess\u00E1rio\ncaso a tela receba um par\u00E2metro, e, esta propriedade n\u00E3o seja informada\n\u00E9 criado um filtro de forma autom\u00E1tica atrav\u00E9s do m\u00E9todo defaultLoadByPk"
1041
+ }
726
1042
  }
727
1043
  };
728
1044
  }
@@ -761,6 +1077,29 @@ export class SnkApplication {
761
1077
  }
762
1078
  static get methods() {
763
1079
  return {
1080
+ "getKeyboardManager": {
1081
+ "complexType": {
1082
+ "signature": "() => Promise<KeyboardManager>",
1083
+ "parameters": [],
1084
+ "references": {
1085
+ "Promise": {
1086
+ "location": "global"
1087
+ },
1088
+ "KeyboardManager": {
1089
+ "location": "import",
1090
+ "path": "@sankhyalabs/core"
1091
+ }
1092
+ },
1093
+ "return": "Promise<KeyboardManager>"
1094
+ },
1095
+ "docs": {
1096
+ "text": "Obt\u00E9m o controlador de teclado.",
1097
+ "tags": [{
1098
+ "name": "return",
1099
+ "text": "the keyboard manager"
1100
+ }]
1101
+ }
1102
+ },
764
1103
  "isUserSup": {
765
1104
  "complexType": {
766
1105
  "signature": "() => Promise<boolean>",
@@ -777,6 +1116,43 @@ export class SnkApplication {
777
1116
  "tags": []
778
1117
  }
779
1118
  },
1119
+ "addPendingAction": {
1120
+ "complexType": {
1121
+ "signature": "(actionsLocker: string, action: Function) => Promise<void>",
1122
+ "parameters": [{
1123
+ "tags": [{
1124
+ "name": "param",
1125
+ "text": "actionsLocker nome do locker da a\u00E7\u00E3o que ser\u00E1 adicionada"
1126
+ }],
1127
+ "text": "nome do locker da a\u00E7\u00E3o que ser\u00E1 adicionada"
1128
+ }, {
1129
+ "tags": [{
1130
+ "name": "param",
1131
+ "text": "action a\u00E7\u00E3o que ser\u00E1 executada"
1132
+ }],
1133
+ "text": "a\u00E7\u00E3o que ser\u00E1 executada"
1134
+ }],
1135
+ "references": {
1136
+ "Promise": {
1137
+ "location": "global"
1138
+ },
1139
+ "Function": {
1140
+ "location": "global"
1141
+ }
1142
+ },
1143
+ "return": "Promise<void>"
1144
+ },
1145
+ "docs": {
1146
+ "text": "Adiciona uma a\u00E7\u00E3o pendente que deve ser executada por um determinado locker.",
1147
+ "tags": [{
1148
+ "name": "param",
1149
+ "text": "actionsLocker nome do locker da a\u00E7\u00E3o que ser\u00E1 adicionada"
1150
+ }, {
1151
+ "name": "param",
1152
+ "text": "action a\u00E7\u00E3o que ser\u00E1 executada"
1153
+ }]
1154
+ }
1155
+ },
780
1156
  "callServiceBroker": {
781
1157
  "complexType": {
782
1158
  "signature": "(serviceName: string, payload: string | Object, options?: Options) => Promise<any>",
@@ -1039,6 +1415,32 @@ export class SnkApplication {
1039
1415
  "tags": []
1040
1416
  }
1041
1417
  },
1418
+ "showAlerts": {
1419
+ "complexType": {
1420
+ "signature": "(alerts: Array<AlertItem>) => Promise<void>",
1421
+ "parameters": [{
1422
+ "tags": [],
1423
+ "text": ""
1424
+ }],
1425
+ "references": {
1426
+ "Promise": {
1427
+ "location": "global"
1428
+ },
1429
+ "Array": {
1430
+ "location": "global"
1431
+ },
1432
+ "AlertItem": {
1433
+ "location": "import",
1434
+ "path": "@sankhyalabs/ezui/dist/types/components/ez-alert-list/ez-alert-list"
1435
+ }
1436
+ },
1437
+ "return": "Promise<void>"
1438
+ },
1439
+ "docs": {
1440
+ "text": "Apresenta uma lista de alertas,\ngeralmente \u00E9 utilizado para apresentar resultados\nde processamentos em lote.",
1441
+ "tags": []
1442
+ }
1443
+ },
1042
1444
  "closeModal": {
1043
1445
  "complexType": {
1044
1446
  "signature": "() => Promise<void>",
@@ -1443,56 +1845,6 @@ export class SnkApplication {
1443
1845
  }]
1444
1846
  }
1445
1847
  },
1446
- "callServiceBroker": {
1447
- "complexType": {
1448
- "signature": "(serviceName: string, payload: string | Object, options?: Options) => Promise<any>",
1449
- "parameters": [{
1450
- "tags": [{
1451
- "name": "param",
1452
- "text": "serviceName - Nome do servi\u00E7o"
1453
- }],
1454
- "text": "- Nome do servi\u00E7o"
1455
- }, {
1456
- "tags": [{
1457
- "name": "param",
1458
- "text": "payload - Dados que ser\u00E3o processados na a\u00E7\u00E3o"
1459
- }],
1460
- "text": "- Dados que ser\u00E3o processados na a\u00E7\u00E3o"
1461
- }, {
1462
- "tags": [{
1463
- "name": "param",
1464
- "text": "options - Par\u00E2metros de URL"
1465
- }],
1466
- "text": "- Par\u00E2metros de URL"
1467
- }],
1468
- "references": {
1469
- "Promise": {
1470
- "location": "global"
1471
- },
1472
- "Object": {
1473
- "location": "global"
1474
- },
1475
- "Options": {
1476
- "location": "import",
1477
- "path": "../../lib/http/data-fetcher/DataFetcher"
1478
- }
1479
- },
1480
- "return": "Promise<any>"
1481
- },
1482
- "docs": {
1483
- "text": "Realiza a chamada ao Service Broker conforme o nome do servi\u00E7o.",
1484
- "tags": [{
1485
- "name": "param",
1486
- "text": "serviceName - Nome do servi\u00E7o"
1487
- }, {
1488
- "name": "param",
1489
- "text": "payload - Dados que ser\u00E3o processados na a\u00E7\u00E3o"
1490
- }, {
1491
- "name": "param",
1492
- "text": "options - Par\u00E2metros de URL"
1493
- }]
1494
- }
1495
- },
1496
1848
  "getResourceID": {
1497
1849
  "complexType": {
1498
1850
  "signature": "() => Promise<string>",
@@ -1753,6 +2105,25 @@ export class SnkApplication {
1753
2105
  "tags": []
1754
2106
  }
1755
2107
  },
2108
+ "isLoadedByPk": {
2109
+ "complexType": {
2110
+ "signature": "() => Promise<boolean>",
2111
+ "parameters": [],
2112
+ "references": {
2113
+ "Promise": {
2114
+ "location": "global"
2115
+ }
2116
+ },
2117
+ "return": "Promise<boolean>"
2118
+ },
2119
+ "docs": {
2120
+ "text": "Obt\u00E9m a informa\u00E7\u00E3o se o \u00FAltimo carregamento do dataunit foi feito atrav\u00E9s de um loadByPk",
2121
+ "tags": [{
2122
+ "name": "returns",
2123
+ "text": "boolean"
2124
+ }]
2125
+ }
2126
+ },
1756
2127
  "executeSearch": {
1757
2128
  "complexType": {
1758
2129
  "signature": "(searchArgument: ISearchArgument, fieldName: string, dataUnit: DataUnit) => Promise<Array<IOption> | IOption>",
@@ -1772,11 +2143,11 @@ export class SnkApplication {
1772
2143
  },
1773
2144
  "IOption": {
1774
2145
  "location": "import",
1775
- "path": "@sankhyalabs/ezui/dist/types/components/ez-combo-box/ez-combo-box"
2146
+ "path": "@sankhyalabs/ezui/dist/types/components/ez-search/ez-search"
1776
2147
  },
1777
2148
  "ISearchArgument": {
1778
2149
  "location": "import",
1779
- "path": "@sankhyalabs/ezui/dist/types/components/ez-combo-box/ez-combo-box"
2150
+ "path": "@sankhyalabs/ezui/dist/types/components/ez-search/ez-search"
1780
2151
  },
1781
2152
  "DataUnit": {
1782
2153
  "location": "import",
@@ -1816,7 +2187,7 @@ export class SnkApplication {
1816
2187
  },
1817
2188
  "IOption": {
1818
2189
  "location": "import",
1819
- "path": "@sankhyalabs/ezui/dist/types/components/ez-combo-box/ez-combo-box"
2190
+ "path": "@sankhyalabs/ezui/dist/types/components/ez-search/ez-search"
1820
2191
  },
1821
2192
  "Array": {
1822
2193
  "location": "global"
@@ -1973,7 +2344,7 @@ export class SnkApplication {
1973
2344
  "return": "Promise<any[]>"
1974
2345
  },
1975
2346
  "docs": {
1976
- "text": "Com base em um campo realiza um \"select distinct\" respeitando os \nfiltros atuais do dataUnit e um crit\u00E9rio de filtro para a pr\u00F3pria \ncoluna.",
2347
+ "text": "Com base em um campo realiza um \"select distinct\" respeitando os\nfiltros atuais do dataUnit e um crit\u00E9rio de filtro para a pr\u00F3pria\ncoluna.",
1977
2348
  "tags": []
1978
2349
  }
1979
2350
  },
@@ -1999,6 +2370,28 @@ export class SnkApplication {
1999
2370
  "text": "DataFetcher do application"
2000
2371
  }]
2001
2372
  }
2373
+ },
2374
+ "whenApplicationReady": {
2375
+ "complexType": {
2376
+ "signature": "() => Promise<SnkApplication>",
2377
+ "parameters": [],
2378
+ "references": {
2379
+ "Promise": {
2380
+ "location": "global"
2381
+ },
2382
+ "SnkApplication": {
2383
+ "location": "global"
2384
+ }
2385
+ },
2386
+ "return": "Promise<SnkApplication>"
2387
+ },
2388
+ "docs": {
2389
+ "text": "Retorna uma promise que sera resolvida quando o snk-application estiver carregado e registrado no ApplicationContext",
2390
+ "tags": [{
2391
+ "name": "returns",
2392
+ "text": "SnkApplication carregado."
2393
+ }]
2394
+ }
2002
2395
  }
2003
2396
  };
2004
2397
  }
@@ -2034,8 +2427,16 @@ class RequestListenerLoadingBar {
2034
2427
  }
2035
2428
  ;
2036
2429
  isIgnoreLoadingOnRequest(param) {
2037
- var _a;
2038
- if (((_a = param === null || param === void 0 ? void 0 : param.requestBody) === null || _a === void 0 ? void 0 : _a.length) == 1) {
2430
+ if (param == undefined) {
2431
+ return false;
2432
+ }
2433
+ if (param.url.includes("quietMode=true")) {
2434
+ return true;
2435
+ }
2436
+ if (param.requestBody == undefined) {
2437
+ return false;
2438
+ }
2439
+ if (param.requestBody.length == 1) {
2039
2440
  const { name } = param.requestBody[0].variables;
2040
2441
  if (name) {
2041
2442
  const nameParts = name.split(":");