@sankhyalabs/sankhyablocks 8.1.0 → 8.2.0-dev.2

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 (221) hide show
  1. package/dist/cjs/{ConfigStorage-73e7afff.js → ConfigStorage-12397f18.js} +163 -51
  2. package/dist/cjs/{DataFetcher-004811c6.js → DataFetcher-f2da1f79.js} +68 -30
  3. package/dist/cjs/ISave-d68ce3cd.js +8 -0
  4. package/dist/cjs/ResourceIDUtils-5ff86aa7.js +12 -0
  5. package/dist/cjs/{SnkFormConfigManager-d1f1a222.js → SnkFormConfigManager-13f79e37.js} +19 -21
  6. package/dist/cjs/auth-fetcher-319a4cb2.js +34 -0
  7. package/dist/cjs/{dataunit-fetcher-029eafbd.js → dataunit-fetcher-e72068c1.js} +1 -1
  8. package/dist/cjs/{form-config-fetcher-181767c9.js → form-config-fetcher-5d62ab62.js} +66 -3
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/{pesquisa-fetcher-9a97994a.js → pesquisa-fetcher-8c363096.js} +1 -1
  11. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  12. package/dist/cjs/snk-actions-button.cjs.entry.js +18 -11
  13. package/dist/cjs/snk-application.cjs.entry.js +51 -73
  14. package/dist/cjs/snk-attach.cjs.entry.js +7 -13
  15. package/dist/cjs/snk-configurator.cjs.entry.js +2 -1
  16. package/dist/cjs/snk-crud.cjs.entry.js +28 -9
  17. package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
  18. package/dist/cjs/{snk-data-unit-d5109a08.js → snk-data-unit-80a00ae4.js} +8 -6
  19. package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
  20. package/dist/cjs/snk-detail-view.cjs.entry.js +18 -25
  21. package/dist/cjs/snk-entity-list.cjs.entry.js +0 -4
  22. package/dist/cjs/snk-filter-bar.cjs.entry.js +14 -17
  23. package/dist/cjs/snk-filter-detail.cjs.entry.js +1 -15
  24. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +5 -19
  25. package/dist/cjs/snk-form-config.cjs.entry.js +6 -17
  26. package/dist/cjs/snk-form-view.cjs.entry.js +6 -1
  27. package/dist/cjs/snk-form.cjs.entry.js +12 -8
  28. package/dist/cjs/snk-grid-config.cjs.entry.js +5 -6
  29. package/dist/cjs/snk-grid.cjs.entry.js +20 -20
  30. package/dist/cjs/{snk-guides-viewer-aa3e3bfa.js → snk-guides-viewer-a7cd6fda.js} +18 -9
  31. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -8
  32. package/dist/cjs/snk-personalized-filter.cjs.entry.js +13 -16
  33. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  34. package/dist/cjs/snk-simple-crud.cjs.entry.js +43 -92
  35. package/dist/cjs/snk-taskbar.cjs.entry.js +2 -1
  36. package/dist/collection/components/snk-actions-button/actions/index.js +3 -4
  37. package/dist/collection/components/snk-actions-button/snk-actions-button.js +8 -4
  38. package/dist/collection/components/snk-application/snk-application.js +60 -65
  39. package/dist/collection/components/snk-configurator/snk-configurator.js +19 -1
  40. package/dist/collection/components/snk-crud/snk-crud.js +63 -8
  41. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +65 -15
  42. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +27 -1
  43. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +66 -30
  44. package/dist/collection/components/snk-data-unit/snk-data-unit.js +42 -7
  45. package/dist/collection/components/snk-entity-list/snk-entity-list.js +0 -23
  46. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +2 -12
  47. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +1 -1
  48. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +21 -16
  49. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +28 -12
  50. package/dist/collection/components/snk-form/SnkFormConfigManager.js +17 -19
  51. package/dist/collection/components/snk-form/snk-form.js +46 -2
  52. package/dist/collection/components/snk-form/subcomponents/snk-form-config/snk-form-config.js +5 -15
  53. package/dist/collection/components/snk-grid/snk-grid.js +110 -16
  54. package/dist/collection/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.js +19 -1
  55. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +28 -12
  56. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +43 -9
  57. package/dist/collection/components/snk-taskbar/snk-taskbar.js +19 -1
  58. package/dist/collection/lib/configs/ConfigStorage.js +33 -44
  59. package/dist/collection/lib/dataUnit/InMemoryLoader.js +23 -71
  60. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +39 -30
  61. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +0 -24
  62. package/dist/collection/lib/index.js +10 -0
  63. package/dist/collection/lib/resourceid/ResourceIDUtils.js +7 -0
  64. package/dist/collection/lib/utils/urlutils.js +29 -0
  65. package/dist/components/ConfigStorage.js +161 -48
  66. package/dist/components/DataFetcher.js +68 -30
  67. package/dist/components/ResourceIDUtils.js +10 -0
  68. package/dist/components/SnkFormConfigManager.js +17 -19
  69. package/dist/components/auth-fetcher.js +32 -0
  70. package/dist/components/form-config-fetcher.js +64 -2
  71. package/dist/components/snk-actions-button2.js +23 -9
  72. package/dist/components/snk-application2.js +132 -154
  73. package/dist/components/snk-attach2.js +1 -8
  74. package/dist/components/snk-configurator2.js +3 -1
  75. package/dist/components/snk-crud.js +29 -7
  76. package/dist/components/snk-data-unit2.js +10 -6
  77. package/dist/components/snk-detail-view2.js +28 -23
  78. package/dist/components/snk-entity-list.js +0 -4
  79. package/dist/components/snk-filter-bar2.js +12 -12
  80. package/dist/components/snk-filter-detail2.js +2 -12
  81. package/dist/components/snk-filter-modal-item2.js +5 -16
  82. package/dist/components/snk-form-config2.js +5 -15
  83. package/dist/components/snk-form-view2.js +6 -1
  84. package/dist/components/snk-form.js +9 -2
  85. package/dist/components/snk-grid-config2.js +4 -2
  86. package/dist/components/snk-grid2.js +23 -16
  87. package/dist/components/snk-personalized-filter2.js +11 -11
  88. package/dist/components/snk-simple-crud2.js +33 -81
  89. package/dist/components/snk-taskbar2.js +3 -1
  90. package/dist/esm/{ConfigStorage-19a7260b.js → ConfigStorage-932ab366.js} +162 -49
  91. package/dist/esm/{DataFetcher-e0fc5549.js → DataFetcher-7e18aa30.js} +68 -30
  92. package/dist/esm/ISave-4412b20c.js +8 -0
  93. package/dist/esm/ResourceIDUtils-a114189a.js +10 -0
  94. package/dist/esm/{SnkFormConfigManager-1a42eb02.js → SnkFormConfigManager-bb9afc3f.js} +19 -21
  95. package/dist/esm/auth-fetcher-6d9664b7.js +32 -0
  96. package/dist/esm/{dataunit-fetcher-6a695723.js → dataunit-fetcher-91a4eb82.js} +1 -1
  97. package/dist/esm/{form-config-fetcher-9e167008.js → form-config-fetcher-aaaa79a6.js} +65 -3
  98. package/dist/esm/loader.js +1 -1
  99. package/dist/esm/{pesquisa-fetcher-9118eb7a.js → pesquisa-fetcher-56b30fb4.js} +1 -1
  100. package/dist/esm/sankhyablocks.js +1 -1
  101. package/dist/esm/snk-actions-button.entry.js +18 -11
  102. package/dist/esm/snk-application.entry.js +49 -71
  103. package/dist/esm/snk-attach.entry.js +3 -9
  104. package/dist/esm/snk-configurator.entry.js +2 -1
  105. package/dist/esm/snk-crud.entry.js +28 -9
  106. package/dist/esm/snk-data-exporter.entry.js +2 -2
  107. package/dist/esm/{snk-data-unit-3a0bbfcb.js → snk-data-unit-3ab57d1a.js} +8 -6
  108. package/dist/esm/snk-data-unit.entry.js +1 -1
  109. package/dist/esm/snk-detail-view.entry.js +18 -25
  110. package/dist/esm/snk-entity-list.entry.js +0 -4
  111. package/dist/esm/snk-filter-bar.entry.js +14 -17
  112. package/dist/esm/snk-filter-detail.entry.js +2 -16
  113. package/dist/esm/snk-filter-modal-item.entry.js +6 -20
  114. package/dist/esm/snk-form-config.entry.js +7 -18
  115. package/dist/esm/snk-form-view.entry.js +6 -1
  116. package/dist/esm/snk-form.entry.js +12 -8
  117. package/dist/esm/snk-grid-config.entry.js +5 -6
  118. package/dist/esm/snk-grid.entry.js +20 -20
  119. package/dist/esm/{snk-guides-viewer-aa386f6e.js → snk-guides-viewer-cc709b5f.js} +18 -9
  120. package/dist/esm/snk-guides-viewer.entry.js +8 -8
  121. package/dist/esm/snk-personalized-filter.entry.js +13 -16
  122. package/dist/esm/snk-print-selector.entry.js +1 -1
  123. package/dist/esm/snk-simple-crud.entry.js +34 -83
  124. package/dist/esm/snk-taskbar.entry.js +2 -1
  125. package/dist/sankhyablocks/p-01739b21.entry.js +1 -0
  126. package/dist/sankhyablocks/{p-e7e54737.entry.js → p-03bb1aea.entry.js} +1 -1
  127. package/dist/sankhyablocks/p-05dbc70e.entry.js +1 -0
  128. package/dist/sankhyablocks/{p-0a4c753d.js → p-14eac6fe.js} +1 -1
  129. package/dist/sankhyablocks/{p-2ac9c585.js → p-2d333d22.js} +1 -1
  130. package/dist/sankhyablocks/p-41e897f1.js +56 -0
  131. package/dist/sankhyablocks/p-48a40939.js +1 -0
  132. package/dist/sankhyablocks/p-611aa624.entry.js +1 -0
  133. package/dist/sankhyablocks/p-66bb8c20.entry.js +1 -0
  134. package/dist/sankhyablocks/p-688dcb4c.js +1 -0
  135. package/dist/sankhyablocks/p-6f154396.entry.js +1 -0
  136. package/dist/sankhyablocks/p-787071a8.js +1 -0
  137. package/dist/sankhyablocks/p-8818d8f6.entry.js +1 -0
  138. package/dist/sankhyablocks/p-93f6ca04.entry.js +1 -0
  139. package/dist/sankhyablocks/p-9a270401.entry.js +1 -0
  140. package/dist/sankhyablocks/p-9e7d65a4.js +1 -0
  141. package/dist/sankhyablocks/p-a52a6c9d.js +26 -0
  142. package/dist/sankhyablocks/p-b6003974.entry.js +1 -0
  143. package/dist/sankhyablocks/p-c555075c.entry.js +1 -0
  144. package/dist/sankhyablocks/p-cfb33a4a.entry.js +1 -0
  145. package/dist/sankhyablocks/{p-7c7764bf.entry.js → p-d13c00b6.entry.js} +1 -1
  146. package/dist/sankhyablocks/p-d4f9ee17.entry.js +1 -0
  147. package/dist/sankhyablocks/p-d53a9169.entry.js +1 -0
  148. package/dist/sankhyablocks/p-d7638f45.entry.js +11 -0
  149. package/dist/sankhyablocks/p-e086cc2a.entry.js +1 -0
  150. package/dist/sankhyablocks/p-e64f3e17.entry.js +1 -0
  151. package/dist/sankhyablocks/p-ed41b38c.js +1 -0
  152. package/dist/sankhyablocks/p-ed705cbb.entry.js +1 -0
  153. package/dist/sankhyablocks/p-efc10705.entry.js +1 -0
  154. package/dist/sankhyablocks/p-f74fe358.js +1 -0
  155. package/dist/sankhyablocks/{p-df8621b4.js → p-f8e6b97e.js} +1 -1
  156. package/dist/sankhyablocks/p-f91e0c5d.entry.js +1 -0
  157. package/dist/sankhyablocks/p-fa523d6b.entry.js +1 -0
  158. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  159. package/dist/types/components/snk-actions-button/actions/index.d.ts +2 -1
  160. package/dist/types/components/snk-application/snk-application.d.ts +8 -13
  161. package/dist/types/components/snk-configurator/snk-configurator.d.ts +4 -0
  162. package/dist/types/components/snk-crud/snk-crud.d.ts +10 -0
  163. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +13 -0
  164. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +5 -0
  165. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +13 -2
  166. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +8 -0
  167. package/dist/types/components/snk-entity-list/snk-entity-list.d.ts +0 -4
  168. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +0 -3
  169. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +1 -1
  170. package/dist/types/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.d.ts +5 -4
  171. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +4 -0
  172. package/dist/types/components/snk-form/SnkFormConfigManager.d.ts +5 -4
  173. package/dist/types/components/snk-form/snk-form.d.ts +9 -1
  174. package/dist/types/components/snk-form/subcomponents/snk-form-config/snk-form-config.d.ts +0 -2
  175. package/dist/types/components/snk-grid/snk-grid.d.ts +18 -1
  176. package/dist/types/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.d.ts +4 -0
  177. package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +5 -1
  178. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +8 -0
  179. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +4 -0
  180. package/dist/types/components.d.ts +189 -21
  181. package/dist/types/lib/configs/ConfigStorage.d.ts +11 -13
  182. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +2 -8
  183. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
  184. package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +0 -1
  185. package/dist/types/lib/index.d.ts +11 -0
  186. package/dist/types/lib/resourceid/ResourceIDUtils.d.ts +3 -0
  187. package/dist/types/lib/utils/urlutils.d.ts +14 -0
  188. package/package.json +2 -2
  189. package/dist/cjs/filter-bar-config-fetcher-2b8ed9d0.js +0 -155
  190. package/dist/cjs/resource-fetcher-c0332609.js +0 -68
  191. package/dist/components/filter-bar-config-fetcher.js +0 -153
  192. package/dist/components/resource-fetcher.js +0 -66
  193. package/dist/esm/filter-bar-config-fetcher-06e02851.js +0 -153
  194. package/dist/esm/resource-fetcher-768d5556.js +0 -66
  195. package/dist/sankhyablocks/p-0a94fdbd.entry.js +0 -1
  196. package/dist/sankhyablocks/p-0ed0fc02.entry.js +0 -1
  197. package/dist/sankhyablocks/p-1e0189ff.entry.js +0 -1
  198. package/dist/sankhyablocks/p-216f081a.entry.js +0 -1
  199. package/dist/sankhyablocks/p-50d72261.entry.js +0 -1
  200. package/dist/sankhyablocks/p-6759adae.entry.js +0 -1
  201. package/dist/sankhyablocks/p-7b8b8ae9.js +0 -10
  202. package/dist/sankhyablocks/p-815a42c0.entry.js +0 -1
  203. package/dist/sankhyablocks/p-8a41172a.entry.js +0 -1
  204. package/dist/sankhyablocks/p-8f8184ff.js +0 -56
  205. package/dist/sankhyablocks/p-8fdc3108.js +0 -1
  206. package/dist/sankhyablocks/p-976e56e9.js +0 -1
  207. package/dist/sankhyablocks/p-98f9d076.js +0 -17
  208. package/dist/sankhyablocks/p-9edad923.js +0 -1
  209. package/dist/sankhyablocks/p-abdcac04.entry.js +0 -1
  210. package/dist/sankhyablocks/p-b0847056.entry.js +0 -1
  211. package/dist/sankhyablocks/p-bc735728.entry.js +0 -1
  212. package/dist/sankhyablocks/p-be684b38.entry.js +0 -1
  213. package/dist/sankhyablocks/p-befbc9ee.entry.js +0 -1
  214. package/dist/sankhyablocks/p-c0f656af.entry.js +0 -1
  215. package/dist/sankhyablocks/p-c6380ea2.entry.js +0 -1
  216. package/dist/sankhyablocks/p-ccbfb1cf.entry.js +0 -1
  217. package/dist/sankhyablocks/p-d1b89765.js +0 -1
  218. package/dist/sankhyablocks/p-de69b4b0.entry.js +0 -1
  219. package/dist/sankhyablocks/p-e28129aa.entry.js +0 -1
  220. package/dist/sankhyablocks/p-f31bfdee.entry.js +0 -1
  221. package/dist/sankhyablocks/p-f92fda53.entry.js +0 -11
