@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
@@ -4,82 +4,95 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const DataFetcher = require('./DataFetcher-bd3d53a8.js');
8
7
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
9
- const pesquisaFetcher = require('./pesquisa-fetcher-3356b3df.js');
10
- const ConfigStorage = require('./ConfigStorage-0e4275f5.js');
11
- const dataunitFetcher = require('./dataunit-fetcher-910be4ce.js');
12
- const authFetcher = require('./auth-fetcher-1583fe43.js');
13
- const SnkMessageBuilder = require('./SnkMessageBuilder-d0abb63d.js');
14
- require('./_commonjsHelpers-537d719a.js');
15
- require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
8
+ const ConfigStorage = require('./ConfigStorage-8009ecb2.js');
9
+ const DataFetcher = require('./DataFetcher-ba94ed5b.js');
10
+ const authFetcher = require('./auth-fetcher-c8467c07.js');
11
+ const dataunitFetcher = require('./dataunit-fetcher-de65b9fc.js');
12
+ const pesquisaFetcher = require('./pesquisa-fetcher-ef050a47.js');
13
+ const SnkMessageBuilder = require('./SnkMessageBuilder-7293d0ad.js');
14
+ require('./form-config-fetcher-df043d3d.js');
15
+ require('./filter-item-type.enum-a7ffdaa6.js');
16
16
  require('./PrintUtils-bcaeb82f.js');
17
- require('./form-config-fetcher-f6cb55e6.js');
18
- require('./filter-item-type.enum-aa823a00.js');
17
+ require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
19
18
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
19
+ require('./PreloadManager-84466da6.js');
20
+ require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
21
+ require('./ResourceIDUtils-5ff86aa7.js');
20
22
 
