@sankhyalabs/sankhyablocks 8.15.0-dev.52 → 8.15.0-dev.54

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 (166) hide show
  1. package/dist/cjs/{ConfigStorage-8d4e9d53.js → ConfigStorage-085c7117.js} +11 -12
  2. package/dist/cjs/{SnkMultiSelectionListDataSource-d15f7aac.js → IExporterProvider-955812ad.js} +52 -5
  3. package/dist/cjs/RecordIDUtils-3735135c.js +43 -0
  4. package/dist/cjs/{SnkFormConfigManager-33995e92.js → SnkFormConfigManager-8986431f.js} +2 -2
  5. package/dist/cjs/{auth-fetcher-bb8e9ae4.js → auth-fetcher-eddaf17f.js} +1 -1
  6. package/dist/cjs/{DataFetcher-99f0f6ed.js → form-config-fetcher-cdd644a7.js} +251 -0
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/{pesquisa-fetcher-bdbbe9ac.js → pesquisa-fetcher-6e934fb5.js} +30 -16
  9. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  10. package/dist/cjs/snk-actions-button_4.cjs.entry.js +8 -9
  11. package/dist/cjs/snk-application.cjs.entry.js +22 -23
  12. package/dist/cjs/snk-attach.cjs.entry.js +12 -13
  13. package/dist/cjs/snk-crud.cjs.entry.js +4 -5
  14. package/dist/cjs/snk-data-exporter.cjs.entry.js +195 -78
  15. package/dist/cjs/{snk-data-unit-41c29713.js → snk-data-unit-abd2113f.js} +2 -37
  16. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -1
  17. package/dist/cjs/snk-detail-view.cjs.entry.js +6 -7
  18. package/dist/cjs/snk-filter-bar.cjs.entry.js +2 -3
  19. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +2 -3
  20. package/dist/cjs/snk-form-config.cjs.entry.js +1 -2
  21. package/dist/cjs/snk-form.cjs.entry.js +3 -4
  22. package/dist/cjs/snk-grid.cjs.entry.js +65 -102
  23. package/dist/cjs/{snk-guides-viewer-a8dd24a3.js → snk-guides-viewer-4e8b517b.js} +4 -5
  24. package/dist/cjs/snk-guides-viewer.cjs.entry.js +6 -7
  25. package/dist/cjs/snk-personalized-filter.cjs.entry.js +2 -3
  26. package/dist/cjs/snk-simple-crud.cjs.entry.js +124 -33
  27. package/dist/cjs/snk-taskbar.cjs.entry.js +3 -2
  28. package/dist/cjs/{taskbar-elements-3ecd1278.js → taskbar-elements-d9392685.js} +2 -2
  29. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +90 -0
  30. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +68 -0
  31. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +48 -1
  32. package/dist/collection/components/snk-data-exporter/interfaces/IExporterStrategy.js +1 -0
  33. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +53 -0
  34. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +55 -0
  35. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +35 -45
  36. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +88 -0
  37. package/dist/collection/components/snk-data-exporter/utils/RecordIDUtils.js +38 -0
  38. package/dist/collection/components/snk-data-unit/snk-data-unit.js +3 -42
  39. package/dist/collection/components/snk-grid/snk-grid.js +3 -94
  40. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +91 -11
  41. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +2 -2
  42. package/dist/collection/components/snk-taskbar/snk-taskbar.js +2 -1
  43. package/dist/collection/lib/dataUnit/InMemoryLoader.js +1 -1
  44. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +3 -0
  45. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +4 -0
  46. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +8 -1
  47. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +1 -0
  48. package/dist/components/ConfigStorage.js +1 -2
  49. package/dist/components/{field-search.js → IExporterProvider.js} +52 -7
  50. package/dist/components/ISave.js +42 -0
  51. package/dist/components/dataunit-fetcher.js +18 -4
  52. package/dist/components/form-config-fetcher.js +7022 -3
  53. package/dist/components/index2.js +198 -33
  54. package/dist/components/snk-actions-button2.js +3 -12
  55. package/dist/components/snk-application2.js +1 -1
  56. package/dist/components/snk-attach2.js +3 -4
  57. package/dist/components/snk-crud.js +3 -4
  58. package/dist/components/snk-data-exporter2.js +192 -79
  59. package/dist/components/snk-data-unit2.js +41 -39
  60. package/dist/components/snk-detail-view2.js +4 -5
  61. package/dist/components/snk-expression-item2.js +1 -1
  62. package/dist/components/snk-form-config2.js +1 -1
  63. package/dist/components/snk-grid2.js +63 -100
  64. package/dist/components/snk-personalized-filter2.js +1 -1
  65. package/dist/components/snk-simple-crud2.js +111 -18
  66. package/dist/components/snk-taskbar2.js +6 -5
  67. package/dist/esm/{ConfigStorage-6e241cd7.js → ConfigStorage-cc3f3dd3.js} +1 -2
  68. package/dist/esm/{SnkMultiSelectionListDataSource-7084f3b3.js → IExporterProvider-6ebf47ab.js} +52 -6
  69. package/dist/esm/RecordIDUtils-87d02110.js +41 -0
  70. package/dist/esm/{SnkFormConfigManager-7a4e678f.js → SnkFormConfigManager-7edda7eb.js} +2 -2
  71. package/dist/esm/{auth-fetcher-8ec448b0.js → auth-fetcher-11dd9cae.js} +1 -1
  72. package/dist/esm/{DataFetcher-a650ae58.js → form-config-fetcher-13cd3285.js} +250 -1
  73. package/dist/esm/loader.js +1 -1
  74. package/dist/esm/{pesquisa-fetcher-96d2f351.js → pesquisa-fetcher-4eed47c6.js} +18 -4
  75. package/dist/esm/sankhyablocks.js +1 -1
  76. package/dist/esm/snk-actions-button_4.entry.js +3 -4
  77. package/dist/esm/snk-application.entry.js +4 -5
  78. package/dist/esm/snk-attach.entry.js +4 -5
  79. package/dist/esm/snk-crud.entry.js +4 -5
  80. package/dist/esm/snk-data-exporter.entry.js +195 -78
  81. package/dist/esm/{snk-data-unit-de1d140d.js → snk-data-unit-29eba11a.js} +3 -38
  82. package/dist/esm/snk-data-unit.entry.js +2 -1
  83. package/dist/esm/snk-detail-view.entry.js +6 -7
  84. package/dist/esm/snk-filter-bar.entry.js +2 -3
  85. package/dist/esm/snk-filter-modal-item.entry.js +2 -3
  86. package/dist/esm/snk-form-config.entry.js +1 -2
  87. package/dist/esm/snk-form.entry.js +3 -4
  88. package/dist/esm/snk-grid.entry.js +63 -100
  89. package/dist/esm/{snk-guides-viewer-131e9660.js → snk-guides-viewer-2742a9db.js} +4 -5
  90. package/dist/esm/snk-guides-viewer.entry.js +6 -7
  91. package/dist/esm/snk-personalized-filter.entry.js +2 -3
  92. package/dist/esm/snk-simple-crud.entry.js +112 -21
  93. package/dist/esm/snk-taskbar.entry.js +3 -2
  94. package/dist/esm/{taskbar-elements-2473c8ac.js → taskbar-elements-ad766858.js} +2 -2
  95. package/dist/sankhyablocks/p-07825198.js +1 -0
  96. package/dist/sankhyablocks/p-1d9d07b4.entry.js +1 -0
  97. package/dist/sankhyablocks/p-201e5588.entry.js +1 -0
  98. package/dist/sankhyablocks/p-33a6728e.js +26 -0
  99. package/dist/sankhyablocks/p-37afb96a.js +1 -0
  100. package/dist/sankhyablocks/p-411fe937.entry.js +1 -0
  101. package/dist/sankhyablocks/p-44d52fc6.js +1 -0
  102. package/dist/sankhyablocks/p-4ddf7add.entry.js +1 -0
  103. package/dist/sankhyablocks/p-7b797d8f.entry.js +1 -0
  104. package/dist/sankhyablocks/p-87cb937d.js +65 -0
  105. package/dist/sankhyablocks/{p-0624f62d.js → p-8a4c4b54.js} +6 -6
  106. package/dist/sankhyablocks/p-9863d682.js +1 -0
  107. package/dist/sankhyablocks/{p-125bb902.js → p-99b51d06.js} +1 -1
  108. package/dist/sankhyablocks/p-9ee96756.entry.js +1 -0
  109. package/dist/sankhyablocks/p-a4c94582.entry.js +1 -0
  110. package/dist/sankhyablocks/p-bf209f48.entry.js +1 -0
  111. package/dist/sankhyablocks/p-c2f3ebf3.entry.js +1 -0
  112. package/dist/sankhyablocks/p-c3c0ad0b.entry.js +1 -0
  113. package/dist/sankhyablocks/{p-619c5f6f.entry.js → p-c801a38a.entry.js} +2 -2
  114. package/dist/sankhyablocks/p-cfb98f51.entry.js +1 -0
  115. package/dist/sankhyablocks/{p-efeca7ba.js → p-d24c9dc6.js} +1 -1
  116. package/dist/sankhyablocks/p-e4225e8b.entry.js +1 -0
  117. package/dist/sankhyablocks/p-edd9dd1c.entry.js +1 -0
  118. package/dist/sankhyablocks/p-fa84e72f.entry.js +1 -0
  119. package/dist/sankhyablocks/p-fd44c905.entry.js +1 -0
  120. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  121. package/dist/types/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.d.ts +13 -0
  122. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +11 -0
  123. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +21 -4
  124. package/dist/types/components/snk-data-exporter/interfaces/IExporterStrategy.d.ts +5 -0
  125. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +17 -0
  126. package/dist/types/components/snk-data-exporter/providers/ServerSideExporterProvider.d.ts +17 -0
  127. package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +3 -1
  128. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +77 -0
  129. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +3 -0
  130. package/dist/types/components/snk-grid/snk-grid.d.ts +0 -3
  131. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +15 -2
  132. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +1 -1
  133. package/dist/types/components.d.ts +16 -0
  134. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +2 -1
  135. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +1 -0
  136. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -0
  137. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IExporterColumnMetadata.d.ts +1 -0
  138. package/package.json +1 -1
  139. package/dist/cjs/form-config-fetcher-d73f4449.js +0 -256
  140. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/index.js +0 -34
  141. package/dist/components/DataFetcher.js +0 -7023
  142. package/dist/components/index3.js +0 -199
  143. package/dist/esm/form-config-fetcher-765b8498.js +0 -253
  144. package/dist/sankhyablocks/p-004c356e.js +0 -26
  145. package/dist/sankhyablocks/p-075bba4c.entry.js +0 -1
  146. package/dist/sankhyablocks/p-07a61550.entry.js +0 -1
  147. package/dist/sankhyablocks/p-103c5956.entry.js +0 -1
  148. package/dist/sankhyablocks/p-1048bd26.entry.js +0 -1
  149. package/dist/sankhyablocks/p-13ae1a89.entry.js +0 -1
  150. package/dist/sankhyablocks/p-19a56978.entry.js +0 -1
  151. package/dist/sankhyablocks/p-24ed6ad6.entry.js +0 -1
  152. package/dist/sankhyablocks/p-34a7f2ab.js +0 -65
  153. package/dist/sankhyablocks/p-52c8e589.js +0 -1
  154. package/dist/sankhyablocks/p-5833cff9.js +0 -1
  155. package/dist/sankhyablocks/p-5a2e016a.entry.js +0 -1
  156. package/dist/sankhyablocks/p-6f560924.entry.js +0 -1
  157. package/dist/sankhyablocks/p-8967fa78.js +0 -1
  158. package/dist/sankhyablocks/p-a87149e4.entry.js +0 -1
  159. package/dist/sankhyablocks/p-ac77949b.entry.js +0 -1
  160. package/dist/sankhyablocks/p-b10b9934.entry.js +0 -1
  161. package/dist/sankhyablocks/p-be75153c.js +0 -1
  162. package/dist/sankhyablocks/p-bf39bdb8.entry.js +0 -1
  163. package/dist/sankhyablocks/p-f7d0fab9.entry.js +0 -1
  164. package/dist/sankhyablocks/p-f7d9d148.entry.js +0 -1
  165. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/index.d.ts +0 -3
  166. /package/dist/sankhyablocks/{p-ae4fc9a9.js → p-61dd89eb.js} +0 -0