@@ -6434,6 +6434,35 @@ class UrlUtils {
6434
6434
  return window['mock_url'];
6435
6435
  return `${location.protocol}//${location.hostname}${location.port ? ":" + location.port : ""}`;
6436
6436
  }
6437
+ /**
6438
+ * Extrai da URL o parâmetro que contém o resourceId da tela desejada.
6439
+ *
6440
+ */
6441
+ static getResourceIdFromUrlToken(url) {
6442
+ try {
6443
+ const parts = url.split('/');
6444
+ const encodedValue = parts[1];
6445
+ return atob(encodedValue);
6446
+ }
6447
+ catch (error) {
6448
+ throw new Error('Erro ao obter resourceId:' + error);
6449
+ }
6450
+ }
6451
+ /**
6452
+ * Extrai da URL o parâmetro que contém o o objeto com a PK do registro específico.
6453
+ *
6454
+ */
6455
+ static getPkObjectFromUrlToken(url) {
6456
+ try {
6457
+ const parts = url.split('/');
6458
+ const encodedObjectPart = parts[parts.length - 2];
6459
+ const decodedObjectPart = atob(encodedObjectPart);
6460
+ return JSON.parse(decodedObjectPart);
6461
+ }
6462
+ catch (error) {
6463
+ throw new Error('Erro ao obter a PK do objeto:' + error);
6464
+ }
6465
+ }
6437
6466
  }
