@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
@@ -1,8 +1,6 @@
1
- import { ApplicationContext } from '@sankhyalabs/core';
2
- import { F as FormConfigFetcher } from './form-config-fetcher-9e167008.js';
3
- import { R as ResourceFetcher } from './resource-fetcher-768d5556.js';
4
- import { F as FilterBarConfigFetcher } from './filter-bar-config-fetcher-06e02851.js';
5
- import { d as dist, D as DataFetcher } from './DataFetcher-e0fc5549.js';
1
+ import { R as ResourceFetcher, F as FormConfigFetcher } from './form-config-fetcher-aaaa79a6.js';
2
+ import { F as FilterItemType } from './filter-item-type.enum-5028ed3f.js';
3
+ import { d as dist, D as DataFetcher } from './DataFetcher-7e18aa30.js';
6
4
 
7
5
  class GridConfigFetcher extends ResourceFetcher {
8
6
  constructor() {
@@ -44,6 +42,131 @@ class GridConfigFetcher extends ResourceFetcher {
44
42
  }
45
43
  }
46
44
 
45
+ var __rest = (undefined && undefined.__rest) || function (s, e) {
46
+ var t = {};
47
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
48
+ t[p] = s[p];
49
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
50
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
51
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
52
+ t[p[i]] = s[p[i]];
53
+ }
54
+ return t;
55
+ };
56
+ function normalizeValue(value, type) {
57
+ if (value == undefined) {
58
+ return value;
59
+ }
60
+ if (value instanceof Date) {
61
+ return value.toISOString();
62
+ }
63
+ if (typeof value === "object") {
64
+ if (value instanceof Array) {
65
+ return value.map(item => {
66
+ if (FilterItemType.MULTI_LIST === type) {
67
+ const values = __rest(item, ["label"]);
68
+ return normalizeValue(values);
69
+ }
70
+ return normalizeValue(item);
71
+ });
72
+ }
73
+ else {
74
+ const normalized = Object.assign({}, value);
75
+ Object.keys(value).forEach(prop => {
76
+ if (value[prop] !== undefined) {
77
+ normalized[prop] = normalizeValue(value[prop], type);
78
+ }
79
+ else {
80
+ delete normalized[prop];
81
+ }
82
+ });
83
+ return normalized;
84
+ }
85
+ }
86
+ return value;
87
+ }
88
+ class FilterBarConfigFetcher extends ResourceFetcher {
89
+ normalize(items) {
90
+ return items.map(item => {
91
+ const { id, value, fixed, visible, type, groupedItems } = item;
92
+ const stateItem = { id };
93
+ if (value) {
94
+ stateItem["value"] = normalizeValue(value, type);
95
+ }
96
+ if (fixed) {
97
+ stateItem["fixed"] = fixed;
98
+ }
99
+ if (groupedItems) {
100
+ if (groupedItems.length === 0) {
101
+ return;
102
+ }
103
+ if (groupedItems.filter(item => item.visible).length > 0) {
104
+ stateItem["visible"] = true;
105
+ }
106
+ stateItem["groupedItems"] = this.normalize(groupedItems);
107
+ }
108
+ else {
109
+ if (visible) {
110
+ stateItem["visible"] = true;
111
+ }
112
+ }
113
+ return stateItem;
114
+ }).filter(item => item != undefined);
115
+ }
116
+ saveConfig(items, resourceID, configName) {
117
+ return this.saveResource(this.normalize(items), this.getPath(resourceID, configName));
118
+ }
119
+ getConfig(resourceID, configName, urlParams) {
120
+ return new Promise((accept, reject) => {
121
+ this.loadResource(this.getPath(resourceID, configName, urlParams))
122
+ .then((configAsString) => {
123
+ let fieldsList;
124
+ if (configAsString) {
125
+ const filterBarConfig = JSON.parse(configAsString);
126
+ fieldsList = this.buildFieldList(filterBarConfig.items);
127
+ }
128
+ accept(fieldsList || []);
129
+ })
130
+ .catch((error) => {
131
+ reject(error);
132
+ });
133
+ });
134
+ }
135
+ buildFieldList(items) {
136
+ return items.map(item => {
137
+ var _a, _b;
138
+ if (item.type === FilterItemType.MULTI_LIST) {
139
+ const multiListValue = item.value;
140
+ item.value = (_b = (_a = multiListValue === null || multiListValue === void 0 ? void 0 : multiListValue.elements) !== null && _a !== void 0 ? _a : multiListValue === null || multiListValue === void 0 ? void 0 : multiListValue.members) !== null && _b !== void 0 ? _b : multiListValue;
141
+ }
142
+ return item;
143
+ });
144
+ }
145
+ getPath(resourceID, name, urlParams) {
146
+ let path = `cfg://filter/FilterBarState:${resourceID}`;
147
+ if (name) {
148
+ path += `.${name}`;
149
+ }
150
+ if (urlParams) {
151
+ path += this.buildQueryString(urlParams);
152
+ }
153
+ return path;
154
+ }
155
+ buildQueryString(urlParams) {
156
+ let queryString = '?';
157
+ for (let key in urlParams) {
158
+ if (!urlParams.hasOwnProperty(key)) {
159
+ continue;
160
+ }
161
+ if (queryString.length > 1) {
162
+ queryString += '&';
163
+ }
164
+ queryString += key + '=' + urlParams[key];
165
+ }
166
+ return queryString;
167
+ }
168
+ }
169
+
47
170
  class PersonalizedFilterFetcher {
48
171
  constructor() {
49
172
  this.templateByQuery = new Map();
@@ -218,83 +341,73 @@ const CONFIG_SOURCE = {
218
341
  filterBar: "filterBar"
219
342
  };
220
343
  class ConfigStorage {
221
- static async get() {
222
- if (!ConfigStorage.instance) {
223
- const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
224
- if (application != undefined) {
225
- const configName = application.configName;
226
- const resourceID = await application.getResourceID();
227
- ConfigStorage.instance = new ConfigStorage();
228
- ConfigStorage.resourceID = resourceID;
229
- ConfigStorage.instance.loadFormConfig(configName);
230
- ConfigStorage.instance.loadGridConfig(configName);
231
- }
232
- }
233
- return this.instance;
344
+ static preload(resourceID, configName) {
345
+ ConfigStorage.loadFormConfig(configName, resourceID);
346
+ ConfigStorage.loadGridConfig(configName, resourceID);
234
347
  }
235
- async loadFilterBarConfig(name, urlParams) {
236
- const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.filterBar);
348
+ static async loadFilterBarConfig(name, resourceID, urlParams) {
349
+ const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.filterBar, resourceID);
237
350
  if (!ConfigStorage.configById.has(cacheID)) {
238
- ConfigStorage.configById.set(cacheID, ConfigStorage.filterBarConfigFetcher.getConfig(ConfigStorage.resourceID, name, urlParams));
351
+ ConfigStorage.configById.set(cacheID, ConfigStorage.filterBarConfigFetcher.getConfig(resourceID, name, urlParams));
239
352
  }
240
353
  return ConfigStorage.configById.get(cacheID);
241
354
  }
242
- async loadFormConfig(name) {
243
- const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.form);
355
+ static async loadFormConfig(name, resourceID) {
356
+ const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.form, resourceID);
244
357
  if (!ConfigStorage.configById.has(cacheID)) {
245
- ConfigStorage.configById.set(cacheID, ConfigStorage.formConfigFetcher.loadFormConfig(name, ConfigStorage.resourceID));
358
+ ConfigStorage.configById.set(cacheID, ConfigStorage.formConfigFetcher.loadFormConfig(name, resourceID));
246
359
  }
247
360
  return ConfigStorage.configById.get(cacheID);
248
361
  }
249
- async loadGridConfig(name) {
250
- const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.grid);
362
+ static async loadGridConfig(name, resourceID) {
363
+ const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.grid, resourceID);
251
364
  if (!ConfigStorage.configById.has(cacheID)) {
252
- ConfigStorage.configById.set(cacheID, ConfigStorage.gridConfigFetcher.getConfig(name, ConfigStorage.resourceID));
365
+ ConfigStorage.configById.set(cacheID, ConfigStorage.gridConfigFetcher.getConfig(name, resourceID));
253
366
  }
254
367
  return ConfigStorage.configById.get(cacheID);
255
368
  }
256
- static async saveFilterBarConfig(config, name) {
257
- const cacheID = this.buildCacheID(name, CONFIG_SOURCE.filterBar);
369
+ static async saveFilterBarConfig(config, name, resourceID) {
370
+ const cacheID = this.buildCacheID(name, CONFIG_SOURCE.filterBar, resourceID);
258
371
  this.configById.delete(cacheID);
259
- return this.filterBarConfigFetcher.saveConfig(config, this.resourceID, name);
372
+ return this.filterBarConfigFetcher.saveConfig(config, resourceID, name);
260
373
  }
261
- static async saveFormConfig(config, name) {
262
- const cacheID = this.buildCacheID(name, CONFIG_SOURCE.form);
374
+ static async saveFormConfig(config, name, resourceID) {
375
+ const cacheID = this.buildCacheID(name, CONFIG_SOURCE.form, resourceID);
263
376
  this.configById.delete(cacheID);
264
- return this.formConfigFetcher.saveConfig(config, name, this.resourceID);
377
+ return this.formConfigFetcher.saveConfig(config, name, resourceID);
265
378
  }
266
- static async saveCardState(config, name) {
267
- return this.formConfigFetcher.saveCardState(config, name, this.resourceID);
379
+ static async saveCardState(config, name, resourceID) {
380
+ return this.formConfigFetcher.saveCardState(config, name, resourceID);
268
381
  }
269
- static async saveGridConfig(config, name) {
382
+ static async saveGridConfig(config, name, resourceID) {
270
383
  if (config == undefined) {
271
384
  return;
272
385
  }
273
- const cacheID = this.buildCacheID(name, CONFIG_SOURCE.grid);
386
+ const cacheID = this.buildCacheID(name, CONFIG_SOURCE.grid, resourceID);
274
387
  this.configById.delete(cacheID);
275
- return this.gridConfigFetcher.saveConfig(config, name, this.resourceID);
388
+ return this.gridConfigFetcher.saveConfig(config, name, resourceID);
276
389
  }
277
- static async loadPersonalizedFilter(filterId, configName) {
278
- return this.personalizedFilterFetcher.loadPersonalizedFilter(this.resourceID, filterId, configName);
390
+ static async loadPersonalizedFilter(filterId, resourceID, configName) {
391
+ return this.personalizedFilterFetcher.loadPersonalizedFilter(resourceID, filterId, configName);
279
392
  }
280
- static async savePersonalizedFilter(personalizedFilter, configName) {
393
+ static async savePersonalizedFilter(personalizedFilter, resourceID, configName) {
281
394
  //Ao criar ou alterar um filtro personalizado,
282
395
  //precisamos remover o cache do status da filterbar.
283
- const cacheID = this.buildCacheID(configName, CONFIG_SOURCE.filterBar);
396
+ const cacheID = this.buildCacheID(configName, CONFIG_SOURCE.filterBar, resourceID);
284
397
  this.configById.delete(cacheID);
285
- return this.personalizedFilterFetcher.savePersonalizedFilter(personalizedFilter, this.resourceID, configName);
398
+ return this.personalizedFilterFetcher.savePersonalizedFilter(personalizedFilter, resourceID, configName);
286
399
  }
287
- static async removePersonalizedFilter(personalizedFilter, configName) {
288
- return this.personalizedFilterFetcher.removePersonalizedFilter(personalizedFilter, this.resourceID, configName);
400
+ static async removePersonalizedFilter(personalizedFilter, resourceID, configName) {
401
+ return this.personalizedFilterFetcher.removePersonalizedFilter(personalizedFilter, resourceID, configName);
289
402
  }
290
403
  static async validatePersonalizedFilter(dataUnitName, expression) {
291
404
  return this.personalizedFilterFetcher.validatePersonalizedFilter(dataUnitName, expression);
292
405
  }
293
- static buildCacheID(name, source) {
406
+ static buildCacheID(name, source, resourceID) {
294
407
  if (name == undefined) {
295
- return `req_${source}_${this.resourceID}`;
408
+ return `req_${source}_${resourceID}`;
296
409
  }
297
- return `req_${source}_${name}_${this.resourceID}`;
410
+ return `req_${source}_${name}_${resourceID}`;
298
411
  }
299
412
  }
300
413
  ConfigStorage.configById = new Map();
@@ -303,4 +416,4 @@ ConfigStorage.formConfigFetcher = new FormConfigFetcher();
303
416
  ConfigStorage.gridConfigFetcher = new GridConfigFetcher();
304
417
  ConfigStorage.personalizedFilterFetcher = new PersonalizedFilterFetcher();
305
418
 
306
- export { ConfigStorage as C, GridConfigFetcher as G, PersonalizedFilterFetcher as P };
419
+ export { ConfigStorage as C, PersonalizedFilterFetcher as P };
@@ -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,8 @@
1
+ var SaveErrorsEnum;
2
+ (function (SaveErrorsEnum) {
3
+ SaveErrorsEnum["LINK_AND_FILE_AT_THE_SAME_TIME"] = "LINK_AND_FILE_AT_THE_SAME_TIME";
4
+ SaveErrorsEnum["ANY_LINK_OR_FILE_FILLED"] = "ANY_LINK_OR_FILE_FILLED";
5
+ SaveErrorsEnum["UNKNOWN"] = "UNKNOWN";
6
+ })(SaveErrorsEnum || (SaveErrorsEnum = {}));
7
+
8
+ export { SaveErrorsEnum as S };
@@ -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 };
@@ -1,31 +1,29 @@
1
- import { C as ConfigStorage } from './ConfigStorage-19a7260b.js';
1
+ import { C as ConfigStorage } from './ConfigStorage-932ab366.js';
2
2
  import { ObjectUtils } from '@sankhyalabs/core';
3
- import { F as FormConfigFetcher } from './form-config-fetcher-9e167008.js';
3
+ import { F as FormConfigFetcher } from './form-config-fetcher-aaaa79a6.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-aaaa79a6.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,5 +1,5 @@
1
1
  import { DataUnit, StringUtils, DataType, DataUnitStorage, ChangeOperation } from '@sankhyalabs/core';
2
- import { d as dist, D as DataFetcher } from './DataFetcher-e0fc5549.js';
2
+ import { d as dist, D as DataFetcher } from './DataFetcher-7e18aa30.js';
3
3
  import { DISTINCT_FILTER_NAME_PREFIX } from '@sankhyalabs/ezui/dist/collection/utils/constants';
4
4
  import { DataUnitTransient } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
5
5
 
@@ -1,6 +1,68 @@
1
- import { d as dist, D as DataFetcher } from './DataFetcher-e0fc5549.js';
1
+ import { d as dist, D as DataFetcher } from './DataFetcher-7e18aa30.js';
2
2
  import { ObjectUtils } from '@sankhyalabs/core';
3
- import { R as ResourceFetcher } from './resource-fetcher-768d5556.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 };