@@ -7,11 +7,18 @@ const core = require('@sankhyalabs/core');
7
7
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
8
  const index = require('./index-0922807b.js');
9
9
  const constants = require('./constants-35ddd366.js');
10
- const DataFetcher = require('./DataFetcher-99f0f6ed.js');
11
- const snkDataUnit = require('./snk-data-unit-41c29713.js');
12
- require('./PrintUtils-bcaeb82f.js');
10
+ const formConfigFetcher = require('./form-config-fetcher-cdd644a7.js');
11
+ const snkDataUnit = require('./snk-data-unit-abd2113f.js');
12
+ require('./pesquisa-fetcher-6e934fb5.js');
13
+ require('./ISave-e91b70a7.js');
14
+ require('@sankhyalabs/ezui/dist/collection/utils/constants');
13
15
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
16
+ require('./filter-item-type.enum-a7ffdaa6.js');
17
+ require('./PrintUtils-bcaeb82f.js');
14
18
  require('./SnkMessageBuilder-66aa2557.js');
19
+ require('./RecordIDUtils-3735135c.js');
20
+ require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
21
+ require('./ResourceIDUtils-5ff86aa7.js');
15
22
 
16
23
  class ItemBuilder {
17
24
  constructor(getMessage, selectedNumber) {
@@ -153,38 +160,6 @@ class ItemBuilder {
153
160
  }
154
161
  }
155
162
 
156
- var __rest = (undefined && undefined.__rest) || function (s, e) {
157
- var t = {};
158
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
159
- t[p] = s[p];
160
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
161
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
162
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
163
- t[p[i]] = s[p[i]];
164
- }
165
- return t;
166
- };
167
- function fetchDataExporter(_a) {
168
- var { methodName } = _a, requestBody = __rest(_a, ["methodName"]);
169
- const application = core.ApplicationContext.getContextValue("__SNK__APPLICATION__");
170
- const serviceName = `${application.getModuleName()}@DataExporterSPBean.${methodName}`;
171
- const payload = { serviceName, requestBody };
172
- return new Promise((resolve, reject) => {
173
- DataFetcher.DataFetcher.get()
174
- .callServiceBroker(serviceName, core.ObjectUtils.objectToString(payload))
175
- .then(result => resolve(getFormatResponse$1(result)))
176
- .catch(error => reject(error));
177
- });
178
- }
179
- function getFormatResponse$1(result) {
180
- var _a;
181
- const response = (_a = result === null || result === void 0 ? void 0 : result.json) === null || _a === void 0 ? void 0 : _a.$;
182
- if (response == undefined) {
183
- return;
184
- }
185
- return core.ObjectUtils.stringToObject(response);
186
- }
187
-
188
163
  function getMessage(application, key, params) {
189
164
  var _a;
190
165
  return (_a = application === null || application === void 0 ? void 0 : application.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage(key, params);
@@ -199,7 +174,7 @@ function getPersonalizedReports(requestBody) {
199
174
  const application = core.ApplicationContext.getContextValue("__SNK__APPLICATION__");
200
175
  const serviceName = `${application.getModuleName()}@DataExporterSPBean.getPersonalizedReports`;
201
176
  const payload = { serviceName, requestBody };
202
- return new Promise((resolve, reject) => (DataFetcher.DataFetcher.get()
177
+ return new Promise((resolve, reject) => (formConfigFetcher.DataFetcher.get()
203
178
  .callServiceBroker(serviceName, core.ObjectUtils.objectToString(payload))
204
179
  .then(result => resolve(getFormatResponse(result)))
205
180
  .catch(error => reject(error))));
@@ -213,16 +188,165 @@ function getFormatResponse(result) {
213
188
  return core.ObjectUtils.stringToObject(response);
214
189
  }
215
190
 
191
+ var __rest = (undefined && undefined.__rest) || function (s, e) {
192
+ var t = {};
193
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
194
+ t[p] = s[p];
195
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
196
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
197
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
198
+ t[p[i]] = s[p[i]];
199
+ }
200
+ return t;
201
+ };
202
+ class ServerSideExporterStrategy {
203
+ constructor(provider) {
204
+ this._provider = provider;
205
+ }
206
+ async getParams(resolveProps) {
207
+ var _a, _b, _c, _d, _e, _f;
208
+ const filters = (_b = (_a = this._provider).getFilters) === null || _b === void 0 ? void 0 : _b.call(_a);
209
+ const columns = await this._provider.getColumnsMetadata();
210
+ const sort = (_d = (_c = this._provider).getOrders) === null || _d === void 0 ? void 0 : _d.call(_c);
211
+ const resourceURI = (_f = (_e = this._provider).getResourceURI) === null || _f === void 0 ? void 0 : _f.call(_e);
212
+ const selectedIDs = this._provider.getSelectedIDs();
213
+ const option = resolveProps.exportOption;
214
+ const currentPageOptions = [
215
+ index.DataExporterOption.EXPORT_PAGE_TO_PDF,
216
+ index.DataExporterOption.EXPORT_PAGE_TO_XLS
217
+ ];
218
+ delete resolveProps.exportOption;
219
+ let params = Object.assign({ filters,
220
+ columns,
221
+ sort,
222
+ resourceURI, selectedIDs: selectedIDs.slice(0, this._provider.getExportLimit()) }, resolveProps);
223
+ if (currentPageOptions.includes(option) || resolveProps.type == "page") {
224
+ const offset = this._provider.getOffset();
225
+ const limit = this._provider.getPageSize();
226
+ params = Object.assign(Object.assign({}, params), { offset,
227
+ limit, selectedIDs: [] });
228
+ }
229
+ else if (resolveProps.type == "all") {
230
+ params = Object.assign(Object.assign({}, params), { offset: 0, limit: this._provider.getExportLimit(), selectedIDs: [] });
231
+ }
232
+ return Promise.resolve(params);
233
+ }
234
+ async executeExport(resolveProps) {
235
+ const _a = await this.getParams(resolveProps), { methodName } = _a, requestBody = __rest(_a, ["methodName"]);
236
+ const application = core.ApplicationContext.getContextValue("__SNK__APPLICATION__");
237
+ const serviceName = `${application.getModuleName()}@DataExporterSPBean.${methodName}`;
238
+ const payload = { serviceName, requestBody };
239
+ return new Promise((resolve, reject) => {
240
+ formConfigFetcher.DataFetcher.get()
241
+ .callServiceBroker(serviceName, core.ObjectUtils.objectToString(payload))
242
+ .then(result => resolve(this.getFormatResponse(result)))
243
+ .catch(error => reject(error));
244
+ });
245
+ }
246
+ getFormatResponse(result) {
247
+ var _a;
248
+ const response = (_a = result === null || result === void 0 ? void 0 : result.json) === null || _a === void 0 ? void 0 : _a.$;
249
+ if (response == undefined) {
250
+ return;
251
+ }
252
+ return core.ObjectUtils.stringToObject(response);
253
+ }
254
+ }
255
+
256
+ class ClientSideExporterStrategy {
257
+ constructor(provider) {
258
+ this._provider = provider;
259
+ }
260
+ async executeExport(resolveProps) {
261
+ const { methodName, titleGrid } = resolveProps;
262
+ const records = await this._provider.getRecords();
263
+ const columns = await this._provider.getColumnsMetadata();
264
+ const [serviceName, processor] = this.getExecutor(methodName);
265
+ const payload = {
266
+ serviceName,
267
+ requestBody: {
268
+ grid: {
269
+ titleGrid,
270
+ columns: this.buildColumnsObject(columns),
271
+ rows: this.buildRowsObject(columns, records),
272
+ customOptions: { xlsxExtension: false }
273
+ }
274
+ }
275
+ };
276
+ return new Promise((resolve, reject) => {
277
+ formConfigFetcher.DataFetcher.get()
278
+ .callServiceBroker(serviceName, payload)
279
+ .then(result => resolve(processor(result)))
280
+ .catch(error => reject(error));
281
+ });
282
+ }
283
+ getExecutor(methodName) {
284
+ if (methodName === "exportToPDF") {
285
+ return [
286
+ "GridPDFBuilderSP.buildPDFFromJson",
287
+ responseBody => ({
288
+ fileSessionKey: responseBody.chavePDF.valor,
289
+ canPrint: responseBody.permiteImprimir.valor === "S",
290
+ canExport: responseBody.permiteExportar.valor === "S",
291
+ canSendEmail: responseBody.canSendEmail.valor === "S",
292
+ useAppPrint: true
293
+ })
294
+ ];
295
+ }
296
+ return [
297
+ "GridXLSBuilderSP.buildXLSFromJson",
298
+ responseBody => ({
299
+ fileSessionKey: responseBody.chaveXLS.valor,
300
+ canPrint: false,
301
+ canExport: false,
302
+ useAppPrint: false,
303
+ canSendEmail: false
304
+ })
305
+ ];
306
+ }
307
+ buildColumnsObject(columns) {
308
+ return {
309
+ column: columns.map((column, index) => {
310
+ const { label, id, width, userInterface } = column;
311
+ return Object.assign({ index: index + 1, id,
312
+ label,
313
+ width, presentationType: "P" }, (TYPE_MAP[userInterface] || { type: "S", align: "left" }));
314
+ })
315
+ };
316
+ }
317
+ buildRowsObject(columns, records) {
318
+ return {
319
+ row: records.map(rawRecord => {
320
+ const record = {};
321
+ columns.forEach((column, index) => record["c" + (index + 1)] = { $: this.formatValue(rawRecord, column) });
322
+ return record;
323
+ })
324
+ };
325
+ }
326
+ formatValue(record, column) {
327
+ if (this._provider.formatValue != undefined) {
328
+ return this._provider.formatValue(record, column);
329
+ }
330
+ return record[column.id] || "";
331
+ }
332
+ }
333
+ const TYPE_MAP = {
334
+ [core.UserInterface.DATE]: { type: "D", align: "center" },
335
+ [core.UserInterface.DATETIME]: { type: "H", align: "center" },
336
+ [core.UserInterface.TIME]: { type: "I", align: "right" },
337
+ [core.UserInterface.ELAPSEDTIME]: { type: "I", align: "right" },
338
+ [core.UserInterface.DECIMALNUMBER]: { type: "F", align: "right" },
339
+ [core.UserInterface.INTEGERNUMBER]: { type: "I", align: "right" },
340
+ [core.UserInterface.SEARCH]: { type: "S", align: "right" }
341
+ };
342
+
216
343
  const snkDataExporterCss = ".sc-snk-data-exporter-h{display:flex;width:fit-content;height:fit-content}.snk-data-exporter.sc-snk-data-exporter{display:flex;width:fit-content;height:fit-content}.snk-data-exporter__dropdown.sc-snk-data-exporter{display:none}.snk-data-exporter__dropdown--show.sc-snk-data-exporter{display:flex;flex-direction:column;position:fixed}.snk-data-exporter__dropdown.sc-snk-data-exporter>ez-dropdown.sc-snk-data-exporter{position:relative}";
217
344
 
218
- const LIMIT_PER_EXPORT = 5000;
219
345
  const SnkDataExporter = class {
220
346
  constructor(hostRef) {
221
347
  index$1.registerInstance(this, hostRef);
222
348
  this._selectedNumber = 0;
223
349
  this._customPrefix = "$custom$";
224
- this._items = [];
225
- this._showDropdown = false;
226
350
  this._releasedToExport = [
227
351
  index.DataExporterOption.EXPORT_TO_PDF,
228
352
  index.DataExporterOption.EXPORT_TO_XLS,
@@ -232,6 +356,8 @@ const SnkDataExporter = class {
232
356
  index.DataExporterOption.EXPORT_PAGE_TO_PDF,
233
357
  index.DataExporterOption.EXPORT_PAGE_TO_XLS
234
358
  ];
359
+ this._items = [];
360
+ this._showDropdown = false;
235
361
  this.provider = null;
236
362
  this.messagesBuilder = undefined;
237
363
  }
@@ -302,31 +428,7 @@ const SnkDataExporter = class {
302
428
  if (this.provider == undefined || resolveProps == undefined || callbackResolver == undefined) {
303
429
  return;
304
430
  }
305
- const filters = this.provider.getFilters();
306
- const columns = await this.provider.getColumnsMetadata();
307
- const sort = this.provider.getOrders();
308
- const resourceURI = this.provider.getResourceURI();
309
- const selectedIDs = this.provider.getSelectedIDs();
310
- const option = resolveProps.exportOption;
311
- const currentPageOptions = [
312
- index.DataExporterOption.EXPORT_PAGE_TO_PDF,
313
- index.DataExporterOption.EXPORT_PAGE_TO_XLS
314
- ];
315
- delete resolveProps.exportOption;
316
- let params = Object.assign({ filters,
317
- columns,
318
- sort,
319
- resourceURI, selectedIDs: selectedIDs.slice(0, LIMIT_PER_EXPORT) }, resolveProps);
320
- if (currentPageOptions.includes(option) || resolveProps.type == "page") {
321
- const offset = this.provider.getOffset();
322
- const limit = this.provider.getLimit();
323
- params = Object.assign(Object.assign({}, params), { offset,
324
- limit, selectedIDs: [] });
325
- }
326
- else if (resolveProps.type == "all") {
327
- params = Object.assign(Object.assign({}, params), { offset: 0, limit: LIMIT_PER_EXPORT, selectedIDs: [] });
328
- }
329
- fetchDataExporter(params)
431
+ this.getExporterStrategy().executeExport(resolveProps)
330
432
  .then((result) => callbackResolver(result))
331
433
  .catch((exception) => {
332
434
  console.error(exception);
@@ -334,6 +436,9 @@ const SnkDataExporter = class {
334
436
  utils.ApplicationUtils.error(title || this.getMessage("snkDataExporter.message.exportError"), statusMessage || message || this.getMessage("snkDataExporter.message.unknownFailure"));
335
437
  });
336
438
  }
439
+ getExporterStrategy() {
440
+ return this.provider.getRecords == undefined ? new ServerSideExporterStrategy(this.provider) : new ClientSideExporterStrategy(this.provider);
441
+ }
337
442
  getOptionKey(option) {
338
443
  return Object.keys(index.DataExporterOption)
339
444
  .find((key) => {
@@ -341,7 +446,7 @@ const SnkDataExporter = class {
341
446
  });
342
447
  }
343
448
  dispatchExporter(option) {
344
- var _a;
449
+ var _a, _b, _c;
345
450
  const optionKey = this.getOptionKey(option);
346
451
  const fileType = (_a = index.DataExporterType[optionKey]) !== null && _a !== void 0 ? _a : index.DataExporterType.EXPORT_TO_PDF;
347
452
  const isDownload = index.DataExporterType[optionKey] === index.DataExporterType.EXPORT_TO_XLS;
@@ -350,7 +455,7 @@ const SnkDataExporter = class {
350
455
  fileName: this._appLabel,
351
456
  titleGrid: this._appLabel,
352
457
  exportOption: option,
353
- limit: LIMIT_PER_EXPORT
458
+ limit: (_c = (_b = this.provider) === null || _b === void 0 ? void 0 : _b.getExportLimit) === null || _c === void 0 ? void 0 : _c.call(_b)
354
459
  };
355
460
  this.resolveExporter(params, (response) => {
356
461
  fileViewer(Object.assign(Object.assign({}, response), { fileType,
@@ -358,7 +463,7 @@ const SnkDataExporter = class {
358
463
  });
359
464
  }
360
465
  async processExporter(evt) {
361
- var _a, _b, _c, _d;
466
+ var _a, _b, _c, _d, _e, _f, _g;
362
467
  const item = evt === null || evt === void 0 ? void 0 : evt.detail;
363
468
  const exportCurrentPageOptions = [index.DataExporterOption.EXPORT_PAGE_TO_PDF, index.DataExporterOption.EXPORT_PAGE_TO_XLS];
364
469
  const isCustomReport = (_a = item === null || item === void 0 ? void 0 : item.id) === null || _a === void 0 ? void 0 : _a.includes(this._customPrefix);
@@ -366,18 +471,19 @@ const SnkDataExporter = class {
366
471
  return;
367
472
  const selectedRecords = (_b = this.provider) === null || _b === void 0 ? void 0 : _b.getSelectedIDs();
368
473
  const totalRecords = (_c = this.provider) === null || _c === void 0 ? void 0 : _c.getTotalRecords();
369
- const totalPerPage = (_d = this.provider) === null || _d === void 0 ? void 0 : _d.getLimit();
474
+ const totalPerPage = (_e = (_d = this.provider) === null || _d === void 0 ? void 0 : _d.getPageSize) === null || _e === void 0 ? void 0 : _e.call(_d);
475
+ const exportLimit = (_g = (_f = this.provider) === null || _f === void 0 ? void 0 : _f.getExportLimit) === null || _g === void 0 ? void 0 : _g.call(_f);
370
476
  let limitExceeded = false;
371
- if ((exportCurrentPageOptions.includes(item === null || item === void 0 ? void 0 : item.id) && totalPerPage <= LIMIT_PER_EXPORT) || isCustomReport) {
477
+ if ((exportCurrentPageOptions.includes(item === null || item === void 0 ? void 0 : item.id) && totalPerPage <= exportLimit) || isCustomReport) {
372
478
  limitExceeded = false;
373
479
  }
374
480
  else if (selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) {
375
- limitExceeded = selectedRecords.length > LIMIT_PER_EXPORT;
481
+ limitExceeded = selectedRecords.length > exportLimit;
376
482
  }
377
- else if (totalRecords > LIMIT_PER_EXPORT)
483
+ else if (totalRecords > exportLimit)
378
484
  limitExceeded = true;
379
485
  if (limitExceeded) {
380
- const formattedLimit = LIMIT_PER_EXPORT.toLocaleString('pt-BR', { minimumFractionDigits: 0 });
486
+ const formattedLimit = exportLimit.toLocaleString('pt-BR', { minimumFractionDigits: 0 });
381
487
  const limitModalMessages = {
382
488
  title: this.getMessage("snkDataExporter.limitExceeded.title"),
383
489
  description: `
@@ -402,7 +508,7 @@ const SnkDataExporter = class {
402
508
  this._showDropdown = false;
403
509
  return;
404
510
  }
405
- if (!this._releasedToExport.includes(item === null || item === void 0 ? void 0 : item.id)) {
511
+ if (!this.getFilteredReleasedToExport().includes(item === null || item === void 0 ? void 0 : item.id)) {
406
512
  return;
407
513
  }
408
514
  if (item.id === index.DataExporterOption.EXPORT_BY_EMAIL) {
@@ -413,9 +519,20 @@ const SnkDataExporter = class {
413
519
  }
414
520
  this._showDropdown = false;
415
521
  }
522
+ getFilteredReleasedToExport() {
523
+ var _a, _b;
524
+ if (this.provider == undefined) {
525
+ return this._releasedToExport;
526
+ }
527
+ const hiddenOptions = (_b = (_a = this.provider).getHiddenOptions) === null || _b === void 0 ? void 0 : _b.call(_a);
528
+ if (hiddenOptions == undefined) {
529
+ return this._releasedToExport;
530
+ }
531
+ return this._releasedToExport.filter(option => !hiddenOptions.includes(option));
532
+ }
416
533
  loadItems() {
417
534
  const items = [];
418
- this._releasedToExport
535
+ this.getFilteredReleasedToExport()
419
536
  .forEach((option) => {
420
537
  var _a;
421
538
  (_a = this._itemBuilder) === null || _a === void 0 ? void 0 : _a.setExportOption(option, items);
@@ -423,8 +540,8 @@ const SnkDataExporter = class {
423
540
  this.loadPersonalizedItems(items);
424
541
  }
425
542
  async loadPersonalizedItems(items) {
426
- var _a;
427
- const recordID = (_a = this.provider) === null || _a === void 0 ? void 0 : _a.getRecordID();
543
+ var _a, _b;
544
+ const recordID = (_b = (_a = this.provider) === null || _a === void 0 ? void 0 : _a.getRecordID) === null || _b === void 0 ? void 0 : _b.call(_a);
428
545
  if (recordID == undefined) {
429
546
  this._items = items;
430
547
  return;
@@ -440,10 +557,10 @@ const SnkDataExporter = class {
440
557
  this._items = items;
441
558
  }
442
559
  openPersonalizedReports(option) {
443
- var _a;
560
+ var _a, _b;
444
561
  const pkObject = [];
445
562
  const appId = (option === null || option === void 0 ? void 0 : option.replace(this._customPrefix, "")) || "";
446
- (_a = this.provider) === null || _a === void 0 ? void 0 : _a.getSelectedIDs().forEach(({ name, type, value }, index) => {
563
+ (_b = (_a = this.provider) === null || _a === void 0 ? void 0 : _a.getSelectedIDs) === null || _b === void 0 ? void 0 : _b.call(_a).forEach(({ name, type, value }, index) => {
447
564
  const fields = {};
448
565
  fields['fields'] = [];
449
566
  // Se for o primeiro elemento, adiciona essa primeira PK
@@ -4,6 +4,7 @@ const index = require('./index-f9e81701.js');
4
4
  const core = require('@sankhyalabs/core');
5
5
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
6
6
  const SnkMessageBuilder = require('./SnkMessageBuilder-66aa2557.js');
7
+ const RecordIDUtils = require('./RecordIDUtils-3735135c.js');
7
8
 
8
9
  const SnkDataUnit = class {
9
10
  constructor(hostRef) {
@@ -126,43 +127,7 @@ const SnkDataUnit = class {
126
127
  * @returns Retorna a lista de IDs dos registros selecionados.
127
128
  */
128
129
  async getSelectedRecordsIDsInfo() {
129
- var _a;
130
- const selectionInfo = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getSelectionInfo();
131
- if (selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.isAllRecords()) {
132
- return [];
133
- }
134
- const selectedRecordsIDsInfo = [];
135
- const selectedRecords = selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.records;
136
- if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) > 0) {
137
- selectedRecords.forEach(({ __record__id__ }) => {
138
- if (!this.dataUnit.isNewRecord(__record__id__)) {
139
- /*
140
- Esse if foi necessário para tratar corretamente o ID
141
- do record quando está sendo utilizado no modo standAlone
142
- isso não faz a exportação da grid funcionar no modo standAlone
143
- mas deixa de causar erro nas oprações de CRUD.
144
- */
145
- if (!core.JSUtils.isBase64(__record__id__)) {
146
- selectedRecordsIDsInfo.push({
147
- name: "__record__id__",
148
- type: core.DataType.TEXT,
149
- value: __record__id__
150
- });
151
- return;
152
- }
153
- const revertBase64ToObject = JSON.parse(window.atob(__record__id__));
154
- Object.entries(revertBase64ToObject).forEach(([name, value]) => {
155
- var _a;
156
- const metadataField = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getField(name);
157
- if (metadataField == undefined) {
158
- return;
159
- }
160
- selectedRecordsIDsInfo.push(Object.assign({ name, type: metadataField.dataType }, value));
161
- });
162
- }
163
- });
164
- }
165
- return selectedRecordsIDsInfo;
130
+ return Promise.resolve(RecordIDUtils.getSelectedIDs(this.dataUnit));
166
131
  }
167
132
  getCleanOnCopyFields() {
168
133
  var _a;
@@ -2,11 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const snkDataUnit = require('./snk-data-unit-41c29713.js');
5
+ const snkDataUnit = require('./snk-data-unit-abd2113f.js');
6
6
  require('./index-f9e81701.js');
7
7
  require('@sankhyalabs/core');
8
8
  require('@sankhyalabs/ezui/dist/collection/utils');
9
9
  require('./SnkMessageBuilder-66aa2557.js');
10
+ require('./RecordIDUtils-3735135c.js');
10
11
 
11
12
 
12
13
 
@@ -4,21 +4,20 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const SnkFormConfigManager = require('./SnkFormConfigManager-33995e92.js');
7
+ const SnkFormConfigManager = require('./SnkFormConfigManager-8986431f.js');
8
8
  const form = require('@sankhyalabs/ezui/dist/collection/utils/form');
9
- require('./DataFetcher-99f0f6ed.js');
10
- require('./pesquisa-fetcher-bdbbe9ac.js');
9
+ require('./form-config-fetcher-cdd644a7.js');
10
+ require('./pesquisa-fetcher-6e934fb5.js');
11
11
  const index$1 = require('./index-0922807b.js');
12
12
  require('./ISave-e91b70a7.js');
13
13
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
14
14
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
15
15
  require('./filter-item-type.enum-a7ffdaa6.js');
16
- require('./form-config-fetcher-d73f4449.js');
17
- const taskbarElements = require('./taskbar-elements-3ecd1278.js');
16
+ const taskbarElements = require('./taskbar-elements-d9392685.js');
18
17
  const constants = require('./constants-35ddd366.js');
19
- const snkGuidesViewer = require('./snk-guides-viewer-a8dd24a3.js');
18
+ const snkGuidesViewer = require('./snk-guides-viewer-4e8b517b.js');
20
19
  const SnkMessageBuilder = require('./SnkMessageBuilder-66aa2557.js');
21
- require('./ConfigStorage-8d4e9d53.js');
20
+ require('./ConfigStorage-085c7117.js');
22
21
  require('./PrintUtils-bcaeb82f.js');
23
22
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
24
23
  require('./ResourceIDUtils-5ff86aa7.js');
@@ -5,15 +5,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index$1 = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const EzScrollDirection = require('@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection');
8
- const ConfigStorage = require('./ConfigStorage-8d4e9d53.js');
8
+ const ConfigStorage = require('./ConfigStorage-085c7117.js');
9
9
  const DataType = require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
10
10
  const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
11
11
  const index = require('./index-c5771aba.js');
12
12
  const filterNumberVariation = require('./filterNumberVariation-d65332da.js');
13
13
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
14
14
  const PersonalizedFilterUtils = require('./PersonalizedFilterUtils-0184ffbb.js');
15
- require('./form-config-fetcher-d73f4449.js');
16
- require('./DataFetcher-99f0f6ed.js');
15
+ require('./form-config-fetcher-cdd644a7.js');
17
16
  require('./PrintUtils-bcaeb82f.js');
18
17
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
19
18
 
@@ -6,10 +6,9 @@ const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const filterItemType_enum = require('./filter-item-type.enum-a7ffdaa6.js');
8
8
  const presentationMode = require('./presentationMode-52ec3bdd.js');
9
- const ConfigStorage = require('./ConfigStorage-8d4e9d53.js');
9
+ const ConfigStorage = require('./ConfigStorage-085c7117.js');
10
10
  const filterType_enum = require('./filter-type.enum-b14ce507.js');
11
- require('./form-config-fetcher-d73f4449.js');
12
- require('./DataFetcher-99f0f6ed.js');
11
+ require('./form-config-fetcher-cdd644a7.js');
13
12
  require('./PrintUtils-bcaeb82f.js');
14
13
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
15
14
 
@@ -7,9 +7,8 @@ const Sortable = require('./Sortable-fb1c4cbb.js');
7
7
  const core = require('@sankhyalabs/core');
8
8
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
9
9
  const constants = require('./constants-35ddd366.js');
10
- const formConfigFetcher = require('./form-config-fetcher-d73f4449.js');
10
+ const formConfigFetcher = require('./form-config-fetcher-cdd644a7.js');
11
11
  const form = require('@sankhyalabs/ezui/dist/collection/utils/form');
12
- require('./DataFetcher-99f0f6ed.js');
13
12
  require('./PrintUtils-bcaeb82f.js');
14
13
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
15
14
 
@@ -4,11 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const SnkFormConfigManager = require('./SnkFormConfigManager-33995e92.js');
7
+ const SnkFormConfigManager = require('./SnkFormConfigManager-8986431f.js');
8
8
  const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
9
- require('./ConfigStorage-8d4e9d53.js');
10
- require('./form-config-fetcher-d73f4449.js');
11
- require('./DataFetcher-99f0f6ed.js');
9
+ require('./ConfigStorage-085c7117.js');
10
+ require('./form-config-fetcher-cdd644a7.js');
12
11
  require('./PrintUtils-bcaeb82f.js');
13
12
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
14
13
  require('./filter-item-type.enum-a7ffdaa6.js');