@sankhyalabs/sankhyablocks 8.1.0-dev.10 → 8.1.0-dev.12

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 (209) hide show
  1. package/dist/cjs/{ConfigStorage-e32e1391.js → ConfigStorage-42601579.js} +163 -51
  2. package/dist/cjs/{DataFetcher-d2c6ae38.js → DataFetcher-370cc8f2.js} +38 -29
  3. package/dist/cjs/ISave-d68ce3cd.js +8 -0
  4. package/dist/cjs/ResourceIDUtils-5ff86aa7.js +12 -0
  5. package/dist/cjs/{SnkFormConfigManager-5e61b0a9.js → SnkFormConfigManager-e5a28b2e.js} +19 -21
  6. package/dist/cjs/{auth-fetcher-da975ac5.js → auth-fetcher-c42326e9.js} +2 -2
  7. package/dist/cjs/{dataunit-fetcher-58ad78a7.js → dataunit-fetcher-eab8050e.js} +1 -1
  8. package/dist/cjs/{form-config-fetcher-761994b9.js → form-config-fetcher-6704319c.js} +66 -3
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/{pesquisa-fetcher-bb0bb679.js → pesquisa-fetcher-84d392c7.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 +49 -44
  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 +24 -10
  17. package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
  18. package/dist/cjs/{snk-data-unit-e89e07bd.js → snk-data-unit-80a00ae4.js} +4 -3
  19. package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
  20. package/dist/cjs/snk-detail-view.cjs.entry.js +13 -12
  21. package/dist/cjs/snk-entity-list.cjs.entry.js +0 -4
  22. package/dist/cjs/snk-filter-bar.cjs.entry.js +13 -16
  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.cjs.entry.js +11 -8
  27. package/dist/cjs/snk-grid-config.cjs.entry.js +5 -6
  28. package/dist/cjs/snk-grid.cjs.entry.js +13 -17
  29. package/dist/cjs/{snk-guides-viewer-eb0a79a4.js → snk-guides-viewer-fd785f55.js} +16 -7
  30. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -8
  31. package/dist/cjs/snk-personalized-filter.cjs.entry.js +13 -16
  32. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-simple-crud.cjs.entry.js +7 -3
  34. package/dist/cjs/snk-taskbar.cjs.entry.js +2 -1
  35. package/dist/collection/components/snk-actions-button/actions/index.js +3 -4
  36. package/dist/collection/components/snk-actions-button/snk-actions-button.js +8 -4
  37. package/dist/collection/components/snk-application/snk-application.js +60 -65
  38. package/dist/collection/components/snk-configurator/snk-configurator.js +19 -1
  39. package/dist/collection/components/snk-crud/snk-crud.js +18 -6
  40. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +20 -2
  41. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +25 -28
  42. package/dist/collection/components/snk-data-unit/snk-data-unit.js +21 -4
  43. package/dist/collection/components/snk-entity-list/snk-entity-list.js +0 -23
  44. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +2 -12
  45. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +1 -1
  46. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +21 -16
  47. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +27 -11
  48. package/dist/collection/components/snk-form/SnkFormConfigManager.js +17 -19
  49. package/dist/collection/components/snk-form/snk-form.js +24 -2
  50. package/dist/collection/components/snk-form/subcomponents/snk-form-config/snk-form-config.js +5 -15
  51. package/dist/collection/components/snk-grid/snk-grid.js +27 -12
  52. package/dist/collection/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.js +19 -1
  53. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +28 -12
  54. package/dist/collection/components/snk-taskbar/snk-taskbar.js +19 -1
  55. package/dist/collection/lib/configs/ConfigStorage.js +33 -44
  56. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +38 -29
  57. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +0 -24
  58. package/dist/collection/lib/index.js +10 -0
  59. package/dist/collection/lib/resourceid/ResourceIDUtils.js +7 -0
  60. package/dist/components/ConfigStorage.js +161 -48
  61. package/dist/components/DataFetcher.js +38 -29
  62. package/dist/components/ResourceIDUtils.js +10 -0
  63. package/dist/components/SnkFormConfigManager.js +17 -19
  64. package/dist/components/auth-fetcher.js +1 -1
  65. package/dist/components/form-config-fetcher.js +64 -2
  66. package/dist/components/snk-actions-button2.js +23 -9
  67. package/dist/components/snk-application2.js +134 -128
  68. package/dist/components/snk-attach2.js +1 -8
  69. package/dist/components/snk-configurator2.js +3 -1
  70. package/dist/components/snk-crud.js +22 -6
  71. package/dist/components/snk-data-unit2.js +5 -3
  72. package/dist/components/snk-detail-view2.js +18 -8
  73. package/dist/components/snk-entity-list.js +0 -4
  74. package/dist/components/snk-filter-bar2.js +11 -11
  75. package/dist/components/snk-filter-detail2.js +2 -12
  76. package/dist/components/snk-filter-modal-item2.js +5 -16
  77. package/dist/components/snk-form-config2.js +5 -15
  78. package/dist/components/snk-form.js +8 -2
  79. package/dist/components/snk-grid-config2.js +4 -2
  80. package/dist/components/snk-grid2.js +11 -12
  81. package/dist/components/snk-personalized-filter2.js +11 -11
  82. package/dist/components/snk-simple-crud2.js +5 -1
  83. package/dist/components/snk-taskbar2.js +3 -1
  84. package/dist/esm/{ConfigStorage-b6aefe42.js → ConfigStorage-2915a841.js} +162 -49
  85. package/dist/esm/{DataFetcher-aaaff866.js → DataFetcher-0b121ffb.js} +38 -29
  86. package/dist/esm/ISave-4412b20c.js +8 -0
  87. package/dist/esm/ResourceIDUtils-a114189a.js +10 -0
  88. package/dist/esm/{SnkFormConfigManager-80901f2d.js → SnkFormConfigManager-8005340f.js} +19 -21
  89. package/dist/esm/{auth-fetcher-7860d777.js → auth-fetcher-643f240e.js} +1 -1
  90. package/dist/esm/{dataunit-fetcher-9dfcdb1d.js → dataunit-fetcher-6423d6eb.js} +1 -1
  91. package/dist/esm/{form-config-fetcher-4a34b86a.js → form-config-fetcher-77cdb26c.js} +65 -3
  92. package/dist/esm/loader.js +1 -1
  93. package/dist/esm/{pesquisa-fetcher-01d058e6.js → pesquisa-fetcher-c5a3c564.js} +1 -1
  94. package/dist/esm/sankhyablocks.js +1 -1
  95. package/dist/esm/snk-actions-button.entry.js +18 -11
  96. package/dist/esm/snk-application.entry.js +49 -44
  97. package/dist/esm/snk-attach.entry.js +3 -9
  98. package/dist/esm/snk-configurator.entry.js +2 -1
  99. package/dist/esm/snk-crud.entry.js +24 -10
  100. package/dist/esm/snk-data-exporter.entry.js +2 -2
  101. package/dist/esm/{snk-data-unit-8c4d944d.js → snk-data-unit-3ab57d1a.js} +4 -3
  102. package/dist/esm/snk-data-unit.entry.js +1 -1
  103. package/dist/esm/snk-detail-view.entry.js +13 -12
  104. package/dist/esm/snk-entity-list.entry.js +0 -4
  105. package/dist/esm/snk-filter-bar.entry.js +13 -16
  106. package/dist/esm/snk-filter-detail.entry.js +2 -16
  107. package/dist/esm/snk-filter-modal-item.entry.js +6 -20
  108. package/dist/esm/snk-form-config.entry.js +7 -18
  109. package/dist/esm/snk-form.entry.js +11 -8
  110. package/dist/esm/snk-grid-config.entry.js +5 -6
  111. package/dist/esm/snk-grid.entry.js +13 -17
  112. package/dist/esm/{snk-guides-viewer-ee42eb53.js → snk-guides-viewer-43b550a2.js} +16 -7
  113. package/dist/esm/snk-guides-viewer.entry.js +8 -8
  114. package/dist/esm/snk-personalized-filter.entry.js +13 -16
  115. package/dist/esm/snk-print-selector.entry.js +1 -1
  116. package/dist/esm/snk-simple-crud.entry.js +7 -3
  117. package/dist/esm/snk-taskbar.entry.js +2 -1
  118. package/dist/sankhyablocks/p-1108ed0e.entry.js +1 -0
  119. package/dist/sankhyablocks/p-18ead46b.entry.js +1 -0
  120. package/dist/sankhyablocks/p-1986cfa4.js +26 -0
  121. package/dist/sankhyablocks/p-1c7b4bad.entry.js +1 -0
  122. package/dist/sankhyablocks/p-48a40939.js +1 -0
  123. package/dist/sankhyablocks/p-508822c3.entry.js +1 -0
  124. package/dist/sankhyablocks/{p-85affa29.js → p-53a7ab6c.js} +1 -1
  125. package/dist/sankhyablocks/{p-77ecc583.entry.js → p-58b84e45.entry.js} +1 -1
  126. package/dist/sankhyablocks/p-688dcb4c.js +1 -0
  127. package/dist/sankhyablocks/{p-05bcad8a.entry.js → p-774afde8.entry.js} +1 -1
  128. package/dist/sankhyablocks/p-84b9208d.entry.js +1 -0
  129. package/dist/sankhyablocks/p-85dfb90b.entry.js +1 -0
  130. package/dist/sankhyablocks/p-86dda34d.js +1 -0
  131. package/dist/sankhyablocks/p-9a270401.entry.js +1 -0
  132. package/dist/sankhyablocks/{p-bee6b5d7.js → p-9bfc7124.js} +1 -1
  133. package/dist/sankhyablocks/p-9d81ad53.entry.js +1 -0
  134. package/dist/sankhyablocks/p-9e7d65a4.js +1 -0
  135. package/dist/sankhyablocks/p-a107474c.js +56 -0
  136. package/dist/sankhyablocks/p-a28470ae.entry.js +1 -0
  137. package/dist/sankhyablocks/p-b9376677.entry.js +1 -0
  138. package/dist/sankhyablocks/p-c7c035eb.js +1 -0
  139. package/dist/sankhyablocks/p-caaef934.js +1 -0
  140. package/dist/sankhyablocks/p-cf65dbb2.entry.js +1 -0
  141. package/dist/sankhyablocks/p-d4f9ee17.entry.js +1 -0
  142. package/dist/sankhyablocks/p-da2422ef.entry.js +11 -0
  143. package/dist/sankhyablocks/p-e086cc2a.entry.js +1 -0
  144. package/dist/sankhyablocks/p-ed705cbb.entry.js +1 -0
  145. package/dist/sankhyablocks/p-f1f5232d.entry.js +1 -0
  146. package/dist/sankhyablocks/{p-60791bb6.js → p-f88bdc84.js} +1 -1
  147. package/dist/sankhyablocks/p-fa523d6b.entry.js +1 -0
  148. package/dist/sankhyablocks/p-fcdd5761.entry.js +1 -0
  149. package/dist/sankhyablocks/p-fdf6b377.entry.js +1 -0
  150. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  151. package/dist/types/components/snk-actions-button/actions/index.d.ts +2 -1
  152. package/dist/types/components/snk-application/snk-application.d.ts +8 -13
  153. package/dist/types/components/snk-configurator/snk-configurator.d.ts +4 -0
  154. package/dist/types/components/snk-crud/snk-crud.d.ts +1 -0
  155. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +4 -0
  156. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +5 -2
  157. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +4 -0
  158. package/dist/types/components/snk-entity-list/snk-entity-list.d.ts +0 -4
  159. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +0 -3
  160. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +1 -1
  161. package/dist/types/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.d.ts +5 -4
  162. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +4 -0
  163. package/dist/types/components/snk-form/SnkFormConfigManager.d.ts +5 -4
  164. package/dist/types/components/snk-form/snk-form.d.ts +5 -1
  165. package/dist/types/components/snk-form/subcomponents/snk-form-config/snk-form-config.d.ts +0 -2
  166. package/dist/types/components/snk-grid/snk-grid.d.ts +4 -0
  167. package/dist/types/components/snk-grid/subcomponents/snk-grid-config/snk-grid-config.d.ts +4 -0
  168. package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +5 -1
  169. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +4 -0
  170. package/dist/types/components.d.ts +99 -21
  171. package/dist/types/lib/configs/ConfigStorage.d.ts +11 -13
  172. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
  173. package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +0 -1
  174. package/dist/types/lib/index.d.ts +11 -0
  175. package/dist/types/lib/resourceid/ResourceIDUtils.d.ts +3 -0
  176. package/package.json +1 -1
  177. package/dist/cjs/filter-bar-config-fetcher-80b033ce.js +0 -155
  178. package/dist/cjs/resource-fetcher-95d24dff.js +0 -68
  179. package/dist/components/filter-bar-config-fetcher.js +0 -153
  180. package/dist/components/resource-fetcher.js +0 -66
  181. package/dist/esm/filter-bar-config-fetcher-317cb6bf.js +0 -153
  182. package/dist/esm/resource-fetcher-b36ac145.js +0 -66
  183. package/dist/sankhyablocks/p-0b64f036.entry.js +0 -1
  184. package/dist/sankhyablocks/p-0e97ec46.entry.js +0 -1
  185. package/dist/sankhyablocks/p-1b81c379.entry.js +0 -1
  186. package/dist/sankhyablocks/p-2dd0f891.js +0 -17
  187. package/dist/sankhyablocks/p-330f584a.entry.js +0 -1
  188. package/dist/sankhyablocks/p-35ecafcb.entry.js +0 -1
  189. package/dist/sankhyablocks/p-42843f0e.js +0 -1
  190. package/dist/sankhyablocks/p-459d4267.entry.js +0 -1
  191. package/dist/sankhyablocks/p-557affc8.entry.js +0 -1
  192. package/dist/sankhyablocks/p-564efc43.js +0 -1
  193. package/dist/sankhyablocks/p-6295424d.entry.js +0 -1
  194. package/dist/sankhyablocks/p-64c2cec3.js +0 -1
  195. package/dist/sankhyablocks/p-803b79d6.js +0 -1
  196. package/dist/sankhyablocks/p-80729c9b.entry.js +0 -11
  197. package/dist/sankhyablocks/p-95fa8af6.entry.js +0 -1
  198. package/dist/sankhyablocks/p-96c1ae78.entry.js +0 -1
  199. package/dist/sankhyablocks/p-b556fadc.entry.js +0 -1
  200. package/dist/sankhyablocks/p-befbc9ee.entry.js +0 -1
  201. package/dist/sankhyablocks/p-bf3bd954.entry.js +0 -1
  202. package/dist/sankhyablocks/p-c32b9d7c.entry.js +0 -1
  203. package/dist/sankhyablocks/p-c6380ea2.entry.js +0 -1
  204. package/dist/sankhyablocks/p-dd1fa35d.js +0 -56
  205. package/dist/sankhyablocks/p-de69b4b0.entry.js +0 -1
  206. package/dist/sankhyablocks/p-e42f1f2a.js +0 -1
  207. package/dist/sankhyablocks/p-f24c4bc7.entry.js +0 -1
  208. package/dist/sankhyablocks/p-f737f7e1.js +0 -10
  209. package/dist/sankhyablocks/p-fd69eab9.entry.js +0 -1
@@ -6709,6 +6709,7 @@ class AppletImpressao {
6709
6709
  class DataFetcher {
6710
6710
  constructor() {
6711
6711
  this.GRAPHQL_PATH = "/mgefin-bff/graphql";
6712
+ this.ready = true;
6712
6713
  this.watingRequestsById = new Map();
6713
6714
  }
6714
6715
  static get() {
@@ -6719,6 +6720,9 @@ class DataFetcher {
6719
6720
  DataFetcher.instance.resume();
6720
6721
  }
6721
6722
  else {
6723
+ if (ApplicationContext.getContextValue("__SNK__APPLICATION__LOADING__") === true) {
6724
+ DataFetcher.instance.pause();
6725
+ }
6722
6726
  application.addEventListener('applicationLoading', () => DataFetcher.instance.pause());
6723
6727
  application.addEventListener('applicationLoaded', () => DataFetcher.instance.resume());
6724
6728
  }
@@ -6777,6 +6781,10 @@ class DataFetcher {
6777
6781
  }
6778
6782
  async callGraphQL(req) {
6779
6783
  var _a;
6784
+ if (this.ready) {
6785
+ this.pause();
6786
+ window.requestAnimationFrame(() => this.resume());
6787
+ }
6780
6788
  const reqKey = this.getReqKey(req);
6781
6789
  req.queryID = reqKey;
6782
6790
  req.values.queryID = reqKey;
@@ -6806,7 +6814,7 @@ class DataFetcher {
6806
6814
  if (!this.watingRequestsById.has(reqKey)) {
6807
6815
  this.watingRequestsById.set(reqKey, new WaitingRequest(req));
6808
6816
  }
6809
- 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;
6810
6818
  }
6811
6819
  }
6812
6820
  resolveURL() {
@@ -6954,42 +6962,43 @@ class DataFetcher {
6954
6962
  getQueryTemplate(re) {
6955
6963
  return (re.query || "").replaceAll("$queryAlias$", re.queryID);
6956
6964
  }
6957
- getWatingRequest(reqID) {
6958
- return this.watingRequestsById.get(reqID);
6959
- }
6960
6965
  pause() {
6961
6966
  this.ready = false;
6962
6967
  }
6963
6968
  async resume() {
6964
6969
  this.ready = true;
6965
6970
  if (this.watingRequestsById.size > 0) {
6966
- const requestsBatch = [];
6967
- this.watingRequestsById.forEach(async (waitingReq) => {
6968
- let query = this.getQueryTemplate(waitingReq.request);
6969
- requestsBatch.push({ document: query, variables: Object.assign({}, waitingReq.request.values) });
6970
- });
6971
- let res = undefined;
6972
- let dataResponse = [];
6973
- let errorsResponse = [];
6974
- res = await this.fecthGrapql(requestsBatch);
6975
- dataResponse = res.data;
6976
- errorsResponse = res.errors;
6977
- //Reject promises with errors from query
6978
- errorsResponse.forEach((errorResponse) => {
6979
- Object.entries(errorResponse).forEach(([_key, val]) => {
6980
- var _a;
6981
- (((_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));
6982
- });
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));
6983
6993
  });
6984
- //Resolve promises with data from query
6985
- dataResponse.forEach((data) => {
6986
- Object.entries(data).forEach(([key, val]) => {
6987
- var _a;
6988
- (((_a = this.getWatingRequest(key)) === null || _a === void 0 ? void 0 : _a.resolve) || Promise.resolve)(val);
6989
- });
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);
6990
7000
  });
6991
- this.watingRequestsById.clear();
6992
- }
7001
+ });
6993
7002
  }
6994
7003
  async fecthGrapql(request) {
6995
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
 
@@ -1,5 +1,5 @@
1
1
  import { ObjectUtils } from '@sankhyalabs/core';
2
- import { R as ResourceFetcher } from './resource-fetcher.js';
2
+ import { R as ResourceFetcher } from './form-config-fetcher.js';
3
3
 
4
4
  class AuthFetcher extends ResourceFetcher {
5
5
  getData(resourceID) {
@@ -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 };