@sankhyalabs/sankhyablocks 8.3.0 → 8.4.0-dev.1

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 (253) hide show
  1. package/dist/cjs/{ConfigStorage-e9d7fa82.js → ConfigStorage-f0f89379.js} +163 -51
  2. package/dist/cjs/{DataFetcher-39b63a1e.js → DataFetcher-4798bac3.js} +136 -244
  3. package/dist/cjs/ISave-d68ce3cd.js +8 -0
  4. package/dist/cjs/PrintUtils-bcaeb82f.js +215 -0
  5. package/dist/cjs/ResourceIDUtils-5ff86aa7.js +12 -0
  6. package/dist/cjs/{SnkFormConfigManager-2f8eccd9.js → SnkFormConfigManager-d5fd8800.js} +19 -21
  7. package/dist/cjs/{auth-fetcher-d407c31c.js → auth-fetcher-f2967437.js} +2 -2
  8. package/dist/cjs/{dataunit-fetcher-15a7cc88.js → dataunit-fetcher-959c9a00.js} +1 -1
  9. package/dist/cjs/{form-config-fetcher-ab3ce222.js → form-config-fetcher-5e3d3b87.js} +66 -3
  10. package/dist/cjs/index-f9e81701.js +4 -0
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/{pesquisa-fetcher-96c042aa.js → pesquisa-fetcher-7973c081.js} +1 -1
  13. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  14. package/dist/cjs/snk-actions-button.cjs.entry.js +19 -11
  15. package/dist/cjs/snk-application.cjs.entry.js +60 -44
  16. package/dist/cjs/snk-attach.cjs.entry.js +9 -14
  17. package/dist/cjs/snk-configurator.cjs.entry.js +2 -1
  18. package/dist/cjs/snk-crud.cjs.entry.js +28 -11
  19. package/dist/cjs/snk-data-exporter.cjs.entry.js +3 -2
  20. package/dist/cjs/{snk-data-unit-e89e07bd.js → snk-data-unit-7cc1846d.js} +5 -5
  21. package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
  22. package/dist/cjs/snk-detail-view.cjs.entry.js +17 -13
  23. package/dist/cjs/snk-entity-list.cjs.entry.js +0 -4
  24. package/dist/cjs/snk-filter-bar.cjs.entry.js +15 -17
  25. package/dist/cjs/snk-filter-detail.cjs.entry.js +7 -16
  26. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +6 -19
  27. package/dist/cjs/snk-form-config.cjs.entry.js +7 -17
  28. package/dist/cjs/snk-form-view.cjs.entry.js +6 -1
  29. package/dist/cjs/snk-form.cjs.entry.js +13 -8
  30. package/dist/cjs/snk-grid-config.cjs.entry.js +6 -6
  31. package/dist/cjs/snk-grid.cjs.entry.js +23 -22
  32. package/dist/cjs/{snk-guides-viewer-8518c61b.js → snk-guides-viewer-b7b680d2.js} +19 -8
  33. package/dist/cjs/snk-guides-viewer.cjs.entry.js +10 -9
  34. package/dist/cjs/snk-personalized-filter.cjs.entry.js +14 -16
  35. package/dist/cjs/snk-print-selector.cjs.entry.js +2 -4
  36. package/dist/cjs/snk-simple-crud.cjs.entry.js +43 -85
  37. package/dist/cjs/snk-taskbar-custom-elements.cjs.entry.js +20 -0
  38. package/dist/cjs/snk-taskbar.cjs.entry.js +71 -5
  39. package/dist/cjs/{taskbar-elements-b98dd6e9.js → taskbar-elements-39949c7a.js} +4 -4
  40. package/dist/collection/collection-manifest.json +1 -0
  41. package/dist/collection/components/snk-actions-button/actions/index.js +3 -4
  42. package/dist/collection/components/snk-actions-button/snk-actions-button.js +8 -4
  43. package/dist/collection/components/snk-application/snk-application.js +120 -65
  44. package/dist/collection/components/snk-configurator/snk-configurator.js +19 -1
  45. package/dist/collection/components/snk-crud/snk-crud.js +44 -8
  46. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +60 -2
  47. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +27 -1
  48. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +65 -28
  49. package/dist/collection/components/snk-data-unit/snk-data-unit.js +22 -6
  50. package/dist/collection/components/snk-entity-list/snk-entity-list.js +0 -23
  51. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +8 -13
  52. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +1 -1
  53. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +21 -16
  54. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +28 -12
  55. package/dist/collection/components/snk-form/SnkFormConfigManager.js +17 -19
  56. package/dist/collection/components/snk-form/snk-form.js +46 -2
  57. package/dist/collection/components/snk-form/subcomponents/snk-form-config/snk-form-config.js +5 -15
  58. package/dist/collection/components/snk-grid/snk-grid.js +108 -16
  59. package/dist/collection/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.js +19 -1
  60. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +28 -12
  61. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +23 -1
  62. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +4 -4
  63. package/dist/collection/components/snk-taskbar/snk-taskbar-custom-elements.js +43 -0
  64. package/dist/collection/components/snk-taskbar/snk-taskbar.css +4 -0
  65. package/dist/collection/components/snk-taskbar/snk-taskbar.js +126 -5
  66. package/dist/collection/lib/configs/ConfigStorage.js +33 -44
  67. package/dist/collection/lib/dataUnit/InMemoryLoader.js +23 -71
  68. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +118 -42
  69. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +0 -24
  70. package/dist/collection/lib/index.js +10 -0
  71. package/dist/collection/lib/resourceid/ResourceIDUtils.js +7 -0
  72. package/dist/collection/lib/utils/PrintUtils.js +18 -9
  73. package/dist/collection/lib/utils/urlutils.js +29 -0
  74. package/dist/components/ConfigStorage.js +161 -48
  75. package/dist/components/DataFetcher.js +137 -244
  76. package/dist/components/PrintUtils.js +213 -0
  77. package/dist/components/ResourceIDUtils.js +10 -0
  78. package/dist/components/SnkFormConfigManager.js +17 -19
  79. package/dist/components/auth-fetcher.js +1 -1
  80. package/dist/components/form-config-fetcher.js +64 -2
  81. package/dist/components/index.d.ts +1 -0
  82. package/dist/components/index.js +1 -0
  83. package/dist/components/snk-actions-button2.js +23 -9
  84. package/dist/components/snk-application2.js +145 -129
  85. package/dist/components/snk-attach2.js +1 -8
  86. package/dist/components/snk-configurator2.js +3 -1
  87. package/dist/components/snk-crud.js +27 -8
  88. package/dist/components/snk-data-unit2.js +6 -5
  89. package/dist/components/snk-detail-view2.js +26 -10
  90. package/dist/components/snk-entity-list.js +0 -4
  91. package/dist/components/snk-filter-bar2.js +12 -12
  92. package/dist/components/snk-filter-detail2.js +8 -13
  93. package/dist/components/snk-filter-modal-item2.js +5 -16
  94. package/dist/components/snk-form-config2.js +5 -15
  95. package/dist/components/snk-form-view2.js +6 -1
  96. package/dist/components/snk-form.js +9 -2
  97. package/dist/components/snk-grid-config2.js +4 -2
  98. package/dist/components/snk-grid2.js +24 -17
  99. package/dist/components/snk-personalized-filter2.js +11 -11
  100. package/dist/components/snk-print-selector.js +1 -1
  101. package/dist/components/snk-simple-crud2.js +30 -73
  102. package/dist/components/snk-taskbar-custom-elements.d.ts +11 -0
  103. package/dist/components/snk-taskbar-custom-elements.js +35 -0
  104. package/dist/components/snk-taskbar2.js +81 -9
  105. package/dist/esm/{ConfigStorage-1090289a.js → ConfigStorage-4441aa3d.js} +162 -49
  106. package/dist/esm/{DataFetcher-a4ed43e7.js → DataFetcher-1618bffe.js} +137 -244
  107. package/dist/esm/ISave-4412b20c.js +8 -0
  108. package/dist/esm/PrintUtils-3e4ff0f5.js +213 -0
  109. package/dist/esm/ResourceIDUtils-a114189a.js +10 -0
  110. package/dist/esm/{SnkFormConfigManager-de537eca.js → SnkFormConfigManager-5a5f85a3.js} +19 -21
  111. package/dist/esm/{auth-fetcher-c53e0d6c.js → auth-fetcher-7861187e.js} +1 -1
  112. package/dist/esm/{dataunit-fetcher-8d0bfa4a.js → dataunit-fetcher-53c007be.js} +1 -1
  113. package/dist/esm/{form-config-fetcher-4065db9a.js → form-config-fetcher-2fe67341.js} +65 -3
  114. package/dist/esm/index-a7d3d3f1.js +4 -0
  115. package/dist/esm/loader.js +1 -1
  116. package/dist/esm/{pesquisa-fetcher-7460b876.js → pesquisa-fetcher-19e81fc8.js} +1 -1
  117. package/dist/esm/sankhyablocks.js +1 -1
  118. package/dist/esm/snk-actions-button.entry.js +19 -11
  119. package/dist/esm/snk-application.entry.js +60 -44
  120. package/dist/esm/snk-attach.entry.js +5 -10
  121. package/dist/esm/snk-configurator.entry.js +2 -1
  122. package/dist/esm/snk-crud.entry.js +30 -13
  123. package/dist/esm/snk-data-exporter.entry.js +3 -2
  124. package/dist/esm/{snk-data-unit-8c4d944d.js → snk-data-unit-1715d2f1.js} +5 -5
  125. package/dist/esm/snk-data-unit.entry.js +1 -1
  126. package/dist/esm/snk-detail-view.entry.js +17 -13
  127. package/dist/esm/snk-entity-list.entry.js +0 -4
  128. package/dist/esm/snk-filter-bar.entry.js +15 -17
  129. package/dist/esm/snk-filter-detail.entry.js +8 -17
  130. package/dist/esm/snk-filter-modal-item.entry.js +7 -20
  131. package/dist/esm/snk-form-config.entry.js +8 -18
  132. package/dist/esm/snk-form-view.entry.js +6 -1
  133. package/dist/esm/snk-form.entry.js +13 -8
  134. package/dist/esm/snk-grid-config.entry.js +6 -6
  135. package/dist/esm/snk-grid.entry.js +23 -22
  136. package/dist/esm/{snk-guides-viewer-cdecff6e.js → snk-guides-viewer-e4fe884d.js} +19 -8
  137. package/dist/esm/snk-guides-viewer.entry.js +10 -9
  138. package/dist/esm/snk-personalized-filter.entry.js +14 -16
  139. package/dist/esm/snk-print-selector.entry.js +1 -3
  140. package/dist/esm/snk-simple-crud.entry.js +34 -76
  141. package/dist/esm/snk-taskbar-custom-elements.entry.js +16 -0
  142. package/dist/esm/snk-taskbar.entry.js +71 -5
  143. package/dist/esm/{taskbar-elements-2c761819.js → taskbar-elements-0a6b8b95.js} +4 -4
  144. package/dist/sankhyablocks/p-0b99a775.entry.js +1 -0
  145. package/dist/sankhyablocks/p-1e30c376.entry.js +1 -0
  146. package/dist/sankhyablocks/p-1fa3acbe.entry.js +1 -0
  147. package/dist/sankhyablocks/p-27dbbb3a.entry.js +1 -0
  148. package/dist/sankhyablocks/p-29b1d77b.entry.js +11 -0
  149. package/dist/sankhyablocks/p-324ce41e.entry.js +1 -0
  150. package/dist/sankhyablocks/p-34604220.entry.js +1 -0
  151. package/dist/sankhyablocks/p-41820e28.entry.js +1 -0
  152. package/dist/sankhyablocks/p-4352324d.entry.js +1 -0
  153. package/dist/sankhyablocks/{p-9d18017a.js → p-449d25e0.js} +2 -2
  154. package/dist/sankhyablocks/p-5051a23a.entry.js +1 -0
  155. package/dist/sankhyablocks/p-5526ab67.js +1 -0
  156. package/dist/sankhyablocks/p-5b2ee1d3.js +1 -0
  157. package/dist/sankhyablocks/p-5da848bb.js +26 -0
  158. package/dist/sankhyablocks/p-6098d844.entry.js +1 -0
  159. package/dist/sankhyablocks/p-648a7c72.entry.js +1 -0
  160. package/dist/sankhyablocks/p-688dcb4c.js +1 -0
  161. package/dist/sankhyablocks/p-72fc257b.entry.js +1 -0
  162. package/dist/sankhyablocks/p-7d6eca73.entry.js +1 -0
  163. package/dist/sankhyablocks/p-81a7f74c.js +1 -0
  164. package/dist/sankhyablocks/p-8d884fab.js +1 -0
  165. package/dist/sankhyablocks/p-90b5d1af.entry.js +1 -0
  166. package/dist/sankhyablocks/p-989937ee.entry.js +1 -0
  167. package/dist/sankhyablocks/p-9a270401.entry.js +1 -0
  168. package/dist/sankhyablocks/p-9e7d65a4.js +1 -0
  169. package/dist/sankhyablocks/{p-b978da60.js → p-a75e892a.js} +1 -1
  170. package/dist/sankhyablocks/p-a81996df.js +1 -0
  171. package/dist/sankhyablocks/p-c555075c.entry.js +1 -0
  172. package/dist/sankhyablocks/{p-a2493d11.js → p-c9841939.js} +1 -1
  173. package/dist/sankhyablocks/p-ca1522bc.entry.js +1 -0
  174. package/dist/sankhyablocks/p-cbed6235.entry.js +1 -0
  175. package/dist/sankhyablocks/p-d4f9ee17.entry.js +1 -0
  176. package/dist/sankhyablocks/p-daa687aa.js +56 -0
  177. package/dist/sankhyablocks/p-e1cb1f0b.js +1 -0
  178. package/dist/sankhyablocks/p-eb1a650a.entry.js +1 -0
  179. package/dist/sankhyablocks/p-f784010c.entry.js +1 -0
  180. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  181. package/dist/types/components/snk-actions-button/actions/index.d.ts +2 -1
  182. package/dist/types/components/snk-application/snk-application.d.ts +9 -22
  183. package/dist/types/components/snk-configurator/snk-configurator.d.ts +4 -0
  184. package/dist/types/components/snk-crud/snk-crud.d.ts +6 -0
  185. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +12 -0
  186. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +5 -0
  187. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +13 -2
  188. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +4 -0
  189. package/dist/types/components/snk-entity-list/snk-entity-list.d.ts +0 -4
  190. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +0 -3
  191. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +1 -1
  192. package/dist/types/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.d.ts +5 -4
  193. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +4 -0
  194. package/dist/types/components/snk-form/SnkFormConfigManager.d.ts +5 -4
  195. package/dist/types/components/snk-form/snk-form.d.ts +9 -1
  196. package/dist/types/components/snk-form/subcomponents/snk-form-config/snk-form-config.d.ts +0 -2
  197. package/dist/types/components/snk-grid/snk-grid.d.ts +17 -1
  198. package/dist/types/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.d.ts +4 -0
  199. package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +5 -1
  200. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +4 -0
  201. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +2 -2
  202. package/dist/types/components/snk-taskbar/snk-taskbar-custom-elements.d.ts +7 -0
  203. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +27 -0
  204. package/dist/types/components.d.ts +203 -22
  205. package/dist/types/lib/configs/ConfigStorage.d.ts +11 -13
  206. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +2 -8
  207. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +2 -2
  208. package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +0 -1
  209. package/dist/types/lib/index.d.ts +11 -0
  210. package/dist/types/lib/resourceid/ResourceIDUtils.d.ts +3 -0
  211. package/dist/types/lib/utils/PrintUtils.d.ts +1 -0
  212. package/dist/types/lib/utils/urlutils.d.ts +14 -0
  213. package/package.json +2 -2
  214. package/react/components.d.ts +1 -0
  215. package/react/components.js +1 -0
  216. package/react/components.js.map +1 -1
  217. package/dist/cjs/filter-bar-config-fetcher-24548cec.js +0 -155
  218. package/dist/cjs/resource-fetcher-64102551.js +0 -68
  219. package/dist/components/filter-bar-config-fetcher.js +0 -153
  220. package/dist/components/resource-fetcher.js +0 -66
  221. package/dist/esm/filter-bar-config-fetcher-2417b8cf.js +0 -153
  222. package/dist/esm/resource-fetcher-45a70066.js +0 -66
  223. package/dist/sankhyablocks/p-0848ee4d.entry.js +0 -1
  224. package/dist/sankhyablocks/p-0bd9c412.js +0 -1
  225. package/dist/sankhyablocks/p-0fb83448.js +0 -1
  226. package/dist/sankhyablocks/p-10b2aedc.entry.js +0 -1
  227. package/dist/sankhyablocks/p-1f63dcd4.entry.js +0 -1
  228. package/dist/sankhyablocks/p-216b2102.entry.js +0 -1
  229. package/dist/sankhyablocks/p-216f081a.entry.js +0 -1
  230. package/dist/sankhyablocks/p-44e66c8d.js +0 -1
  231. package/dist/sankhyablocks/p-4514fc6a.entry.js +0 -1
  232. package/dist/sankhyablocks/p-50c13cc8.entry.js +0 -1
  233. package/dist/sankhyablocks/p-52c6b2e7.js +0 -1
  234. package/dist/sankhyablocks/p-564efc43.js +0 -1
  235. package/dist/sankhyablocks/p-5994af77.js +0 -56
  236. package/dist/sankhyablocks/p-6bb904bb.entry.js +0 -1
  237. package/dist/sankhyablocks/p-6e06175e.entry.js +0 -1
  238. package/dist/sankhyablocks/p-6f0795c8.entry.js +0 -1
  239. package/dist/sankhyablocks/p-7588f006.entry.js +0 -1
  240. package/dist/sankhyablocks/p-847e6c20.js +0 -17
  241. package/dist/sankhyablocks/p-8f3652bf.entry.js +0 -11
  242. package/dist/sankhyablocks/p-9471cbc9.entry.js +0 -1
  243. package/dist/sankhyablocks/p-a42dd503.entry.js +0 -1
  244. package/dist/sankhyablocks/p-b04fb9d4.js +0 -1
  245. package/dist/sankhyablocks/p-befbc9ee.entry.js +0 -1
  246. package/dist/sankhyablocks/p-c32b9d7c.entry.js +0 -1
  247. package/dist/sankhyablocks/p-c6380ea2.entry.js +0 -1
  248. package/dist/sankhyablocks/p-c6feb995.entry.js +0 -1
  249. package/dist/sankhyablocks/p-d7c7a289.entry.js +0 -1
  250. package/dist/sankhyablocks/p-de69b4b0.entry.js +0 -1
  251. package/dist/sankhyablocks/p-f3b7b69e.js +0 -10
  252. package/dist/sankhyablocks/p-f7eded3a.entry.js +0 -1
  253. package/dist/sankhyablocks/p-ff7383b0.entry.js +0 -1