6438
6467
 
6439
6468
  class ServiceBrokerRecaller {
@@ -6679,7 +6708,8 @@ class AppletImpressao {
6679
6708
 
6680
6709
  class DataFetcher {
6681
6710
  constructor() {
6682
- this.GRAPHQL_PATH = "/mgefin-bff/graphql";
6711
+ this.GRAPHQL_PATH = `/${window.MGE_MODULE_NAME || 'mgefin-bff'}/graphql`;
6712
+ this.ready = true;
6683
6713
  this.watingRequestsById = new Map();
6684
6714
  }
6685
6715
  static get() {
@@ -6690,6 +6720,9 @@ class DataFetcher {
6690
6720
  DataFetcher.instance.resume();
6691
6721
  }
6692
6722
  else {
6723
+ if (ApplicationContext.getContextValue("__SNK__APPLICATION__LOADING__") === true) {
6724
+ DataFetcher.instance.pause();
6725
+ }
6693
6726
  application.addEventListener('applicationLoading', () => DataFetcher.instance.pause());
6694
6727
  application.addEventListener('applicationLoaded', () => DataFetcher.instance.resume());
6695
6728
  }
@@ -6748,6 +6781,10 @@ class DataFetcher {
6748
6781
  }
6749
6782
  async callGraphQL(req) {
6750
6783
  var _a;
6784
+ if (this.ready) {
6785
+ this.pause();
6786
+ window.requestAnimationFrame(() => this.resume());
6787
+ }
6751
6788
  const reqKey = this.getReqKey(req);
6752
6789
  req.queryID = reqKey;
6753
6790
  req.values.queryID = reqKey;
@@ -6777,7 +6814,7 @@ class DataFetcher {
6777
6814
  if (!this.watingRequestsById.has(reqKey)) {
6778
6815
  this.watingRequestsById.set(reqKey, new WaitingRequest(req));
6779
6816
  }
6780
- return (_a = this.getWatingRequest(reqKey)) === null || _a === void 0 ? void 0 : _a.promise;
6817
+ return (_a = this.watingRequestsById.get(reqKey)) === null || _a === void 0 ? void 0 : _a.promise;
6781
6818
  }
6782
6819
  }
6783
6820
  resolveURL() {
@@ -6925,42 +6962,43 @@ class DataFetcher {
6925
6962
  getQueryTemplate(re) {
6926
6963
  return (re.query || "").replaceAll("$queryAlias$", re.queryID);
6927
6964
  }
6928
- getWatingRequest(reqID) {
6929
- return this.watingRequestsById.get(reqID);
6930
- }
6931
6965
  pause() {
6932
6966
  this.ready = false;
6933
6967
  }
6934
6968
  async resume() {
6935
6969
  this.ready = true;
6936
6970
  if (this.watingRequestsById.size > 0) {
6937
- const requestsBatch = [];
6938
- this.watingRequestsById.forEach(async (waitingReq) => {
6939
- let query = this.getQueryTemplate(waitingReq.request);
6940
- requestsBatch.push({ document: query, variables: Object.assign({}, waitingReq.request.values) });
6941
- });
6942
- let res = undefined;
6943
- let dataResponse = [];
6944
- let errorsResponse = [];
6945
- res = await this.fecthGrapql(requestsBatch);
6946
- dataResponse = res.data;
6947
- errorsResponse = res.errors;
6948
- //Reject promises with errors from query
6949
- errorsResponse.forEach((errorResponse) => {
6950
- Object.entries(errorResponse).forEach(([_key, val]) => {
6951
- var _a;
6952
- (((_a = this.getWatingRequest(val.request.variables[val.index].queryID)) === null || _a === void 0 ? void 0 : _a.reject) || Promise.reject)(new ErrorException("Falha detectada", val.message));
6953
- });
6971
+ const waitinRequests = this.watingRequestsById;
6972
+ this.watingRequestsById = new Map();
6973
+ this.executePendingRequest(waitinRequests);
6974
+ }
6975
+ }
6976
+ async executePendingRequest(watingRequestsById) {
6977
+ const requestsBatch = [];
6978
+ watingRequestsById.forEach(async (waitingReq) => {
6979
+ let query = this.getQueryTemplate(waitingReq.request);
6980
+ requestsBatch.push({ document: query, variables: Object.assign({}, waitingReq.request.values) });
6981
+ });
6982
+ let res = undefined;
6983
+ let dataResponse = [];
6984
+ let errorsResponse = [];
6985
+ res = await this.fecthGrapql(requestsBatch);
6986
+ dataResponse = res.data;
6987
+ errorsResponse = res.errors;
6988
+ //Reject promises with errors from query
6989
+ errorsResponse.forEach((errorResponse) => {
6990
+ Object.entries(errorResponse).forEach(([_key, val]) => {
6991
+ var _a;
6992
+ (((_a = watingRequestsById.get(val.request.variables[val.index].queryID)) === null || _a === void 0 ? void 0 : _a.reject) || Promise.reject)(new ErrorException("Falha detectada", val.message));
6954
6993
  });
6955
- //Resolve promises with data from query
6956
- dataResponse.forEach((data) => {
6957
- Object.entries(data).forEach(([key, val]) => {
6958
- var _a;
6959
- (((_a = this.getWatingRequest(key)) === null || _a === void 0 ? void 0 : _a.resolve) || Promise.resolve)(val);
6960
- });
6994
+ });
6995
+ //Resolve promises with data from query
6996
+ dataResponse.forEach((data) => {
6997
+ Object.entries(data).forEach(([key, val]) => {
6998
+ var _a;
6999
+ (((_a = watingRequestsById.get(key)) === null || _a === void 0 ? void 0 : _a.resolve) || Promise.resolve)(val);
6961
7000
  });
6962
- this.watingRequestsById.clear();
6963
- }
7001
+ });
6964
7002
  }
6965
7003
  async fecthGrapql(request) {
6966
7004
  let res = undefined;
@@ -0,0 +1,10 @@
1
+ import { ApplicationContext } from '@sankhyalabs/core';
2
+
3
+ class ResourceIDUtils {
4
+ static async getResourceID() {
5
+ const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
6
+ return application.getResourceID();
7
+ }
8
+ }
9
+
10
+ export { ResourceIDUtils as R };
@@ -3,29 +3,27 @@ import { ObjectUtils } from '@sankhyalabs/core';
3
3
  import { F as FormConfigFetcher } from './form-config-fetcher.js';
4
4
 
5
5
  class SnkFormConfigManager {
6
- constructor(configName, onConfigChange) {
6
+ constructor(configName, resourceID, onConfigChange) {
7
+ this._resourceID = resourceID;
7
8
  this._configName = configName;
8
9
  this._onConfigChange = onConfigChange;
9
10
  }
10
11
  async loadConfig() {
11
12
  return new Promise(resolve => {
12
- ConfigStorage.get()
13
- .then((configStorage) => {
14
- configStorage.loadFormConfig(this._configName)
15
- .then((config) => {
16
- this.setConfig(config);
17
- resolve(config);
18
- })
19
- .catch((error) => {
20
- console.warn(error);
21
- });
13
+ ConfigStorage.loadFormConfig(this._configName, this._resourceID)
14
+ .then((config) => {
15
+ this.setConfig(config);
16
+ resolve(config);
17
+ })
18
+ .catch((error) => {
19
+ console.warn(error);
22
20
  });
23
21
  });
24
22
  }
25
23
  saveConfig(config) {
26
24
  const configToSave = ObjectUtils.copy(config);
27
25
  return new Promise(accept => {
28
- ConfigStorage.saveFormConfig(config, this._configName)
26
+ ConfigStorage.saveFormConfig(config, this._configName, this._resourceID)
29
27
  .then((response) => {
30
28
  this.setConfig(Object.assign(Object.assign({}, configToSave), response));
31
29
  accept(Object.assign(Object.assign({}, configToSave), response));
@@ -40,7 +38,7 @@ class SnkFormConfigManager {
40
38
  cardsState.set(cardId, propertyChanged === "fixed" ?
41
39
  this.updateFixSequence(Object.assign(Object.assign({}, currentConfig), { fixed: cardConfig.fixed }), cardsState)
42
40
  : Object.assign(Object.assign({}, currentConfig), { [propertyChanged]: cardConfig[propertyChanged] }));
43
- ConfigStorage.saveCardState(cardsState, this._configName)
41
+ ConfigStorage.saveCardState(cardsState, this._configName, this._resourceID)
44
42
  .then(savedCardConfig => {
45
43
  this._config = Object.assign(Object.assign({}, this._config), { cardsState });
46
44
  resolve(savedCardConfig);
@@ -116,18 +114,18 @@ class SnkFormConfigManager {
116
114
  }
117
115
  return this._formConfigFetcher;
118
116
  }
119
- async fetchUserAvailableConfigs(resourceID) {
117
+ async fetchUserAvailableConfigs() {
120
118
  if (this._configName != undefined) {
121
119
  //FIXME: Precisamos preparar o backend para retornar as configurações disponíveis para details;
122
120
  return Promise.resolve(undefined);
123
121
  }
124
- return this.getFormConfigFetcher().fetchUserAvailableConfigs(this._configName, resourceID);
122
+ return this.getFormConfigFetcher().fetchUserAvailableConfigs(this._configName, this._resourceID);
125
123
  }
126
- async fetchLegacyConfig(resourceID) {
127
- return this.getFormConfigFetcher().fetchLegacyConfig(this._configName, resourceID);
124
+ async fetchLegacyConfig() {
125
+ return this.getFormConfigFetcher().fetchLegacyConfig(this._configName, this._resourceID);
128
126
  }
129
- async fetchDefaultConfig(resourceID) {
130
- return this.getFormConfigFetcher().fetchDefaultConfig(this._configName, resourceID);
127
+ async fetchDefaultConfig() {
128
+ return this.getFormConfigFetcher().fetchDefaultConfig(this._configName, this._resourceID);
131
129
  }
132
130
  }
133
131
 
@@ -0,0 +1,32 @@
1
+ import { ObjectUtils } from '@sankhyalabs/core';
2
+ import { R as ResourceFetcher } from './form-config-fetcher.js';
3
+
4
+ class AuthFetcher extends ResourceFetcher {
5
+ getData(resourceID) {
6
+ const completePath = `cfg://auth/${resourceID}`;
7
+ return new Promise((resolve, reject) => {
8
+ this.loadResource(completePath)
9
+ .then((loadedResource) => {
10
+ let auth = ObjectUtils.stringToObject(loadedResource);
11
+ if (auth && typeof (auth) === 'object') {
12
+ resolve(auth);
13
+ }
14
+ }).catch((error) => {
15
+ reject(error);
16
+ });
17
+ });
18
+ }
19
+ }
20
+ var AutorizationType;
21
+ (function (AutorizationType) {
22
+ AutorizationType["INSERT"] = "I";
23
+ AutorizationType["UPDATE"] = "A";
24
+ AutorizationType["REMOVE"] = "E";
25
+ AutorizationType["SHOW"] = "C";
26
+ AutorizationType["CONFIG"] = "F";
27
+ AutorizationType["CONFIG_NUMBER"] = "N";
28
+ AutorizationType["CLONE"] = "D";
29
+ AutorizationType["CONFIG_GRID"] = "G";
30
+ })(AutorizationType || (AutorizationType = {}));
31
+
32
+ export { AutorizationType as A, AuthFetcher as a };
@@ -1,6 +1,68 @@
1
1
  import { d as dist, D as DataFetcher } from './DataFetcher.js';
2
2
  import { ObjectUtils } from '@sankhyalabs/core';
3
- import { R as ResourceFetcher } from './resource-fetcher.js';
3
+
4
+ class ResourceFetcher {
5
+ constructor() {
6
+ this.templateByQuery = new Map();
7
+ this.buldTemplates();
8
+ }
9
+ buldTemplates() {
10
+ this.templateByQuery.set("fetchResource", dist.gql `query($name: String!) {
11
+ $queryAlias$: fetchResource(name: $name){
12
+ resource
13
+ }
14
+ }`);
15
+ this.templateByQuery.set("saveResource", dist.gql `mutation($resource: InputResource!) {
16
+ $queryAlias$: saveResource(resource: $resource){
17
+ name
18
+ resource
19
+ }
20
+ }`);
21
+ }
22
+ loadResource(name) {
23
+ if (ResourceFetcher._loadingResource.has(name)) {
24
+ return ResourceFetcher._loadingResource.get(name);
25
+ }
26
+ const promiseLoadResource = new Promise((resolve, reject) => {
27
+ DataFetcher.get()
28
+ .callGraphQL({
29
+ values: { name },
30
+ query: this.templateByQuery.get("fetchResource"),
31
+ })
32
+ .then((result) => {
33
+ resolve(result === null || result === void 0 ? void 0 : result.resource);
34
+ ResourceFetcher._loadingResource.delete(name);
35
+ })
36
+ .catch((error) => {
37
+ reject(error);
38
+ ResourceFetcher._loadingResource.delete(name);
39
+ });
40
+ });
41
+ ResourceFetcher._loadingResource.set(name, promiseLoadResource);
42
+ return promiseLoadResource;
43
+ }
44
+ saveResource(resource, name) {
45
+ return new Promise((resolve, reject) => {
46
+ DataFetcher.get()
47
+ .callGraphQL({
48
+ values: {
49
+ resource: {
50
+ name: name,
51
+ resource: JSON.stringify(resource)
52
+ }
53
+ },
54
+ query: this.templateByQuery.get("saveResource")
55
+ })
56
+ .then((resp) => {
57
+ resolve(resp);
58
+ })
59
+ .catch((error) => {
60
+ reject(error);
61
+ });
62
+ });
63
+ }
64
+ }
65
+ ResourceFetcher._loadingResource = new Map();
4
66
 
5
67
  class FormConfigFetcher extends ResourceFetcher {
6
68
  constructor() {
@@ -176,4 +238,4 @@ var UserConfigType;
176
238
  UserConfigType["SHARED"] = "SHARED";
177
239
  })(UserConfigType || (UserConfigType = {}));
178
240
 
179
- export { FormConfigFetcher as F, UserConfigType as U };
241
+ export { FormConfigFetcher as F, ResourceFetcher as R, UserConfigType as U };
@@ -4,6 +4,11 @@ import { D as DataFetcher } from './DataFetcher.js';
4
4
  import { P as ParamType } from './ParamType.js';
5
5
  import './pesquisa-fetcher.js';
6
6
  import './index2.js';
7
+ import '@sankhyalabs/ezui/dist/collection/utils/constants';
8
+ import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
9
+ import './filter-item-type.enum.js';
10
+ import './form-config-fetcher.js';
11
+ import { R as ResourceIDUtils } from './ResourceIDUtils.js';
7
12
 
8
13
  const SERVICE_ACTION_EXECUTE_JAVA = 'ActionButtonsSP.executeJava';
9
14
  class JavaExecutor {
@@ -153,18 +158,26 @@ var RefreshType;
153
158
  RefreshType["ALL"] = "ALL";
154
159
  })(RefreshType || (RefreshType = {}));
155
160
 
161
+ var SaveErrorsEnum;
162
+ (function (SaveErrorsEnum) {
163
+ SaveErrorsEnum["LINK_AND_FILE_AT_THE_SAME_TIME"] = "LINK_AND_FILE_AT_THE_SAME_TIME";
164
+ SaveErrorsEnum["ANY_LINK_OR_FILE_FILLED"] = "ANY_LINK_OR_FILE_FILLED";
165
+ SaveErrorsEnum["UNKNOWN"] = "UNKNOWN";
166
+ })(SaveErrorsEnum || (SaveErrorsEnum = {}));
167
+
156
168
  const MASTER_ROW_PROPERTY = "__MASTER_ROW__";
157
169
  const ENTITY_NAME_PROPERTY = '__ENTITY_NAME__';
158
170
  const NUFIN_COLUMN = 'NUFIN';
159
171
  const SERVICE_GET_CONFIGURATIONS = 'SystemUtilsSP.getConf';
160
172
  class Actions {
161
- constructor(actionsExecuteInterface, dataUnit) {
173
+ constructor(actionsExecuteInterface, dataUnit, appResourceId) {
162
174
  var _a;
163
175
  this._lastValuesCache = {};
164
176
  this._actionsExecuteInterface = actionsExecuteInterface;
165
177
  this._dataUnit = dataUnit;
166
178
  this._selectedRows = ((_a = dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.getSelectionInfo()) === null || _a === void 0 ? void 0 : _a.isAllRecords()) ? [] : dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.getSelectionInfo().records;
167
179
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
180
+ this._appResourceId = appResourceId;
168
181
  }
169
182
  apply(action, hasParamsToSave) {
170
183
  this._application.closePopUp();
@@ -427,9 +440,7 @@ class Actions {
427
440
  }
428
441
  }
429
442
  async buildResourceId(actionId) {
430
- let appResId = '';
431
- appResId = await this._application.getResourceID();
432
- return appResId + '.actionconfig.' + actionId;
443
+ return this._appResourceId + '.actionconfig.' + actionId;
433
444
  }
434
445
  prepareAndExecute(execSource, executeAction) {
435
446
  this.addRows(execSource);
@@ -588,7 +599,7 @@ const SnkActionsButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
588
599
  this.handleClick = (evt) => {
589
600
  const selectedAction = this._actions.find((action) => action.actionID == evt.detail.id);
590
601
  const executor = new ExecutorFactory(selectedAction.type).executor;
591
- const action = new Actions(executor, this._dataUnit);
602
+ const action = new Actions(executor, this._dataUnit, this._resourceID);
592
603
  action.execute(Object.assign({}, selectedAction));
593
604
  this._showDropdown = false;
594
605
  };
@@ -646,12 +657,15 @@ const SnkActionsButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
646
657
  document.addEventListener("scroll", this.positionDropdown.bind(this));
647
658
  }
648
659
  async componentWillLoad() {
649
- var _a;
650
660
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
651
- this._resourceID = await this._application.getResourceID();
652
661
  this._isOrderActions = await this._application.getBooleanParam('global.ordenar.acoes.personalizadas');
653
- this._dataUnit = (_a = this._element.parentElement) === null || _a === void 0 ? void 0 : _a.dataUnit;
662
+ const snkDataUnit = this._element.parentElement;
663
+ this._dataUnit = snkDataUnit === null || snkDataUnit === void 0 ? void 0 : snkDataUnit.dataUnit;
664
+ this._resourceID = snkDataUnit === null || snkDataUnit === void 0 ? void 0 : snkDataUnit.resourceID;
654
665
  this._entityName = this._dataUnit.name.split('/')[2];
666
+ if (this._resourceID == undefined) {
667
+ this._resourceID = await ResourceIDUtils.getResourceID();
668
+ }
655
669
  this.setEvents();
656
670
  this.getActions().then(() => {
657
671
  this.loadItems();
@@ -715,4 +729,4 @@ function defineCustomElement() {
715
729
  } });
716
730
  }
717
731
 
718
- export { SnkActionsButton as S, defineCustomElement as d };
732
+ export { SnkActionsButton as S, SaveErrorsEnum as a, defineCustomElement as d };