21
- class SnkErrorHandler {
22
- constructor(app) {
23
- this._app = app;
24
- window.addEventListener("error", evt => this.errorHandler(evt));
25
- window.addEventListener("unhandledrejection", evt => this.rejectionHandler(evt));
23
+ class AppletCaller {
24
+ static webConnectionCaller(port, methodName, params) {
25
+ var _a;
26
+ (_a = window["AppletCaller"]) === null || _a === void 0 ? void 0 : _a.webConnectionCaller(port, methodName, params);
26
27
  }
27
- rejectionHandler(evt) {
28
- const reason = evt.reason;
29
- //Promisse rejeitada com WaitingChangeException, não precisam
30
- //ser notificadas pelo usuário.
31
- if (!(reason instanceof core.WaitingChangeException)) {
32
- if (reason) {
33
- this.processException(reason);
34
- }
35
- else {
36
- this._app.isDebugMode().then((isDebug) => {
37
- if (isDebug) {
38
- this._app.error("Promise rejeitada", "Erro interno: Uma promise foi rejeitada sem razão determinada.");
39
- }
40
- });
41
- }
42
- }
28
+ }
29
+
30
+ const _0x5b7870=_0x2202;(function(_0x42e134,_0x5d9727){const _0x185c97=_0x2202,_0x5854c7=_0x42e134();while(!![]){try{const _0x129d35=parseInt(_0x185c97(0x18f))/0x1*(-parseInt(_0x185c97(0x183))/0x2)+-parseInt(_0x185c97(0x191))/0x3+parseInt(_0x185c97(0x17d))/0x4*(-parseInt(_0x185c97(0x185))/0x5)+parseInt(_0x185c97(0x184))/0x6*(-parseInt(_0x185c97(0x182))/0x7)+parseInt(_0x185c97(0x17b))/0x8+parseInt(_0x185c97(0x18c))/0x9+parseInt(_0x185c97(0x17f))/0xa;if(_0x129d35===_0x5d9727)break;else _0x5854c7['push'](_0x5854c7['shift']());}catch(_0x4becb4){_0x5854c7['push'](_0x5854c7['shift']());}}}(_0xdfb1,0x44ac7));function _0x2202(_0x2eac1f,_0x170d27){const _0xdfb1b4=_0xdfb1();return _0x2202=function(_0x2202d7,_0x224df5){_0x2202d7=_0x2202d7-0x17a;let _0x4d54a9=_0xdfb1b4[_0x2202d7];return _0x4d54a9;},_0x2202(_0x2eac1f,_0x170d27);}function _0xdfb1(){const _0x2b9dc4=['true','863GKWjmo','parse','56355fjjjAm','isSup','putAccess','4324480sjuCdS','hasOwnProperty','239748okvJLB','name','6055770tXeRaU','actions','forEach','7RPRvzn','1042CHxkUw','2988126NIwRMm','20MTNzmH','authorizationSf','item','string','hasAccess','isArray','Objeto\x20não\x20pode\x20ser\x20indefinido.','3071943fWslZp','parseFromJSON'];_0xdfb1=function(){return _0x2b9dc4;};return _0xdfb1();}class MGEAuthorization{[_0x5b7870(0x18d)](_0x37e96b){const _0x580407=_0x5b7870;_0x37e96b=utxt(_0x37e96b[_0x580407(0x186)]);typeof _0x37e96b==_0x580407(0x188)&&(_0x37e96b=JSON[_0x580407(0x190)](_0x37e96b));if(_0x37e96b==undefined)throw Error(_0x580407(0x18b));const _0x291d34=new MGEAuthorizationData(_0x37e96b[_0x580407(0x192)]==='S'||_0x37e96b[_0x580407(0x192)]===!![]);return Array[_0x580407(0x18a)](_0x37e96b[_0x580407(0x187)])&&_0x37e96b[_0x580407(0x187)][_0x580407(0x181)](_0x58a748=>_0x291d34['putAccess'](_0x58a748[_0x580407(0x17e)],String(_0x58a748['status'])==_0x580407(0x18e))),_0x291d34;}}class MGEAuthorizationData{constructor(_0x51ec5d){const _0x2c8472=_0x5b7870;this['isSup']=_0x51ec5d,this[_0x2c8472(0x180)]={};}[_0x5b7870(0x17a)](_0x5bd0f2,_0x2ef465){const _0x40d701=_0x5b7870;this[_0x40d701(0x180)][_0x5bd0f2]=_0x2ef465;}[_0x5b7870(0x189)](_0x4fd772){const _0x3707c1=_0x5b7870;if(this[_0x3707c1(0x192)])return !![];let _0x25e60a=!![];return this[_0x3707c1(0x180)][_0x3707c1(0x17c)](_0x4fd772)&&(_0x25e60a=this['actions'][_0x4fd772]),_0x25e60a;}['isUserSup'](){return this['isSup'];}}
31
+
32
+ class ParametersFetcher {
33
+ constructor() {
34
+ this.templateByQuery = new Map();
35
+ this.buldTemplates();
43
36
  }
44
- errorHandler(evt) {
45
- this.processException(evt.error);
37
+ buldTemplates() {
38
+ this.templateByQuery.set("fetchParam", DataFetcher.dist.gql `query($name: String!) {
39
+ $queryAlias$: fetchResource(name: $name){
40
+ name
41
+ resource
42
+ }
43
+ }`);
46
44
  }
47
- buildErrorCodeHTML(errorCode) {
48
- const onclick = 'try{window.workspace.openHelp(\'_tbcode:' + errorCode + '\')} catch(e){alert(\'Não é possível abrir a ajuda fora do workspace Sankhya\');}';
49
- return '<br><a href="#" onclick="' + onclick + '">Código: ' + errorCode + '</a>';
45
+ async getParam(name) {
46
+ const completPath = `param://application?params=${name}`;
47
+ return DataFetcher.DataFetcher.get().callGraphQL({
48
+ values: { name: completPath },
49
+ query: this.templateByQuery.get("fetchParam"),
50
+ });
50
51
  }
51
- processException(exception) {
52
- if (exception.errorCode) {
53
- exception.message += this.buildErrorCodeHTML(exception.errorCode);
54
- }
55
- if (exception instanceof core.WaitingChangeException) {
56
- this._app.alert(exception.title, exception.message);
57
- }
58
- else if (exception instanceof core.WarningException) {
59
- this._app.alert(exception.title, exception.message);
52
+ async asString(name) {
53
+ const paramArr = await this.getParam(name);
54
+ return this.getValue(paramArr);
55
+ }
56
+ async asInteger(name) {
57
+ const paramArr = await this.getParam(name);
58
+ return parseInt(this.getValue(paramArr));
59
+ }
60
+ async asFloat(name) {
61
+ const paramArr = await this.getParam(name);
62
+ return parseFloat(this.getValue(paramArr));
63
+ }
64
+ async asBoolean(name) {
65
+ const paramArr = await this.getParam(name);
66
+ return (this.getValue(paramArr) === "S");
67
+ }
68
+ async asDate(name) {
69
+ const paramArr = await this.getParam(name);
70
+ return core.DateUtils.strToDate(this.getValue(paramArr));
71
+ }
72
+ async getBatchParams(names) {
73
+ const paramArr = await this.getParam(names.join(","));
74
+ //TODO: try to typed params val?
75
+ const response = {};
76
+ paramArr.forEach((param) => (response[param.name] = param.resource));
77
+ return response;
78
+ }
79
+ getValue(obj = {}) {
80
+ if (Array.isArray(obj) && obj.length > 0) {
81
+ obj = obj[0];
60
82
  }
61
- else if (exception instanceof core.ErrorException) {
62
- this._app.error(exception.title, exception.message);
83
+ if (core.StringUtils.isEmpty(obj.resource))
84
+ return "";
85
+ try {
86
+ const parameter = core.ObjectUtils.stringToObject(obj.resource);
87
+ const [key] = Object.keys(parameter);
88
+ return parameter[key];
63
89
  }
64
- else {
65
- this._app.isDebugMode().then(isDebug => {
66
- if (isDebug) {
67
- if (exception instanceof Error) {
68
- this._app.error(exception.name, exception.message);
69
- }
70
- else {
71
- const title = (exception === null || exception === void 0 ? void 0 : exception.title) || "Erro detectado";
72
- const message = (typeof exception === "string") ? exception : exception.message || `Erro interno "${core.ObjectUtils.objectToString(exception)}"`;
73
- this._app.error(title, message);
74
- }
75
- }
76
- });
90
+ catch (error) {
91
+ console.warn("Erro ao converter string JSON.");
77
92
  }
78
93
  }
79
94
  }
80
95
 
81
- function _0x53e1(){const _0x340df8=['2909523kXwted','CompanyName=Sankhya\x20Jiva\x20Tecnologia\x20e\x20Inovao\x20Ltda,LicensedApplication=Sankhya\x20Gestao,LicenseType=SingleApplication,LicensedConcurrentDeveloperCount=2,LicensedProductionInstancesCount=0,AssetReference=AG-019460,ExpiryDate=9_November_2022_[v2]_MTY2Nzk1MjAwMDAwMA==10487151e296ee4360f80961ca960869','1131048CARoeW','502909mLEPmu','447255iQEXuN','428UHbJwW','270AFTxAV','194369jhGqTI','1540nWuTrj','2044062GicUQI','30CkXPWg'];_0x53e1=function(){return _0x340df8;};return _0x53e1();}const _0xc7632f=_0x15c2;function _0x15c2(_0x353a9c,_0x3e4a5a){const _0x53e110=_0x53e1();return _0x15c2=function(_0x15c2aa,_0x219858){_0x15c2aa=_0x15c2aa-0x188;let _0x307231=_0x53e110[_0x15c2aa];return _0x307231;},_0x15c2(_0x353a9c,_0x3e4a5a);}(function(_0x42617e,_0x57debe){const _0x31061a=_0x15c2,_0x128d7d=_0x42617e();while(!![]){try{const _0x1c9bb1=-parseInt(_0x31061a(0x18e))/0x1+-parseInt(_0x31061a(0x189))/0x2+parseInt(_0x31061a(0x18b))/0x3+-parseInt(_0x31061a(0x190))/0x4*(parseInt(_0x31061a(0x188))/0x5)+-parseInt(_0x31061a(0x191))/0x6*(-parseInt(_0x31061a(0x192))/0x7)+parseInt(_0x31061a(0x18d))/0x8+-parseInt(_0x31061a(0x18f))/0x9*(-parseInt(_0x31061a(0x18a))/0xa);if(_0x1c9bb1===_0x57debe)break;else _0x128d7d['push'](_0x128d7d['shift']());}catch(_0x1bd816){_0x128d7d['push'](_0x128d7d['shift']());}}}(_0x53e1,0xe8676));const agGridLicense=_0xc7632f(0x18c);
82
-
83
96
  class TotalsFetcher {
84
97
  constructor() {
85
98
  this.templateByQuery = new Map();
@@ -142,6 +155,8 @@ class TotalsFetcher {
142
155
  }
143
156
  }
144
157
 
158
+ function _0x53e1(){const _0x340df8=['2909523kXwted','CompanyName=Sankhya\x20Jiva\x20Tecnologia\x20e\x20Inovao\x20Ltda,LicensedApplication=Sankhya\x20Gestao,LicenseType=SingleApplication,LicensedConcurrentDeveloperCount=2,LicensedProductionInstancesCount=0,AssetReference=AG-019460,ExpiryDate=9_November_2022_[v2]_MTY2Nzk1MjAwMDAwMA==10487151e296ee4360f80961ca960869','1131048CARoeW','502909mLEPmu','447255iQEXuN','428UHbJwW','270AFTxAV','194369jhGqTI','1540nWuTrj','2044062GicUQI','30CkXPWg'];_0x53e1=function(){return _0x340df8;};return _0x53e1();}const _0xc7632f=_0x15c2;function _0x15c2(_0x353a9c,_0x3e4a5a){const _0x53e110=_0x53e1();return _0x15c2=function(_0x15c2aa,_0x219858){_0x15c2aa=_0x15c2aa-0x188;let _0x307231=_0x53e110[_0x15c2aa];return _0x307231;},_0x15c2(_0x353a9c,_0x3e4a5a);}(function(_0x42617e,_0x57debe){const _0x31061a=_0x15c2,_0x128d7d=_0x42617e();while(!![]){try{const _0x1c9bb1=-parseInt(_0x31061a(0x18e))/0x1+-parseInt(_0x31061a(0x189))/0x2+parseInt(_0x31061a(0x18b))/0x3+-parseInt(_0x31061a(0x190))/0x4*(parseInt(_0x31061a(0x188))/0x5)+-parseInt(_0x31061a(0x191))/0x6*(-parseInt(_0x31061a(0x192))/0x7)+parseInt(_0x31061a(0x18d))/0x8+-parseInt(_0x31061a(0x18f))/0x9*(-parseInt(_0x31061a(0x18a))/0xa);if(_0x1c9bb1===_0x57debe)break;else _0x128d7d['push'](_0x128d7d['shift']());}catch(_0x1bd816){_0x128d7d['push'](_0x128d7d['shift']());}}}(_0x53e1,0xe8676));const agGridLicense=_0xc7632f(0x18c);
159
+
145
160
  var _a;
146
161
  class Workspace {
147
162
  static openAppActivity(resourceId, pkObject) {
@@ -159,82 +174,96 @@ class Workspace {
159
174
  }
160
175
  return window["workspace"].getAppLabel(resourceID);
161
176
  }
162
- }
163
- Workspace.resourceID = (_a = window["workspace"]) === null || _a === void 0 ? void 0 : _a.resourceID;
164
-
165
- class AppletCaller {
166
- static webConnectionCaller(port, methodName, params) {
177
+ static setScreenToUseV3Layout() {
167
178
  var _a;
168
- (_a = window["AppletCaller"]) === null || _a === void 0 ? void 0 : _a.webConnectionCaller(port, methodName, params);
179
+ (_a = window["workspace"]) === null || _a === void 0 ? void 0 : _a.setScreenToUseV3Layout();
169
180
  }
170
- }
171
-
172
- class ParametersFetcher {
173
- constructor() {
174
- this.templateByQuery = new Map();
175
- this.buldTemplates();
181
+ static setScreenToUseOldLayout() {
182
+ var _a;
183
+ (_a = window["workspace"]) === null || _a === void 0 ? void 0 : _a.setScreenToUseOldLayout();
176
184
  }
177
- buldTemplates() {
178
- this.templateByQuery.set("fetchParam", DataFetcher.dist.gql `query($name: String!) {
179
- $queryAlias$: fetchResource(name: $name){
180
- name
181
- resource
182
- }
183
- }`);
185
+ static showDesktop() {
186
+ var _a, _b;
187
+ (_b = (_a = window["workspace"]) === null || _a === void 0 ? void 0 : _a.showDesktop) === null || _b === void 0 ? void 0 : _b.call(_a);
184
188
  }
185
- async getParam(name) {
186
- const completPath = `param://application?params=${name}`;
187
- return DataFetcher.DataFetcher.get().callGraphQL({
188
- values: { name: completPath },
189
- query: this.templateByQuery.get("fetchParam"),
190
- });
189
+ static searchApp() {
190
+ var _a, _b;
191
+ (_b = (_a = window["workspace"]) === null || _a === void 0 ? void 0 : _a.searchApp) === null || _b === void 0 ? void 0 : _b.call(_a);
191
192
  }
192
- async asString(name) {
193
- const paramArr = await this.getParam(name);
194
- return this.getValue(paramArr);
193
+ static openHelp() {
194
+ var _a, _b;
195
+ (_b = (_a = window["workspace"]) === null || _a === void 0 ? void 0 : _a.openHelp) === null || _b === void 0 ? void 0 : _b.call(_a);
195
196
  }
196
- async asInteger(name) {
197
- const paramArr = await this.getParam(name);
198
- return parseInt(this.getValue(paramArr));
197
+ static applicationClick() {
198
+ var _a, _b;
199
+ if (!((_a = window["workspace"]) === null || _a === void 0 ? void 0 : _a.applicationClick)) {
200
+ return;
201
+ }
202
+ (_b = window["workspace"]) === null || _b === void 0 ? void 0 : _b.applicationClick();
199
203
  }
200
- async asFloat(name) {
201
- const paramArr = await this.getParam(name);
202
- return parseFloat(this.getValue(paramArr));
204
+ }
205
+ Workspace.resourceID = (_a = window["workspace"]) === null || _a === void 0 ? void 0 : _a.resourceID;
206
+
207
+ class SnkErrorHandler {
208
+ constructor(app) {
209
+ this._app = app;
210
+ window.addEventListener("error", evt => this.errorHandler(evt));
211
+ window.addEventListener("unhandledrejection", evt => this.rejectionHandler(evt));
203
212
  }
204
- async asBoolean(name) {
205
- const paramArr = await this.getParam(name);
206
- return (this.getValue(paramArr) === "S");
213
+ rejectionHandler(evt) {
214
+ const reason = evt.reason;
215
+ //Promisse rejeitada com WaitingChangeException, não precisam
216
+ //ser notificadas pelo usuário.
217
+ if (!(reason instanceof core.WaitingChangeException)) {
218
+ if (reason) {
219
+ this.processException(reason);
220
+ }
221
+ else {
222
+ this._app.isDebugMode().then((isDebug) => {
223
+ if (isDebug) {
224
+ this._app.error("Promise rejeitada", "Erro interno: Uma promise foi rejeitada sem razão determinada.");
225
+ }
226
+ });
227
+ }
228
+ }
207
229
  }
208
- async asDate(name) {
209
- const paramArr = await this.getParam(name);
210
- return core.DateUtils.strToDate(this.getValue(paramArr));
230
+ errorHandler(evt) {
231
+ this.processException(evt.error);
211
232
  }
212
- async getBatchParams(names) {
213
- const paramArr = await this.getParam(names.join(","));
214
- //TODO: try to typed params val?
215
- const response = {};
216
- paramArr.forEach((param) => (response[param.name] = param.resource));
217
- return response;
233
+ buildErrorCodeHTML(errorCode) {
234
+ const onclick = 'try{window.workspace.openHelp(\'_tbcode:' + errorCode + '\')} catch(e){alert(\'Não é possível abrir a ajuda fora do workspace Sankhya\');}';
235
+ return '<br><a href="#" onclick="' + onclick + '">Código: ' + errorCode + '</a>';
218
236
  }
219
- getValue(obj = {}) {
220
- if (Array.isArray(obj) && obj.length > 0) {
221
- obj = obj[0];
237
+ processException(exception) {
238
+ if (exception.errorCode) {
239
+ exception.message += this.buildErrorCodeHTML(exception.errorCode);
222
240
  }
223
- if (core.StringUtils.isEmpty(obj.resource))
224
- return "";
225
- try {
226
- const parameter = core.ObjectUtils.stringToObject(obj.resource);
227
- const [key] = Object.keys(parameter);
228
- return parameter[key];
241
+ if (exception instanceof core.WaitingChangeException) {
242
+ this._app.alert(exception.title, exception.message);
229
243
  }
230
- catch (error) {
231
- console.warn("Erro ao converter string JSON.");
244
+ else if (exception instanceof core.WarningException) {
245
+ this._app.alert(exception.title, exception.message);
246
+ }
247
+ else if (exception instanceof core.ErrorException) {
248
+ this._app.error(exception.title, exception.message);
249
+ }
250
+ else {
251
+ this._app.isDebugMode().then(isDebug => {
252
+ if (isDebug) {
253
+ if (exception instanceof Error) {
254
+ this._app.error(exception.name, exception.message);
255
+ }
256
+ else {
257
+ const title = (exception === null || exception === void 0 ? void 0 : exception.title) || "Erro detectado";
258
+ const message = (typeof exception === "string") ? exception : exception.message || `Erro interno "${core.ObjectUtils.objectToString(exception)}"`;
259
+ this._app.error(title, message);
260
+ }
261
+ }
262
+ });
232
263
  }
233
264
  }
234
265
  }
235
266
 
236
- const _0x5b7870=_0x2202;(function(_0x42e134,_0x5d9727){const _0x185c97=_0x2202,_0x5854c7=_0x42e134();while(!![]){try{const _0x129d35=parseInt(_0x185c97(0x18f))/0x1*(-parseInt(_0x185c97(0x183))/0x2)+-parseInt(_0x185c97(0x191))/0x3+parseInt(_0x185c97(0x17d))/0x4*(-parseInt(_0x185c97(0x185))/0x5)+parseInt(_0x185c97(0x184))/0x6*(-parseInt(_0x185c97(0x182))/0x7)+parseInt(_0x185c97(0x17b))/0x8+parseInt(_0x185c97(0x18c))/0x9+parseInt(_0x185c97(0x17f))/0xa;if(_0x129d35===_0x5d9727)break;else _0x5854c7['push'](_0x5854c7['shift']());}catch(_0x4becb4){_0x5854c7['push'](_0x5854c7['shift']());}}}(_0xdfb1,0x44ac7));function _0x2202(_0x2eac1f,_0x170d27){const _0xdfb1b4=_0xdfb1();return _0x2202=function(_0x2202d7,_0x224df5){_0x2202d7=_0x2202d7-0x17a;let _0x4d54a9=_0xdfb1b4[_0x2202d7];return _0x4d54a9;},_0x2202(_0x2eac1f,_0x170d27);}function _0xdfb1(){const _0x2b9dc4=['true','863GKWjmo','parse','56355fjjjAm','isSup','putAccess','4324480sjuCdS','hasOwnProperty','239748okvJLB','name','6055770tXeRaU','actions','forEach','7RPRvzn','1042CHxkUw','2988126NIwRMm','20MTNzmH','authorizationSf','item','string','hasAccess','isArray','Objeto\x20não\x20pode\x20ser\x20indefinido.','3071943fWslZp','parseFromJSON'];_0xdfb1=function(){return _0x2b9dc4;};return _0xdfb1();}class MGEAuthorization{[_0x5b7870(0x18d)](_0x37e96b){const _0x580407=_0x5b7870;_0x37e96b=utxt(_0x37e96b[_0x580407(0x186)]);typeof _0x37e96b==_0x580407(0x188)&&(_0x37e96b=JSON[_0x580407(0x190)](_0x37e96b));if(_0x37e96b==undefined)throw Error(_0x580407(0x18b));const _0x291d34=new MGEAuthorizationData(_0x37e96b[_0x580407(0x192)]==='S'||_0x37e96b[_0x580407(0x192)]===!![]);return Array[_0x580407(0x18a)](_0x37e96b[_0x580407(0x187)])&&_0x37e96b[_0x580407(0x187)][_0x580407(0x181)](_0x58a748=>_0x291d34['putAccess'](_0x58a748[_0x580407(0x17e)],String(_0x58a748['status'])==_0x580407(0x18e))),_0x291d34;}}class MGEAuthorizationData{constructor(_0x51ec5d){const _0x2c8472=_0x5b7870;this['isSup']=_0x51ec5d,this[_0x2c8472(0x180)]={};}[_0x5b7870(0x17a)](_0x5bd0f2,_0x2ef465){const _0x40d701=_0x5b7870;this[_0x40d701(0x180)][_0x5bd0f2]=_0x2ef465;}[_0x5b7870(0x189)](_0x4fd772){const _0x3707c1=_0x5b7870;if(this[_0x3707c1(0x192)])return !![];let _0x25e60a=!![];return this[_0x3707c1(0x180)][_0x3707c1(0x17c)](_0x4fd772)&&(_0x25e60a=this['actions'][_0x4fd772]),_0x25e60a;}['isUserSup'](){return this['isSup'];}}
237
-
238
267
  const snkApplicationCss = ".sc-snk-application-h{display:flex;flex-direction:column;height:100%}";
239
268
 
240
269
  const SnkApplication = class {
@@ -242,12 +271,25 @@ const SnkApplication = class {
242
271
  index.registerInstance(this, hostRef);
243
272
  this.applicationLoaded = index.createEvent(this, "applicationLoaded", 7);
244
273
  this.applicationLoading = index.createEvent(this, "applicationLoading", 7);
274
+ this.NEW_VERSION_POPUP_LOCKER = "NEW_VERSION_POPUP_LOCKER";
245
275
  this._authPromises = [];
276
+ this._keyboardManager = new core.KeyboardManager();
277
+ this._waitingAppReady = new Array();
246
278
  this._duCache = new Map();
247
279
  this._duPromises = new Map();
248
280
  this._requestListener = new RequestListenerLoadingBar();
281
+ this._pendingActions = new Map;
282
+ this._isLoadedByPk = false;
249
283
  this.messagesBuilder = undefined;
250
284
  this.configName = undefined;
285
+ this.loadByPK = undefined;
286
+ }
287
+ async processPendingActions(actionsLocker) {
288
+ const pendingActionsFromContext = this._pendingActions.get(actionsLocker);
289
+ if (pendingActionsFromContext && pendingActionsFromContext.length) {
290
+ pendingActionsFromContext.forEach(action => action());
291
+ this._pendingActions.set(actionsLocker, []);
292
+ }
251
293
  }
252
294
  get parameters() {
253
295
  if (!this._parameters) {
@@ -292,6 +334,14 @@ const SnkApplication = class {
292
334
  });
293
335
  }
294
336
  }
337
+ /**
338
+ * Obtém o controlador de teclado.
339
+ *
340
+ * @return {KeyboardManager} the keyboard manager
341
+ */
342
+ async getKeyboardManager() {
343
+ return Promise.resolve(this._keyboardManager);
344
+ }
295
345
  /**
296
346
  * Obtém `true` caso o usuário logado seja o SUP.
297
347
  */
@@ -304,6 +354,17 @@ const SnkApplication = class {
304
354
  });
305
355
  });
306
356
  }
357
+ /**
358
+ * Adiciona uma ação pendente que deve ser executada por um determinado locker.
359
+ *
360
+ * @param actionsLocker nome do locker da ação que será adicionada
361
+ * @param action ação que será executada
362
+ */
363
+ async addPendingAction(actionsLocker, action) {
364
+ var _a;
365
+ const actionsFromContext = (_a = this._pendingActions.get(actionsLocker)) !== null && _a !== void 0 ? _a : [];
366
+ this._pendingActions.set(actionsLocker, [...actionsFromContext, action]);
367
+ }
307
368
  /**
308
369
  * Realiza a chamada ao Service Broker conforme o nome do serviço.
309
370
  *
@@ -314,9 +375,15 @@ const SnkApplication = class {
314
375
  async callServiceBroker(serviceName, payload, options) {
315
376
  return DataFetcher.DataFetcher.get().callServiceBroker(serviceName, payload, options);
316
377
  }
317
- initOnboarding(onboardingKey) {
378
+ async initOnboarding(onboardingKey) {
379
+ if (this.hasToShowNewVersionPopup()) {
380
+ await this.addPendingAction(this.NEW_VERSION_POPUP_LOCKER, () => this.doInitOnboarding(onboardingKey));
381
+ return;
382
+ }
383
+ this.doInitOnboarding(onboardingKey);
384
+ }
385
+ doInitOnboarding(onboardingKey) {
318
386
  core.OnboardingUtils.getInstance().init(onboardingKey, window.envContext);
319
- return Promise.resolve();
320
387
  }
321
388
  /**
322
389
  * Obtém `true` caso o usuário logado tem permissão pra determinada ação.
@@ -398,6 +465,14 @@ const SnkApplication = class {
398
465
  this._rightModal.appendChild(content);
399
466
  this._rightModal.opened = true;
400
467
  }
468
+ /**
469
+ * Apresenta uma lista de alertas,
470
+ * geralmente é utilizado para apresentar resultados
471
+ * de processamentos em lote.
472
+ */
473
+ showAlerts(alerts) {
474
+ return utils.ApplicationUtils.showAlerts({ alerts });
475
+ }
401
476
  /**
402
477
  * Fecha o Modal e limpa o conteúdo.
403
478
  */
@@ -605,16 +680,6 @@ const SnkApplication = class {
605
680
  resolve(DataFetcher.DataFetcher.hasClientEvent(eventID));
606
681
  });
607
682
  }
608
- /**
609
- * Realiza a chamada ao Service Broker conforme o nome do serviço.
610
- *
611
- * @param serviceName - Nome do serviço
612
- * @param payload - Dados que serão processados na ação
613
- * @param options - Parâmetros de URL
614
- */
615
- async callServiceBroker(serviceName, payload, options) {
616
- return DataFetcher.DataFetcher.get().callServiceBroker(serviceName, payload, options);
617
- }
618
683
  get applicationResourceID() {
619
684
  if (!this._applicationResourceID) {
620
685
  this._applicationResourceID = this.urlParams.get("workspaceResourceID") ||
@@ -678,6 +743,13 @@ const SnkApplication = class {
678
743
  async loadTotals(name, resourceID, filters) {
679
744
  return this.totalsFetcher.fetchTotals(name, resourceID, filters);
680
745
  }
746
+ /**
747
+ * Obtém a informação se o último carregamento do dataunit foi feito através de um loadByPk
748
+ * @returns boolean
749
+ */
750
+ async isLoadedByPk() {
751
+ return Promise.resolve(this._isLoadedByPk);
752
+ }
681
753
  async getAuthList(auth) {
682
754
  return await (new MGEAuthorization()).parseFromJSON(auth);
683
755
  }
@@ -687,6 +759,10 @@ const SnkApplication = class {
687
759
  }
688
760
  return this._urlParams;
689
761
  }
762
+ getMessage(key, params) {
763
+ var _a;
764
+ return (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage(key, params);
765
+ }
690
766
  get dataUnitFetcher() {
691
767
  if (!this._dataUnitFetcher) {
692
768
  this._dataUnitFetcher = new dataunitFetcher.DataUnitFetcher();
@@ -753,11 +829,53 @@ const SnkApplication = class {
753
829
  return this.executePreparedSearch(mode, argument, { entity: ENTITYNAME, entityDescription: DESCRIPTIONENTITY, criteria, searchOptions });
754
830
  }
755
831
  }
832
+ filterInvalidFields(resp, item, mdByName) {
833
+ let fieldsMetadata = resp.fieldsMetadata.filter((field) => {
834
+ let accept = !core.StringUtils.isEmpty(item[field.fieldName]) &&
835
+ field.visible !== false &&
836
+ field.type !== 'B' &&
837
+ resp.pkField !== field.fieldName &&
838
+ resp.descriptionField !== field.fieldName &&
839
+ (field.isPrimaryKey || !field.isLinkField) &&
840
+ !(field.type === 'S' && field.presentationType === 'H');
841
+ if (accept) {
842
+ mdByName[field.fieldName] = field;
843
+ }
844
+ //Condição que trata o problema de trazer imagem no entityCard na pesquisa de registros
845
+ if (typeof item[field.fieldName] === 'string' && (item[field.fieldName].indexOf('<img') > -1 || item[field.fieldName].indexOf('<svg') > -1)) {
846
+ return false;
847
+ }
848
+ return accept;
849
+ });
850
+ return fieldsMetadata;
851
+ }
852
+ filterMathFields(matchFields, fields, qtyFields, mdByName) {
853
+ if (matchFields && Array.isArray(matchFields)) {
854
+ matchFields.forEach((matchField) => {
855
+ let fieldMD = core.ArrayUtils.removeReference(fields, mdByName[matchField]);
856
+ if (fieldMD) {
857
+ fields.unshift(fieldMD);
858
+ }
859
+ });
860
+ }
861
+ fields = fields.slice(0, qtyFields);
862
+ return fields;
863
+ }
864
+ builOptionItem(argument, item, fields, descriptionField, pkField) {
865
+ var _a;
866
+ let exibitionItem = {
867
+ value: core.StringUtils.highlightValue(argument, item['__matchFields'], (_a = item[pkField]) === null || _a === void 0 ? void 0 : _a.toString(), fields, true),
868
+ label: descriptionField ? core.StringUtils.highlightValue(argument, item['__matchFields'], item[descriptionField], fields, true) : "",
869
+ details: core.SearchUtils.buildDetails(argument, fields, item)
870
+ };
871
+ return exibitionItem;
872
+ }
756
873
  /**
757
874
  * Obtém as opções em componentes de pesquisa
758
875
  * Ex.: snk-config-options
759
876
  */
760
877
  async executePreparedSearch(mode, argument, options) {
878
+ const mdByName = {};
761
879
  const { entity, entityDescription, criteria, searchOptions } = options;
762
880
  if (mode === "ADVANCED") {
763
881
  return new Promise(accept => {
@@ -775,7 +893,25 @@ const SnkApplication = class {
775
893
  });
776
894
  }
777
895
  else {
778
- return this.pesquisaFetcher.loadSearchOptions(entity, argument, criteria, searchOptions);
896
+ return new Promise((resolve, reject) => {
897
+ this.pesquisaFetcher.loadAdvancedSearch(entity, argument, criteria, searchOptions)
898
+ .then(result => {
899
+ result = core.ObjectUtils.stringToObject(result.json.$);
900
+ let descriptionField = result.descriptionField;
901
+ let pkField = result.pkField;
902
+ const list = [];
903
+ result.data.forEach((item) => {
904
+ let fieldsMetadata = this.filterInvalidFields(result, item, mdByName);
905
+ let qtyFields = 6;
906
+ let fields = this.filterMathFields(item['__matchFields'], fieldsMetadata, qtyFields, mdByName);
907
+ list.push(this.builOptionItem(argument, item, fields, descriptionField, pkField));
908
+ });
909
+ resolve(list);
910
+ })
911
+ .catch(error => {
912
+ reject(error);
913
+ });
914
+ });
779
915
  }
780
916
  }
781
917
  /**
@@ -823,16 +959,23 @@ const SnkApplication = class {
823
959
  });
824
960
  }
825
961
  /**
826
- Retorna o path relativo da aplicação.
962
+ * Retorna o path relativo da aplicação.
827
963
  */
828
- getApplicationPath() {
964
+ async getApplicationPath() {
829
965
  return new Promise((resolve) => {
830
966
  if (window['applicationenv'] !== "dev") {
831
- resolve(`/${window["MGE_MODULE_NAME"]}/labsApps/${window["APPLICATION_NAME"]}/build`);
967
+ resolve(`/${this.getModuleName()}/labsApps/${window["APPLICATION_NAME"]}/build`);
968
+ return;
832
969
  }
833
970
  resolve('');
834
971
  });
835
972
  }
973
+ /**
974
+ * Retorna o contexto Sankhya-om da aplicação.
975
+ */
976
+ getModuleName() {
977
+ return window["MGE_MODULE_NAME"] || 'mgefin-bff';
978
+ }
836
979
  /**
837
980
  * Com base em um campo realiza um "select distinct" respeitando os
838
981
  * filtros atuais do dataUnit e um critério de filtro para a própria
@@ -848,6 +991,19 @@ const SnkApplication = class {
848
991
  getDataFetcher() {
849
992
  return Promise.resolve(DataFetcher.DataFetcher.get());
850
993
  }
994
+ /**
995
+ * Retorna uma promise que sera resolvida quando o snk-application estiver carregado e registrado no ApplicationContext
996
+ * @returns SnkApplication carregado.
997
+ */
998
+ async whenApplicationReady() {
999
+ const isLoadding = core.ApplicationContext.getContextValue("__SNK__APPLICATION__LOADING__");
1000
+ if (isLoadding) {
1001
+ return Promise.resolve(this);
1002
+ }
1003
+ return new Promise((resolve) => {
1004
+ this._waitingAppReady.push(() => resolve(this));
1005
+ });
1006
+ }
851
1007
  clearContent(container) {
852
1008
  if (container) {
853
1009
  Array.from(container.children).forEach(child => {
@@ -861,6 +1017,157 @@ const SnkApplication = class {
861
1017
  setPopUpTitle(title) {
862
1018
  this._popUp.ezTitle = title;
863
1019
  }
1020
+ async pkChangeListener() {
1021
+ const pkHash = top.window.location.hash.split('/')[2];
1022
+ if (this._currentPkParameter === pkHash)
1023
+ return;
1024
+ const resourceIDfromUrl = this.getResourceIdFromToken();
1025
+ const pkObject = DataFetcher.UrlUtils.getPkObjectFromUrlToken(top.window.location.hash);
1026
+ if (pkObject == undefined || resourceIDfromUrl !== this.applicationResourceID)
1027
+ return;
1028
+ const pkParam = { pk: pkObject };
1029
+ this._isLoadedByPk = true;
1030
+ if (this.loadByPK) {
1031
+ this.loadByPK(pkParam);
1032
+ this._currentPkParameter = pkHash;
1033
+ return;
1034
+ }
1035
+ this.defaultLoadByPK(pkParam, pkHash);
1036
+ }
1037
+ getResourceIdFromToken() {
1038
+ if ((top.window.location.pathname).indexOf("tabContent.jsp") > -1) {
1039
+ return DataFetcher.UrlUtils.getResourceIdFromUrlToken(window.location['generateHash'](window.location.hash));
1040
+ }
1041
+ return DataFetcher.UrlUtils.getResourceIdFromUrlToken(top.window.location.hash);
1042
+ }
1043
+ defaultLoadByPK(pkObject, pkHash) {
1044
+ if (!(pkObject === null || pkObject === void 0 ? void 0 : pkObject.pk))
1045
+ return;
1046
+ const snkDataUnit = this.getFirstDataUnitFromDOM();
1047
+ const dataUnit = snkDataUnit.dataUnit;
1048
+ if (!dataUnit) {
1049
+ console.warn("Dataunit não inicializado");
1050
+ snkDataUnit.addEventListener("dataUnitReady", (event) => {
1051
+ this.loadDataWithPKFilter(pkObject, event.detail);
1052
+ this._currentPkParameter = pkHash;
1053
+ });
1054
+ return;
1055
+ }
1056
+ this.loadDataWithPKFilter(pkObject, dataUnit);
1057
+ this._currentPkParameter = pkHash;
1058
+ }
1059
+ loadDataWithPKFilter(pkObject, dataUnit) {
1060
+ const quickFilter = {
1061
+ term: '',
1062
+ filter: {
1063
+ name: 'LOAD_BY_PK_FILTER',
1064
+ expression: this.buildFilterExpressionByPkObject(pkObject),
1065
+ params: this.getFilterParamsFromPkObject(pkObject, dataUnit),
1066
+ },
1067
+ };
1068
+ dataUnit.loadData(quickFilter);
1069
+ }
1070
+ getFirstDataUnitFromDOM() {
1071
+ //Primeiro tentamos obeter o dataunit para fazer o loadByPK
1072
+ let snkDataUnit = this._element.querySelector("snk-data-unit[data-load-by-pk]");
1073
+ if (!snkDataUnit) {
1074
+ snkDataUnit = this._element.querySelector("snk-data-unit");
1075
+ }
1076
+ if (snkDataUnit) {
1077
+ return snkDataUnit;
1078
+ }
1079
+ return undefined;
1080
+ }
1081
+ getFilterParamsFromPkObject(pkObject, dataUnit) {
1082
+ var _a;
1083
+ const filterParams = [];
1084
+ for (const key in pkObject.pk) {
1085
+ if (pkObject.pk.hasOwnProperty(key) && !Array.isArray(pkObject.pk[key])) {
1086
+ filterParams.push({
1087
+ name: key,
1088
+ dataType: ((_a = dataUnit.getField(key)) === null || _a === void 0 ? void 0 : _a.dataType) || this.getDefaultDataTypeLoadByPK(pkObject.pk[key]),
1089
+ value: pkObject.pk[key]
1090
+ });
1091
+ }
1092
+ }
1093
+ return filterParams;
1094
+ }
1095
+ getDefaultDataTypeLoadByPK(value) {
1096
+ if (typeof value === "number" || value instanceof Number) {
1097
+ return core.DataType.NUMBER;
1098
+ }
1099
+ if (typeof value === "boolean" || value instanceof Boolean) {
1100
+ return core.DataType.BOOLEAN;
1101
+ }
1102
+ if (value instanceof Date) {
1103
+ return core.DataType.DATE;
1104
+ }
1105
+ return core.DataType.TEXT;
1106
+ }
1107
+ buildFilterExpressionByPkObject(pkObject) {
1108
+ let expression = "";
1109
+ for (const field in pkObject.pk) {
1110
+ if (!core.StringUtils.isEmpty(expression)) {
1111
+ expression += " AND ";
1112
+ }
1113
+ if (Array.isArray(pkObject.pk[field])) {
1114
+ expression += `${field} IN (${pkObject.pk[field].toString()})`;
1115
+ }
1116
+ else {
1117
+ expression += `${field} = :${field}`;
1118
+ }
1119
+ }
1120
+ return expression;
1121
+ }
1122
+ async showNewVersionPopup() {
1123
+ const modalContaner = document.createElement("ez-modal-container");
1124
+ const appLabel = await this.getAppLabel();
1125
+ modalContaner.modalTitle = this.getMessage("snkApplication.newVersionPopup.title", { screenName: appLabel });
1126
+ modalContaner.okButtonLabel = this.getMessage("snkApplication.newVersionPopup.okButton");
1127
+ modalContaner.cancelButtonLabel = this.getMessage("snkApplication.newVersionPopup.cancelButton");
1128
+ const modalText = document.createElement("p");
1129
+ modalText.innerText = this.getMessage("snkApplication.newVersionPopup.info");
1130
+ modalText.className = "ez-text";
1131
+ modalContaner.appendChild(modalText);
1132
+ modalContaner.addEventListener("ezModalAction", this.newVersionPopupEventListener.bind(this));
1133
+ const removePopup = await utils.ApplicationUtils.showPopup({ content: modalContaner });
1134
+ this._removeVersionLayoutPopup = async () => {
1135
+ await removePopup();
1136
+ await this.processPendingActions(this.NEW_VERSION_POPUP_LOCKER);
1137
+ };
1138
+ }
1139
+ async newVersionPopupEventListener(e) {
1140
+ if (e.detail === "LOAD")
1141
+ return;
1142
+ if (e.detail === "OK") {
1143
+ Workspace.setScreenToUseV3Layout();
1144
+ }
1145
+ if (e.detail === "CANCEL") {
1146
+ Workspace.setScreenToUseOldLayout();
1147
+ }
1148
+ this._popUp.opened = false;
1149
+ if (this._removeVersionLayoutPopup) {
1150
+ await this._removeVersionLayoutPopup();
1151
+ }
1152
+ }
1153
+ async handleShowNewVersionPopup() {
1154
+ if (this.hasToShowNewVersionPopup()) {
1155
+ await this.showNewVersionPopup();
1156
+ }
1157
+ }
1158
+ hasToShowNewVersionPopup() {
1159
+ const urlParams = new URLSearchParams(window.location.search);
1160
+ const firstLoadConv = urlParams.get("firstLoadConv");
1161
+ return firstLoadConv && firstLoadConv === "S";
1162
+ }
1163
+ registerPkChangeListener() {
1164
+ if (window.hasOwnProperty("onhashchange")) {
1165
+ window.onhashchange = this.pkChangeListener.bind(this);
1166
+ }
1167
+ else {
1168
+ setInterval(this.pkChangeListener.bind(this), 100);
1169
+ }
1170
+ }
864
1171
  componentWillLoad() {
865
1172
  core.ApplicationContext.setContextValue("__SNK__APPLICATION__LOADING__", true);
866
1173
  this._errorHandler = new SnkErrorHandler(this);
@@ -870,8 +1177,11 @@ const SnkApplication = class {
870
1177
  return this.executeSearch(searchArgument, fieldName, dataUnit);
871
1178
  });
872
1179
  core.ApplicationContext.setContextValue("__EZUI__GRID_LICENSE__", agGridLicense);
1180
+ this.registerPkChangeListener();
873
1181
  core.ErrorTracking.init();
874
1182
  ConfigStorage.ConfigStorage.preload(this.applicationResourceID, this.configName);
1183
+ document.addEventListener("click", () => Workspace.applicationClick());
1184
+ this._waitingAppReady.forEach(resolve => resolve());
875
1185
  }
876
1186
  connectedCallback() {
877
1187
  core.ApplicationContext.setContextValue("__SNK__APPLICATION__", this);
@@ -879,14 +1189,30 @@ const SnkApplication = class {
879
1189
  }
880
1190
  disconnectedCallback() {
881
1191
  DataFetcher.DataFetcher.removeRequestListener(this._requestListener);
1192
+ this.removeShortcuts();
882
1193
  }
883
- componentDidLoad() {
1194
+ async componentDidLoad() {
884
1195
  this.applicationLoading.emit(true);
885
1196
  window.requestAnimationFrame(() => {
886
1197
  core.ApplicationContext.setContextValue("__SNK__APPLICATION__LOADING__", false);
887
1198
  this.applicationLoaded.emit(true);
1199
+ this.pkChangeListener();
888
1200
  });
889
1201
  core.ElementIDUtils.addIDInfo(this._element, `resource_${this.applicationResourceID}`);
1202
+ await this.handleShowNewVersionPopup();
1203
+ this.initKeyboardManager();
1204
+ }
1205
+ initKeyboardManager() {
1206
+ this._keyboardManager
1207
+ .bind("ctrl + g", Workspace.searchApp.bind(this), { description: "Pesquisar por telas" })
1208
+ .bind("ctrl + d", Workspace.showDesktop.bind(this), { description: "Mostrar o desktop" })
1209
+ .bind("F1", Workspace.openHelp.bind(this), { description: "Abrir ajuda" });
1210
+ }
1211
+ removeShortcuts() {
1212
+ this._keyboardManager
1213
+ .unbind("ctrl + g")
1214
+ .unbind("ctrl + d")
1215
+ .unbind("F1");
890
1216
  }
891
1217
  render() {
892
1218
  return (index.h("div", null, index.h("ez-loading-bar", { ref: (ref) => this._requestListener.loadingBar = ref }), index.h("ez-popup", { opened: false, ref: (ref) => this._popUp = ref, onEzClosePopup: () => this.closePopUp() }), index.h("ez-modal", { opened: false, ref: (ref) => this._rightModal = ref, "modal-size": "small", closeOutsideClick: true, closeEsc: true })));
@@ -923,8 +1249,16 @@ class RequestListenerLoadingBar {
923
1249
  }
924
1250
  ;
925
1251
  isIgnoreLoadingOnRequest(param) {
926
- var _a;
927
- if (((_a = param === null || param === void 0 ? void 0 : param.requestBody) === null || _a === void 0 ? void 0 : _a.length) == 1) {
1252
+ if (param == undefined) {
1253
+ return false;
1254
+ }
1255
+ if (param.url.includes("quietMode=true")) {
1256
+ return true;
1257
+ }
1258
+ if (param.requestBody == undefined) {
1259
+ return false;
1260
+ }
1261
+ if (param.requestBody.length == 1) {
928
1262
  const { name } = param.requestBody[0].variables;
929
1263
  if (name) {
930
1264
  const nameParts = name.split(":");