@@ -3,6 +3,7 @@
3
3
  const core = require('@sankhyalabs/core');
4
4
  const _commonjsHelpers = require('./_commonjsHelpers-537d719a.js');
5
5
  const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
6
+ const PrintUtils = require('./PrintUtils-bcaeb82f.js');
6
7
 
7
8
  var browserPonyfill = _commonjsHelpers.createCommonjsModule(function (module, exports) {
8
9
  var global = typeof self !== 'undefined' ? self : _commonjsHelpers.commonjsGlobal;
@@ -6436,6 +6437,35 @@ class UrlUtils {
6436
6437
  return window['mock_url'];
6437
6438
  return `${location.protocol}//${location.hostname}${location.port ? ":" + location.port : ""}`;
6438
6439
  }
6440
+ /**
6441
+ * Extrai da URL o parâmetro que contém o resourceId da tela desejada.
6442
+ *
6443
+ */
6444
+ static getResourceIdFromUrlToken(url) {
6445
+ try {
6446
+ const parts = url.split('/');
6447
+ const encodedValue = parts[1];
6448
+ return atob(encodedValue);
6449
+ }
6450
+ catch (error) {
6451
+ throw new Error('Erro ao obter resourceId:' + error);
6452
+ }
6453
+ }
6454
+ /**
6455
+ * Extrai da URL o parâmetro que contém o o objeto com a PK do registro específico.
6456
+ *
6457
+ */
6458
+ static getPkObjectFromUrlToken(url) {
6459
+ try {
6460
+ const parts = url.split('/');
6461
+ const encodedObjectPart = parts[parts.length - 2];
6462
+ const decodedObjectPart = atob(encodedObjectPart);
6463
+ return JSON.parse(decodedObjectPart);
6464
+ }
6465
+ catch (error) {
6466
+ throw new Error('Erro ao obter a PK do objeto:' + error);
6467
+ }
6468
+ }
6439
6469
  }
6440
6470
 
6441
6471
  class ServiceBrokerRecaller {
@@ -6479,209 +6509,17 @@ class GraphQLRecaller {
6479
6509
  }
6480
6510
  }
6481
6511
 
6482
- class PrintUtils {
6483
- constructor() {
6484
- this.appletImpressao = new AppletImpressao();
6485
- }
6486
- static getInstance() {
6487
- if (!PrintUtils.instance) {
6488
- PrintUtils.instance = new PrintUtils();
6489
- }
6490
- return PrintUtils.instance;
6491
- }
6492
- async processPendingPrinting(transactionId) {
6493
- await this.findPendingPrints(transactionId);
6494
- }
6495
- async findPendingPrints(transactionId) {
6496
- const requestBody = {
6497
- transactionIds: [
6498
- {
6499
- transactionId: {
6500
- $: transactionId
6501
- }
6502
- }
6503
- ]
6504
- };
6505
- const response = await DataFetcher.get().callServiceBroker(PrintUtils.SERVICE_FIND_PENDING_PRINTS, JSON.stringify(requestBody));
6506
- const printJobData = this.parsePrintData(response);
6507
- const pendingPrints = await this.processDirectPrint(printJobData);
6508
- if (!pendingPrints.length)
6509
- return;
6510
- this.openSnkPrintSelector(Object.assign(Object.assign({}, printJobData), { pendingPrinters: pendingPrints }));
6511
- }
6512
- getLocalPrinters() {
6513
- const localPrinters = this.appletImpressao.findLocalPrinters();
6514
- const printers = [];
6515
- for (const printerName of localPrinters) {
6516
- printers.push({
6517
- nome: printerName,
6518
- printerUri: PrintUtils.LOCAL_SERVER_URI + printerName,
6519
- isLocal: true
6520
- });
6521
- }
6522
- return printers;
6523
- }
6524
- parsePrintData(payload) {
6525
- const pendingPrintJobData = payload.pendindPrintJobData;
6526
- if (!pendingPrintJobData)
6527
- return undefined;
6528
- let { printServers: { printServer }, pendingPrinters: { pendingPrinter } } = pendingPrintJobData;
6529
- printServer = printServer ? (Array.isArray(printServer) ? printServer : [printServer]) : [];
6530
- pendingPrinter = pendingPrinter ? (Array.isArray(pendingPrinter) ? pendingPrinter : [pendingPrinter]) : [];
6531
- const normalizedPrintServer = printServer.map(item => {
6532
- const printerList = Array.isArray(item.printerLocation) ? item.printerLocation : [item.printerLocation];
6533
- return {
6534
- printServerUri: item.printServerUri,
6535
- printerList: printerList.map(this.normalize)
6536
- };
6537
- });
6538
- const normalizedPendingPrinter = pendingPrinter.map(this.normalize);
6539
- return {
6540
- transactionId: pendingPrintJobData.transactionId.$,
6541
- printServers: normalizedPrintServer,
6542
- pendingPrinters: normalizedPendingPrinter,
6543
- printServerActive: pendingPrintJobData.printServers.printServerActive === 'true'
6544
- };
6545
- }
6546
- normalize(object) {
6547
- const normalizedObject = {};
6548
- Object.keys(object).forEach((key) => {
6549
- normalizedObject[key] = PrintUtils.ENCODED_PROPERTIES.includes(key) ? window.atob(object[key].$) : object[key].$;
6550
- });
6551
- return normalizedObject;
6552
- }
6553
- processLocalPrinting(localPrintings) {
6554
- const transactionIds = localPrintings.map((item) => item.transactionId);
6555
- this.appletImpressao.doLocalPrinting(transactionIds.join());
6556
- }
6557
- async openSnkPrintSelector(printJobData) {
6558
- let printSelector = document.querySelector('snk-print-selector');
6559
- if (!printSelector) {
6560
- printSelector = document.createElement('snk-print-selector');
6561
- printSelector.setAttribute('id', core.StringUtils.generateUUID());
6562
- window.document.body.appendChild(printSelector);
6563
- }
6564
- const { selectedPrinter, saveSubstitute } = await printSelector.openPrintSelector(printJobData);
6565
- if (!selectedPrinter)
6566
- return;
6567
- const params = {
6568
- transactionId: printJobData.transactionId,
6569
- pendingPrinters: printJobData.pendingPrinters,
6570
- printerUri: selectedPrinter.printerUri,
6571
- saveSubstitutePrinters: saveSubstitute
6572
- };
6573
- await this.saveSubstitutePrinter(params);
6574
- }
6575
- async saveSubstitutePrinter(params) {
6576
- const { transactionId, pendingPrinters, printerUri, saveSubstitutePrinters = false } = params;
6577
- const parsedPendingPrinters = pendingPrinters.map((item) => ({
6578
- printerUri: {
6579
- $: item.printerUri || printerUri
6580
- },
6581
- originalPrinterName: {
6582
- $: item.originalPrinterName
6583
- },
6584
- printJobCount: {
6585
- $: item.printJobCount
6586
- },
6587
- docType: {
6588
- $: item.docType
6589
- },
6590
- docTypeDescription: {
6591
- $: item.docTypeDescription
6592
- }
6593
- }));
6594
- const requestBody = {
6595
- substitutePrintersRequest: {
6596
- substitutePrinters: {
6597
- pendingPrinter: parsedPendingPrinters
6598
- },
6599
- saveSubstitutePrinters: {
6600
- $: saveSubstitutePrinters.toString()
6601
- },
6602
- transactionId: {
6603
- $: transactionId
6604
- }
6605
- }
6606
- };
6607
- await DataFetcher.get().callServiceBroker(PrintUtils.SERVICE_SAVE_SUBSTITUTE_PRINTER, JSON.stringify(requestBody));
6608
- }
6609
- async processDirectPrint(printJobData) {
6610
- const isWCRunning = this.appletImpressao.checkWebConnection();
6611
- if (!isWCRunning) {
6612
- return [];
6613
- }
6614
- const localPrinters = this.getLocalPrinters();
6615
- if (!localPrinters.length)
6616
- return [];
6617
- const directPendingPrints = [];
6618
- const pendingPrints = printJobData.pendingPrinters.filter(item => {
6619
- const defaultPrinterName = this.getDefaultPrinterName(item.originalPrinterName);
6620
- const isDirectPrint = !!localPrinters.find(localPrinter => localPrinter.nome === defaultPrinterName) || this.isPrinterNameAFile(defaultPrinterName);
6621
- if (isDirectPrint) {
6622
- directPendingPrints.push(Object.assign(Object.assign({}, item), { printerUri: PrintUtils.LOCAL_SERVER_URI + defaultPrinterName }));
6623
- return false;
6624
- }
6625
- return true;
6626
- });
6627
- if (!directPendingPrints.length)
6628
- return pendingPrints;
6629
- const params = {
6630
- transactionId: printJobData.transactionId,
6631
- pendingPrinters: directPendingPrints
6632
- };
6633
- await this.saveSubstitutePrinter(params);
6634
- return pendingPrints;
6635
- }
6636
- getDefaultPrinterName(printerName) {
6637
- const defaultPrinterName = this.appletImpressao.getDefaultPrinter();
6638
- const isDefaultPrinterName = /padr[aã]o/ig.test(printerName);
6639
- return (defaultPrinterName && isDefaultPrinterName) ? defaultPrinterName : printerName;
6640
- }
6641
- isPrinterNameAFile(printerName) {
6642
- const regExp = new RegExp("^(\w:)?[/\\\w\s]+?\.\w{3}$", "mis");
6643
- return regExp.test(printerName);
6644
- }
6645
- }
6646
- PrintUtils.SERVICE_FIND_PENDING_PRINTS = 'mge@PrintServiceSP.findPendingPrinters';
6647
- PrintUtils.SERVICE_SAVE_SUBSTITUTE_PRINTER = 'mge@PrintServiceSP.saveSubstitutePrinter';
6648
- PrintUtils.LOCAL_SERVER_URI = 'LOCAL:0/';
6649
- PrintUtils.ENCODED_PROPERTIES = ['printerName', 'printerUri'];
6650
- class AppletImpressao {
6651
- constructor() {
6652
- this.appletImpressao = document.getElementById('centralNotaAppletImpressao');
6653
- }
6654
- checkWebConnection() {
6655
- if (!this.appletImpressao)
6656
- return false;
6657
- if (!this.appletImpressao.testRunningWC)
6658
- return false;
6659
- const isRunning = this.appletImpressao.testRunningWC();
6660
- return !!isRunning;
6661
- }
6662
- findLocalPrinters() {
6663
- if (!this.appletImpressao)
6664
- return [];
6665
- const localPrinters = this.appletImpressao.getLocalPrinters();
6666
- if (!localPrinters)
6667
- return [];
6668
- return localPrinters.split(",");
6669
- }
6670
- doLocalPrinting(transactionIds) {
6671
- if (!this.appletImpressao)
6672
- return;
6673
- this.appletImpressao.doLocalPrinting(transactionIds);
6674
- }
6675
- getDefaultPrinter() {
6676
- if (!this.appletImpressao)
6677
- return '';
6678
- return this.appletImpressao.getPrintDefault();
6679
- }
6680
- }
6681
-
6512
+ var __asyncValues = (undefined && undefined.__asyncValues) || function (o) {
6513
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
6514
+ var m = o[Symbol.asyncIterator], i;
6515
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
6516
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
6517
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
6518
+ };
6682
6519
  class DataFetcher {
6683
6520
  constructor() {
6684
6521
  this.GRAPHQL_PATH = `/${window.MGE_MODULE_NAME || 'mgefin-bff'}/graphql`;
6522
+ this.ready = true;
6685
6523
  this.watingRequestsById = new Map();
6686
6524
  }
6687
6525
  static get() {
@@ -6692,6 +6530,9 @@ class DataFetcher {
6692
6530
  DataFetcher.instance.resume();
6693
6531
  }
6694
6532
  else {
6533
+ if (core.ApplicationContext.getContextValue("__SNK__APPLICATION__LOADING__") === true) {
6534
+ DataFetcher.instance.pause();
6535
+ }
6695
6536
  application.addEventListener('applicationLoading', () => DataFetcher.instance.pause());
6696
6537
  application.addEventListener('applicationLoaded', () => DataFetcher.instance.resume());
6697
6538
  }
@@ -6750,6 +6591,10 @@ class DataFetcher {
6750
6591
  }
6751
6592
  async callGraphQL(req) {
6752
6593
  var _a;
6594
+ if (this.ready) {
6595
+ this.pause();
6596
+ window.requestAnimationFrame(() => this.resume());
6597
+ }
6753
6598
  const reqKey = this.getReqKey(req);
6754
6599
  req.queryID = reqKey;
6755
6600
  req.values.queryID = reqKey;
@@ -6779,7 +6624,7 @@ class DataFetcher {
6779
6624
  if (!this.watingRequestsById.has(reqKey)) {
6780
6625
  this.watingRequestsById.set(reqKey, new WaitingRequest(req));
6781
6626
  }
6782
- return (_a = this.getWatingRequest(reqKey)) === null || _a === void 0 ? void 0 : _a.promise;
6627
+ return (_a = this.watingRequestsById.get(reqKey)) === null || _a === void 0 ? void 0 : _a.promise;
6783
6628
  }
6784
6629
  }
6785
6630
  resolveURL() {
@@ -6808,25 +6653,66 @@ class DataFetcher {
6808
6653
  }
6809
6654
  return false;
6810
6655
  }
6811
- proccessServiceBorkerClientEvents(clientEvents, serviceName, payloadJson, accept, reject) {
6656
+ async processServiceBrokerClientEvents(processParams) {
6657
+ var _a, e_1, _b, _c, _d, e_2, _e, _f;
6658
+ const { clientEvents, serviceName, payloadJson, accept, reject } = processParams;
6812
6659
  if (!(clientEvents === null || clientEvents === void 0 ? void 0 : clientEvents.length)) {
6813
6660
  return;
6814
6661
  }
6815
- clientEvents.forEach(clientEvent => {
6816
- if (DataFetcher.hasClientEvent(clientEvent.id)) {
6817
- var handlers = DataFetcher.clientEventsByID.get(clientEvent.id);
6818
- handlers.forEach(handler => {
6819
- handler({ id: clientEvent.id, content: clientEvent }, new ServiceBrokerRecaller(serviceName, payloadJson, accept, reject));
6820
- });
6662
+ const recaller = new ServiceBrokerRecaller(serviceName, payloadJson, accept, reject);
6663
+ try {
6664
+ for (var _g = true, clientEvents_1 = __asyncValues(clientEvents), clientEvents_1_1; clientEvents_1_1 = await clientEvents_1.next(), _a = clientEvents_1_1.done, !_a;) {
6665
+ _c = clientEvents_1_1.value;
6666
+ _g = false;
6667
+ try {
6668
+ const clientEvent = _c;
6669
+ if (DataFetcher.hasClientEvent(clientEvent.id)) {
6670
+ const handlers = DataFetcher.clientEventsByID.get(clientEvent.id);
6671
+ const handlerClientEvent = {
6672
+ id: clientEvent.id,
6673
+ content: clientEvent
6674
+ };
6675
+ try {
6676
+ for (var _h = true, handlers_1 = (e_2 = void 0, __asyncValues(handlers)), handlers_1_1; handlers_1_1 = await handlers_1.next(), _d = handlers_1_1.done, !_d;) {
6677
+ _f = handlers_1_1.value;
6678
+ _h = false;
6679
+ try {
6680
+ const handler = _f;
6681
+ await handler(handlerClientEvent, recaller);
6682
+ }
6683
+ finally {
6684
+ _h = true;
6685
+ }
6686
+ }
6687
+ }
6688
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
6689
+ finally {
6690
+ try {
6691
+ if (!_h && !_d && (_e = handlers_1.return)) await _e.call(handlers_1);
6692
+ }
6693
+ finally { if (e_2) throw e_2.error; }
6694
+ }
6695
+ }
6696
+ }
6697
+ finally {
6698
+ _g = true;
6699
+ }
6821
6700
  }
6822
- });
6701
+ }
6702
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
6703
+ finally {
6704
+ try {
6705
+ if (!_g && !_a && (_b = clientEvents_1.return)) await _b.call(clientEvents_1);
6706
+ }
6707
+ finally { if (e_1) throw e_1.error; }
6708
+ }
6823
6709
  }
6824
- processPrinting(payload) {
6710
+ async processPrinting(payload) {
6825
6711
  if ((payload === null || payload === void 0 ? void 0 : payload.pendingPrinting) === 'true') {
6826
- PrintUtils.getInstance().processPendingPrinting(payload === null || payload === void 0 ? void 0 : payload.transactionId);
6712
+ await PrintUtils.PrintUtils.getInstance().processPendingPrinting(payload === null || payload === void 0 ? void 0 : payload.transactionId);
6827
6713
  }
6828
6714
  if ('localPrintings' in payload) {
6829
- PrintUtils.getInstance().processLocalPrinting(payload === null || payload === void 0 ? void 0 : payload.localPrintings);
6715
+ PrintUtils.PrintUtils.getInstance().processLocalPrinting(payload === null || payload === void 0 ? void 0 : payload.localPrintings);
6830
6716
  }
6831
6717
  }
6832
6718
  getContext(module) {
@@ -6871,11 +6757,19 @@ class DataFetcher {
6871
6757
  http.open("POST", url, true);
6872
6758
  http.withCredentials = true;
6873
6759
  http.send(core.ObjectUtils.objectToString(payloadJson));
6874
- http.onreadystatechange = () => {
6760
+ http.onreadystatechange = async () => {
6875
6761
  var _a;
6876
6762
  if (http.readyState == 4 && http.status == 200) {
6877
6763
  try {
6878
6764
  const jsonResp = JSON.parse(http.responseText);
6765
+ await this.processServiceBrokerClientEvents({ clientEvents: jsonResp === null || jsonResp === void 0 ? void 0 : jsonResp.clientEvents, serviceName, payloadJson, accept, reject });
6766
+ /**
6767
+ * Este trecho difere do projeto HTML5 devido à decisão de adotar uma abordagem síncrona para esta chamada. Isso é justificado pelo fato de que, no cenário em questão, a abordagem assíncrona teria impactos negativos.
6768
+ *
6769
+ * Descrição do caso de uso:
6770
+ * Ao concluir um recebimento com cartão (Movimentação Financeira), é acionado um EzDialog de confirmação. Posteriormente, a PopUp de impressão é exibida, e, ao ser cancelada, gera a invocação de um novo EzDialog.
6771
+ */
6772
+ await this.processPrinting(jsonResp);
6879
6773
  if (this.isServiceBrokerError(jsonResp)) {
6880
6774
  reject(this.processServiceBrokerErrorInfo(jsonResp));
6881
6775
  }
@@ -6888,8 +6782,6 @@ class DataFetcher {
6888
6782
  (_a = this.application) === null || _a === void 0 ? void 0 : _a.info(jsonResp.statusMessage);
6889
6783
  }
6890
6784
  }
6891
- this.proccessServiceBorkerClientEvents(jsonResp === null || jsonResp === void 0 ? void 0 : jsonResp.clientEvents, serviceName, payloadJson, accept, reject);
6892
- this.processPrinting(jsonResp);
6893
6785
  }
6894
6786
  catch (err) {
6895
6787
  console.warn(`Erro ao executar serviço: ${err}`);
@@ -6927,42 +6819,43 @@ class DataFetcher {
6927
6819
  getQueryTemplate(re) {
6928
6820
  return (re.query || "").replaceAll("$queryAlias$", re.queryID);
6929
6821
  }
6930
- getWatingRequest(reqID) {
6931
- return this.watingRequestsById.get(reqID);
6932
- }
6933
6822
  pause() {
6934
6823
  this.ready = false;
6935
6824
  }
6936
6825
  async resume() {
6937
6826
  this.ready = true;
6938
6827
  if (this.watingRequestsById.size > 0) {
6939
- const requestsBatch = [];
6940
- this.watingRequestsById.forEach(async (waitingReq) => {
6941
- let query = this.getQueryTemplate(waitingReq.request);
6942
- requestsBatch.push({ document: query, variables: Object.assign({}, waitingReq.request.values) });
6943
- });
6944
- let res = undefined;
6945
- let dataResponse = [];
6946
- let errorsResponse = [];
6947
- res = await this.fecthGrapql(requestsBatch);
6948
- dataResponse = res.data;
6949
- errorsResponse = res.errors;
6950
- //Reject promises with errors from query
6951
- errorsResponse.forEach((errorResponse) => {
6952
- Object.entries(errorResponse).forEach(([_key, val]) => {
6953
- var _a;
6954
- (((_a = this.getWatingRequest(val.request.variables[val.index].queryID)) === null || _a === void 0 ? void 0 : _a.reject) || Promise.reject)(new core.ErrorException("Falha detectada", val.message));
6955
- });
6828
+ const waitinRequests = this.watingRequestsById;
6829
+ this.watingRequestsById = new Map();
6830
+ this.executePendingRequest(waitinRequests);
6831
+ }
6832
+ }
6833
+ async executePendingRequest(watingRequestsById) {
6834
+ const requestsBatch = [];
6835
+ watingRequestsById.forEach(async (waitingReq) => {
6836
+ let query = this.getQueryTemplate(waitingReq.request);
6837
+ requestsBatch.push({ document: query, variables: Object.assign({}, waitingReq.request.values) });
6838
+ });
6839
+ let res = undefined;
6840
+ let dataResponse = [];
6841
+ let errorsResponse = [];
6842
+ res = await this.fecthGrapql(requestsBatch);
6843
+ dataResponse = res.data;
6844
+ errorsResponse = res.errors;
6845
+ //Reject promises with errors from query
6846
+ errorsResponse.forEach((errorResponse) => {
6847
+ Object.entries(errorResponse).forEach(([_key, val]) => {
6848
+ var _a;
6849
+ (((_a = watingRequestsById.get(val.request.variables[val.index].queryID)) === null || _a === void 0 ? void 0 : _a.reject) || Promise.reject)(new core.ErrorException("Falha detectada", val.message));
6956
6850
  });
6957
- //Resolve promises with data from query
6958
- dataResponse.forEach((data) => {
6959
- Object.entries(data).forEach(([key, val]) => {
6960
- var _a;
6961
- (((_a = this.getWatingRequest(key)) === null || _a === void 0 ? void 0 : _a.resolve) || Promise.resolve)(val);
6962
- });
6851
+ });
6852
+ //Resolve promises with data from query
6853
+ dataResponse.forEach((data) => {
6854
+ Object.entries(data).forEach(([key, val]) => {
6855
+ var _a;
6856
+ (((_a = watingRequestsById.get(key)) === null || _a === void 0 ? void 0 : _a.resolve) || Promise.resolve)(val);
6963
6857
  });
6964
- this.watingRequestsById.clear();
6965
- }
6858
+ });
6966
6859
  }
6967
6860
  async fecthGrapql(request) {
6968
6861
  let res = undefined;
@@ -7082,6 +6975,5 @@ class WaitingRequest {
7082
6975
  }
7083
6976
 
7084
6977
  exports.DataFetcher = DataFetcher;
7085
- exports.PrintUtils = PrintUtils;
7086
6978
  exports.UrlUtils = UrlUtils;
7087
6979
  exports.dist = dist;
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ exports.SaveErrorsEnum = void 0;
4
+ (function (SaveErrorsEnum) {
5
+ SaveErrorsEnum["LINK_AND_FILE_AT_THE_SAME_TIME"] = "LINK_AND_FILE_AT_THE_SAME_TIME";
6
+ SaveErrorsEnum["ANY_LINK_OR_FILE_FILLED"] = "ANY_LINK_OR_FILE_FILLED";
7
+ SaveErrorsEnum["UNKNOWN"] = "UNKNOWN";
8
+ })(exports.SaveErrorsEnum || (exports.SaveErrorsEnum = {}));