@sankhyalabs/sankhyablocks 8.14.13 → 8.14.14-rc.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 (39) hide show
  1. package/dist/cjs/{dataunit-fetcher-d839c5d7.js → dataunit-fetcher-5392a260.js} +40 -28
  2. package/dist/cjs/snk-actions-button.cjs.entry.js +1 -1
  3. package/dist/cjs/snk-application.cjs.entry.js +1 -1
  4. package/dist/cjs/snk-attach.cjs.entry.js +1 -1
  5. package/dist/cjs/snk-crud.cjs.entry.js +1 -1
  6. package/dist/cjs/snk-detail-view.cjs.entry.js +2 -2
  7. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +2 -1
  8. package/dist/cjs/{snk-guides-viewer-88a7f880.js → snk-guides-viewer-7a94210d.js} +1 -1
  9. package/dist/cjs/snk-guides-viewer.cjs.entry.js +2 -2
  10. package/dist/cjs/snk-simple-crud.cjs.entry.js +1 -1
  11. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.js +2 -1
  12. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +40 -28
  13. package/dist/components/dataunit-fetcher.js +40 -28
  14. package/dist/components/snk-filter-multi-select.js +2 -1
  15. package/dist/esm/{dataunit-fetcher-cf01a8f4.js → dataunit-fetcher-f0da92c9.js} +40 -28
  16. package/dist/esm/snk-actions-button.entry.js +1 -1
  17. package/dist/esm/snk-application.entry.js +1 -1
  18. package/dist/esm/snk-attach.entry.js +1 -1
  19. package/dist/esm/snk-crud.entry.js +1 -1
  20. package/dist/esm/snk-detail-view.entry.js +2 -2
  21. package/dist/esm/snk-filter-multi-select.entry.js +2 -1
  22. package/dist/esm/{snk-guides-viewer-fde509bf.js → snk-guides-viewer-cd9a5236.js} +1 -1
  23. package/dist/esm/snk-guides-viewer.entry.js +2 -2
  24. package/dist/esm/snk-simple-crud.entry.js +1 -1
  25. package/dist/sankhyablocks/{p-936addf1.js → p-0c8d4ad6.js} +1 -1
  26. package/dist/sankhyablocks/p-33b0438a.js +60 -0
  27. package/dist/sankhyablocks/{p-cfbebb49.entry.js → p-7e666962.entry.js} +1 -1
  28. package/dist/sankhyablocks/{p-6ea96bb1.entry.js → p-8420990f.entry.js} +1 -1
  29. package/dist/sankhyablocks/{p-34774923.entry.js → p-a2841b44.entry.js} +1 -1
  30. package/dist/sankhyablocks/{p-3ab540cc.entry.js → p-a87c6293.entry.js} +2 -2
  31. package/dist/sankhyablocks/p-bf2acf72.entry.js +1 -0
  32. package/dist/sankhyablocks/{p-d2923a2a.entry.js → p-ea8ec506.entry.js} +1 -1
  33. package/dist/sankhyablocks/{p-08ced1fd.entry.js → p-ee94ba1a.entry.js} +1 -1
  34. package/dist/sankhyablocks/{p-c53926eb.entry.js → p-f248d612.entry.js} +1 -1
  35. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  36. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +2 -0
  37. package/package.json +1 -1
  38. package/dist/sankhyablocks/p-20726710.entry.js +0 -1
  39. package/dist/sankhyablocks/p-3160fa64.js +0 -60
@@ -155,30 +155,39 @@ class DatasetStrategy {
155
155
  canSlice() {
156
156
  return false;
157
157
  }
158
+ processSortingSide(request, dataUnit, serverSideFilters) {
159
+ const localSorting = [];
160
+ const serverSorting = [];
161
+ if (request.sort != undefined) {
162
+ if (serverSideFilters.length === 0) {
163
+ return { localSorting: request.sort, serverSorting: [] };
164
+ }
165
+ for (const sort of request.sort) {
166
+ const descriptor = dataUnit.getField(sort.field);
167
+ const local = descriptor != undefined
168
+ && descriptor.properties != undefined
169
+ && descriptor.properties.calculated === "true";
170
+ if (local) {
171
+ localSorting.push(sort);
172
+ }
173
+ else {
174
+ serverSorting.push(sort);
175
+ }
176
+ }
177
+ }
178
+ return { localSorting, serverSorting };
179
+ }
158
180
  async load(dataUnit, request, loadingInfo) {
181
+ var _a, _b;
159
182
  if (dataUnit.metadata == undefined) {
160
183
  return Promise.resolve({ records: [], loadingInfo });
161
184
  }
162
185
  try {
163
- const localSorting = [];
164
- const serverSorting = [];
165
- if (request.sort != undefined) {
166
- for (const sort of request.sort) {
167
- const descriptor = dataUnit.getField(sort.field);
168
- const local = descriptor != undefined
169
- && descriptor.properties != undefined
170
- && descriptor.properties.calculated === "true";
171
- if (local) {
172
- localSorting.push(sort);
173
- }
174
- else {
175
- serverSorting.push(sort);
176
- }
177
- }
178
- }
186
+ const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
187
+ const { localSorting, serverSorting } = this.processSortingSide(request, dataUnit, serverSideFilters);
179
188
  const fields = this.getFieldsList(dataUnit);
180
189
  const serviceName = "DatasetSP.loadRecords";
181
- const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting);
190
+ const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
182
191
  const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
183
192
  const { result: responseRecords, pagerID: pagerId } = await DataFetcher.DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
184
193
  const records = this.processRecords(dataUnit, fields, responseRecords);
@@ -200,13 +209,21 @@ class DatasetStrategy {
200
209
  getFieldsList(dataUnit) {
201
210
  let fields = ["__record__id__", "__record__label__"];
202
211
  dataUnit.metadata.fields.forEach((descriptor) => {
203
- if (descriptor.standAlone) {
212
+ if (descriptor.standAlone)
204
213
  return;
205
- }
206
214
  fields = fields.concat(this.getFieldNames(descriptor));
207
215
  });
208
216
  return fields;
209
217
  }
218
+ getStandAloneFieldsList(dataUnit) {
219
+ let fields = {};
220
+ dataUnit.metadata.fields.forEach((currentField) => {
221
+ if (!currentField.standAlone)
222
+ return;
223
+ fields = Object.assign(Object.assign({}, fields), { [currentField.name]: { fieldType: currentField.dataType, userType: currentField.userInterface } });
224
+ });
225
+ return fields;
226
+ }
210
227
  getFieldNames(descriptor) {
211
228
  const descriptionField = this.getSearchDescriptionField(descriptor);
212
229
  if (descriptionField == undefined) {
@@ -214,7 +231,7 @@ class DatasetStrategy {
214
231
  }
215
232
  return [descriptor.name, descriptionField];
216
233
  }
217
- buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting) {
234
+ buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting, serverSideFilters) {
218
235
  const dataSetID = dataUnit.dataUnitId;
219
236
  const dataUnitName = dataUnit.name;
220
237
  const entityName = DataUnitFetcher.parseDataUnitName(dataUnitName).entityName;
@@ -229,14 +246,11 @@ class DatasetStrategy {
229
246
  totalRecordsCount: loadingInfo.count,
230
247
  pagerID: loadingInfo.pagerId,
231
248
  standAlone: false,
232
- standAloneFieldsMD: {
233
- __record__id__: { "fieldType": "S", "userType": "P" },
234
- __record__label__: { "fieldType": "S", "userType": "P" }
235
- },
249
+ standAloneFieldsMD: Object.assign({ __record__id__: { "fieldType": "S", "userType": "P" }, __record__label__: { "fieldType": "S", "userType": "P" } }, this.getStandAloneFieldsList(dataUnit)),
236
250
  tryJoinedFields: true,
237
251
  parallelLoader: useParallelLoader,
238
252
  crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
239
- txProperties: this.getTxProperties(dataUnit, request, sorting),
253
+ txProperties: this.getTxProperties(dataUnit, request, sorting, serverSideFilters),
240
254
  useDefaultRowsLimit: false
241
255
  }
242
256
  };
@@ -247,12 +261,10 @@ class DatasetStrategy {
247
261
  const moduleName = app.getModuleName();
248
262
  return moduleName.replace("-bff", "");
249
263
  }
250
- getTxProperties(dataUnit, request, sorting) {
251
- var _a, _b;
264
+ getTxProperties(dataUnit, request, sorting, serverSideFilters) {
252
265
  const txProperties = {
253
266
  "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnit.name
254
267
  };
255
- const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
256
268
  if (serverSideFilters.length !== 0) {
257
269
  txProperties["__DATA_UNIT_ADAPTER__[criteria]"] = JSON.stringify(serverSideFilters);
258
270
  }
@@ -11,7 +11,7 @@ require('./index-0e663819.js');
11
11
  require('./ISave-d68ce3cd.js');
12
12
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
13
13
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
14
- require('./dataunit-fetcher-d839c5d7.js');
14
+ require('./dataunit-fetcher-5392a260.js');
15
15
  require('./PreloadManager-84466da6.js');
16
16
  require('./filter-item-type.enum-a7ffdaa6.js');
17
17
  require('./form-config-fetcher-df043d3d.js');
@@ -8,7 +8,7 @@ const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
8
  const ConfigStorage = require('./ConfigStorage-8009ecb2.js');
9
9
  const DataFetcher = require('./DataFetcher-ba94ed5b.js');
10
10
  const authFetcher = require('./auth-fetcher-c8467c07.js');
11
- const dataunitFetcher = require('./dataunit-fetcher-d839c5d7.js');
11
+ const dataunitFetcher = require('./dataunit-fetcher-5392a260.js');
12
12
  const pesquisaFetcher = require('./pesquisa-fetcher-ef050a47.js');
13
13
  const SnkMessageBuilder = require('./SnkMessageBuilder-7293d0ad.js');
14
14
  require('./form-config-fetcher-df043d3d.js');
@@ -7,7 +7,7 @@ const core = require('@sankhyalabs/core');
7
7
  const DataFetcher = require('./DataFetcher-ba94ed5b.js');
8
8
  const ISave = require('./ISave-d68ce3cd.js');
9
9
  const constants = require('./constants-35ddd366.js');
10
- const dataunitFetcher = require('./dataunit-fetcher-d839c5d7.js');
10
+ const dataunitFetcher = require('./dataunit-fetcher-5392a260.js');
11
11
  const PreloadManager = require('./PreloadManager-84466da6.js');
12
12
  const taskbarElements = require('./taskbar-elements-39949c7a.js');
13
13
  require('./PrintUtils-bcaeb82f.js');
@@ -11,7 +11,7 @@ const index$1 = require('./index-0e663819.js');
11
11
  require('./ISave-d68ce3cd.js');
12
12
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
13
13
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
14
- require('./dataunit-fetcher-d839c5d7.js');
14
+ require('./dataunit-fetcher-5392a260.js');
15
15
  require('./PreloadManager-84466da6.js');
16
16
  require('./filter-item-type.enum-a7ffdaa6.js');
17
17
  require('./form-config-fetcher-df043d3d.js');
@@ -12,13 +12,13 @@ const index$1 = require('./index-0e663819.js');
12
12
  require('./ISave-d68ce3cd.js');
13
13
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
14
14
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
15
- require('./dataunit-fetcher-d839c5d7.js');
15
+ require('./dataunit-fetcher-5392a260.js');
16
16
  require('./PreloadManager-84466da6.js');
17
17
  require('./filter-item-type.enum-a7ffdaa6.js');
18
18
  require('./form-config-fetcher-df043d3d.js');
19
19
  const taskbarElements = require('./taskbar-elements-39949c7a.js');
20
20
  const constants = require('./constants-35ddd366.js');
21
- const snkGuidesViewer = require('./snk-guides-viewer-88a7f880.js');
21
+ const snkGuidesViewer = require('./snk-guides-viewer-7a94210d.js');
22
22
  const SnkMessageBuilder = require('./SnkMessageBuilder-7293d0ad.js');
23
23
  require('./ConfigStorage-8009ecb2.js');
24
24
  require('./PrintUtils-bcaeb82f.js');
@@ -17,7 +17,8 @@ const SnkFilterMultiSelect = class {
17
17
  * Emitido quando acontece a alteração de valor do componente snk-filter-multi-select
18
18
  */
19
19
  ezChangeListener(evt) {
20
- this.value = evt.detail.value;
20
+ var _a;
21
+ this.value = (_a = evt.detail) === null || _a === void 0 ? void 0 : _a.value;
21
22
  this.valueChanged.emit(this.value);
22
23
  }
23
24
  /**
@@ -13,7 +13,7 @@ const index$1 = require('./index-0e663819.js');
13
13
  require('./ISave-d68ce3cd.js');
14
14
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
15
15
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
16
- require('./dataunit-fetcher-d839c5d7.js');
16
+ require('./dataunit-fetcher-5392a260.js');
17
17
  require('./PreloadManager-84466da6.js');
18
18
  require('./filter-item-type.enum-a7ffdaa6.js');
19
19
  require('./form-config-fetcher-df043d3d.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const snkGuidesViewer = require('./snk-guides-viewer-88a7f880.js');
5
+ const snkGuidesViewer = require('./snk-guides-viewer-7a94210d.js');
6
6
  require('./index-f9e81701.js');
7
7
  require('@sankhyalabs/core');
8
8
  require('./SnkFormConfigManager-7d850fbc.js');
@@ -21,7 +21,7 @@ require('./constants-35ddd366.js');
21
21
  require('./pesquisa-fetcher-ef050a47.js');
22
22
  require('./ISave-d68ce3cd.js');
23
23
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
24
- require('./dataunit-fetcher-d839c5d7.js');
24
+ require('./dataunit-fetcher-5392a260.js');
25
25
  require('./PreloadManager-84466da6.js');
26
26
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
27
27
  require('./ResourceIDUtils-5ff86aa7.js');
@@ -12,7 +12,7 @@ const index$1 = require('./index-0e663819.js');
12
12
  require('./ISave-d68ce3cd.js');
13
13
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
14
14
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
15
- const dataunitFetcher = require('./dataunit-fetcher-d839c5d7.js');
15
+ const dataunitFetcher = require('./dataunit-fetcher-5392a260.js');
16
16
  require('./PreloadManager-84466da6.js');
17
17
  require('./filter-item-type.enum-a7ffdaa6.js');
18
18
  require('./form-config-fetcher-df043d3d.js');
@@ -10,7 +10,8 @@ export class SnkFilterMultiSelect {
10
10
  * Emitido quando acontece a alteração de valor do componente snk-filter-multi-select
11
11
  */
12
12
  ezChangeListener(evt) {
13
- this.value = evt.detail.value;
13
+ var _a;
14
+ this.value = (_a = evt.detail) === null || _a === void 0 ? void 0 : _a.value;
14
15
  this.valueChanged.emit(this.value);
15
16
  }
16
17
  /**
@@ -6,30 +6,39 @@ export class DatasetStrategy {
6
6
  canSlice() {
7
7
  return false;
8
8
  }
9
+ processSortingSide(request, dataUnit, serverSideFilters) {
10
+ const localSorting = [];
11
+ const serverSorting = [];
12
+ if (request.sort != undefined) {
13
+ if (serverSideFilters.length === 0) {
14
+ return { localSorting: request.sort, serverSorting: [] };
15
+ }
16
+ for (const sort of request.sort) {
17
+ const descriptor = dataUnit.getField(sort.field);
18
+ const local = descriptor != undefined
19
+ && descriptor.properties != undefined
20
+ && descriptor.properties.calculated === "true";
21
+ if (local) {
22
+ localSorting.push(sort);
23
+ }
24
+ else {
25
+ serverSorting.push(sort);
26
+ }
27
+ }
28
+ }
29
+ return { localSorting, serverSorting };
30
+ }
9
31
  async load(dataUnit, request, loadingInfo) {
32
+ var _a, _b;
10
33
  if (dataUnit.metadata == undefined) {
11
34
  return Promise.resolve({ records: [], loadingInfo });
12
35
  }
13
36
  try {
14
- const localSorting = [];
15
- const serverSorting = [];
16
- if (request.sort != undefined) {
17
- for (const sort of request.sort) {
18
- const descriptor = dataUnit.getField(sort.field);
19
- const local = descriptor != undefined
20
- && descriptor.properties != undefined
21
- && descriptor.properties.calculated === "true";
22
- if (local) {
23
- localSorting.push(sort);
24
- }
25
- else {
26
- serverSorting.push(sort);
27
- }
28
- }
29
- }
37
+ const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
38
+ const { localSorting, serverSorting } = this.processSortingSide(request, dataUnit, serverSideFilters);
30
39
  const fields = this.getFieldsList(dataUnit);
31
40
  const serviceName = "DatasetSP.loadRecords";
32
- const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting);
41
+ const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
33
42
  const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
34
43
  const { result: responseRecords, pagerID: pagerId } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
35
44
  const records = this.processRecords(dataUnit, fields, responseRecords);
@@ -51,13 +60,21 @@ export class DatasetStrategy {
51
60
  getFieldsList(dataUnit) {
52
61
  let fields = ["__record__id__", "__record__label__"];
53
62
  dataUnit.metadata.fields.forEach((descriptor) => {
54
- if (descriptor.standAlone) {
63
+ if (descriptor.standAlone)
55
64
  return;
56
- }
57
65
  fields = fields.concat(this.getFieldNames(descriptor));
58
66
  });
59
67
  return fields;
60
68
  }
69
+ getStandAloneFieldsList(dataUnit) {
70
+ let fields = {};
71
+ dataUnit.metadata.fields.forEach((currentField) => {
72
+ if (!currentField.standAlone)
73
+ return;
74
+ fields = Object.assign(Object.assign({}, fields), { [currentField.name]: { fieldType: currentField.dataType, userType: currentField.userInterface } });
75
+ });
76
+ return fields;
77
+ }
61
78
  getFieldNames(descriptor) {
62
79
  const descriptionField = this.getSearchDescriptionField(descriptor);
63
80
  if (descriptionField == undefined) {
@@ -65,7 +82,7 @@ export class DatasetStrategy {
65
82
  }
66
83
  return [descriptor.name, descriptionField];
67
84
  }
68
- buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting) {
85
+ buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting, serverSideFilters) {
69
86
  const dataSetID = dataUnit.dataUnitId;
70
87
  const dataUnitName = dataUnit.name;
71
88
  const entityName = DataUnitFetcher.parseDataUnitName(dataUnitName).entityName;
@@ -80,14 +97,11 @@ export class DatasetStrategy {
80
97
  totalRecordsCount: loadingInfo.count,
81
98
  pagerID: loadingInfo.pagerId,
82
99
  standAlone: false,
83
- standAloneFieldsMD: {
84
- __record__id__: { "fieldType": "S", "userType": "P" },
85
- __record__label__: { "fieldType": "S", "userType": "P" }
86
- },
100
+ standAloneFieldsMD: Object.assign({ __record__id__: { "fieldType": "S", "userType": "P" }, __record__label__: { "fieldType": "S", "userType": "P" } }, this.getStandAloneFieldsList(dataUnit)),
87
101
  tryJoinedFields: true,
88
102
  parallelLoader: useParallelLoader,
89
103
  crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
90
- txProperties: this.getTxProperties(dataUnit, request, sorting),
104
+ txProperties: this.getTxProperties(dataUnit, request, sorting, serverSideFilters),
91
105
  useDefaultRowsLimit: false
92
106
  }
93
107
  };
@@ -98,12 +112,10 @@ export class DatasetStrategy {
98
112
  const moduleName = app.getModuleName();
99
113
  return moduleName.replace("-bff", "");
100
114
  }
101
- getTxProperties(dataUnit, request, sorting) {
102
- var _a, _b;
115
+ getTxProperties(dataUnit, request, sorting, serverSideFilters) {
103
116
  const txProperties = {
104
117
  "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnit.name
105
118
  };
106
- const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
107
119
  if (serverSideFilters.length !== 0) {
108
120
  txProperties["__DATA_UNIT_ADAPTER__[criteria]"] = JSON.stringify(serverSideFilters);
109
121
  }
@@ -531,30 +531,39 @@ class DatasetStrategy {
531
531
  canSlice() {
532
532
  return false;
533
533
  }
534
+ processSortingSide(request, dataUnit, serverSideFilters) {
535
+ const localSorting = [];
536
+ const serverSorting = [];
537
+ if (request.sort != undefined) {
538
+ if (serverSideFilters.length === 0) {
539
+ return { localSorting: request.sort, serverSorting: [] };
540
+ }
541
+ for (const sort of request.sort) {
542
+ const descriptor = dataUnit.getField(sort.field);
543
+ const local = descriptor != undefined
544
+ && descriptor.properties != undefined
545
+ && descriptor.properties.calculated === "true";
546
+ if (local) {
547
+ localSorting.push(sort);
548
+ }
549
+ else {
550
+ serverSorting.push(sort);
551
+ }
552
+ }
553
+ }
554
+ return { localSorting, serverSorting };
555
+ }
534
556
  async load(dataUnit, request, loadingInfo) {
557
+ var _a, _b;
535
558
  if (dataUnit.metadata == undefined) {
536
559
  return Promise.resolve({ records: [], loadingInfo });
537
560
  }
538
561
  try {
539
- const localSorting = [];
540
- const serverSorting = [];
541
- if (request.sort != undefined) {
542
- for (const sort of request.sort) {
543
- const descriptor = dataUnit.getField(sort.field);
544
- const local = descriptor != undefined
545
- && descriptor.properties != undefined
546
- && descriptor.properties.calculated === "true";
547
- if (local) {
548
- localSorting.push(sort);
549
- }
550
- else {
551
- serverSorting.push(sort);
552
- }
553
- }
554
- }
562
+ const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
563
+ const { localSorting, serverSorting } = this.processSortingSide(request, dataUnit, serverSideFilters);
555
564
  const fields = this.getFieldsList(dataUnit);
556
565
  const serviceName = "DatasetSP.loadRecords";
557
- const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting);
566
+ const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
558
567
  const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
559
568
  const { result: responseRecords, pagerID: pagerId } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
560
569
  const records = this.processRecords(dataUnit, fields, responseRecords);
@@ -576,13 +585,21 @@ class DatasetStrategy {
576
585
  getFieldsList(dataUnit) {
577
586
  let fields = ["__record__id__", "__record__label__"];
578
587
  dataUnit.metadata.fields.forEach((descriptor) => {
579
- if (descriptor.standAlone) {
588
+ if (descriptor.standAlone)
580
589
  return;
581
- }
582
590
  fields = fields.concat(this.getFieldNames(descriptor));
583
591
  });
584
592
  return fields;
585
593
  }
594
+ getStandAloneFieldsList(dataUnit) {
595
+ let fields = {};
596
+ dataUnit.metadata.fields.forEach((currentField) => {
597
+ if (!currentField.standAlone)
598
+ return;
599
+ fields = Object.assign(Object.assign({}, fields), { [currentField.name]: { fieldType: currentField.dataType, userType: currentField.userInterface } });
600
+ });
601
+ return fields;
602
+ }
586
603
  getFieldNames(descriptor) {
587
604
  const descriptionField = this.getSearchDescriptionField(descriptor);
588
605
  if (descriptionField == undefined) {
@@ -590,7 +607,7 @@ class DatasetStrategy {
590
607
  }
591
608
  return [descriptor.name, descriptionField];
592
609
  }
593
- buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting) {
610
+ buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting, serverSideFilters) {
594
611
  const dataSetID = dataUnit.dataUnitId;
595
612
  const dataUnitName = dataUnit.name;
596
613
  const entityName = DataUnitFetcher.parseDataUnitName(dataUnitName).entityName;
@@ -605,14 +622,11 @@ class DatasetStrategy {
605
622
  totalRecordsCount: loadingInfo.count,
606
623
  pagerID: loadingInfo.pagerId,
607
624
  standAlone: false,
608
- standAloneFieldsMD: {
609
- __record__id__: { "fieldType": "S", "userType": "P" },
610
- __record__label__: { "fieldType": "S", "userType": "P" }
611
- },
625
+ standAloneFieldsMD: Object.assign({ __record__id__: { "fieldType": "S", "userType": "P" }, __record__label__: { "fieldType": "S", "userType": "P" } }, this.getStandAloneFieldsList(dataUnit)),
612
626
  tryJoinedFields: true,
613
627
  parallelLoader: useParallelLoader,
614
628
  crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
615
- txProperties: this.getTxProperties(dataUnit, request, sorting),
629
+ txProperties: this.getTxProperties(dataUnit, request, sorting, serverSideFilters),
616
630
  useDefaultRowsLimit: false
617
631
  }
618
632
  };
@@ -623,12 +637,10 @@ class DatasetStrategy {
623
637
  const moduleName = app.getModuleName();
624
638
  return moduleName.replace("-bff", "");
625
639
  }
626
- getTxProperties(dataUnit, request, sorting) {
627
- var _a, _b;
640
+ getTxProperties(dataUnit, request, sorting, serverSideFilters) {
628
641
  const txProperties = {
629
642
  "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnit.name
630
643
  };
631
- const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
632
644
  if (serverSideFilters.length !== 0) {
633
645
  txProperties["__DATA_UNIT_ADAPTER__[criteria]"] = JSON.stringify(serverSideFilters);
634
646
  }
@@ -14,7 +14,8 @@ const SnkFilterMultiSelect$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
14
14
  * Emitido quando acontece a alteração de valor do componente snk-filter-multi-select
15
15
  */
16
16
  ezChangeListener(evt) {
17
- this.value = evt.detail.value;
17
+ var _a;
18
+ this.value = (_a = evt.detail) === null || _a === void 0 ? void 0 : _a.value;
18
19
  this.valueChanged.emit(this.value);
19
20
  }
20
21
  /**
@@ -153,30 +153,39 @@ class DatasetStrategy {
153
153
  canSlice() {
154
154
  return false;
155
155
  }
156
+ processSortingSide(request, dataUnit, serverSideFilters) {
157
+ const localSorting = [];
158
+ const serverSorting = [];
159
+ if (request.sort != undefined) {
160
+ if (serverSideFilters.length === 0) {
161
+ return { localSorting: request.sort, serverSorting: [] };
162
+ }
163
+ for (const sort of request.sort) {
164
+ const descriptor = dataUnit.getField(sort.field);
165
+ const local = descriptor != undefined
166
+ && descriptor.properties != undefined
167
+ && descriptor.properties.calculated === "true";
168
+ if (local) {
169
+ localSorting.push(sort);
170
+ }
171
+ else {
172
+ serverSorting.push(sort);
173
+ }
174
+ }
175
+ }
176
+ return { localSorting, serverSorting };
177
+ }
156
178
  async load(dataUnit, request, loadingInfo) {
179
+ var _a, _b;
157
180
  if (dataUnit.metadata == undefined) {
158
181
  return Promise.resolve({ records: [], loadingInfo });
159
182
  }
160
183
  try {
161
- const localSorting = [];
162
- const serverSorting = [];
163
- if (request.sort != undefined) {
164
- for (const sort of request.sort) {
165
- const descriptor = dataUnit.getField(sort.field);
166
- const local = descriptor != undefined
167
- && descriptor.properties != undefined
168
- && descriptor.properties.calculated === "true";
169
- if (local) {
170
- localSorting.push(sort);
171
- }
172
- else {
173
- serverSorting.push(sort);
174
- }
175
- }
176
- }
184
+ const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
185
+ const { localSorting, serverSorting } = this.processSortingSide(request, dataUnit, serverSideFilters);
177
186
  const fields = this.getFieldsList(dataUnit);
178
187
  const serviceName = "DatasetSP.loadRecords";
179
- const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting);
188
+ const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
180
189
  const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
181
190
  const { result: responseRecords, pagerID: pagerId } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
182
191
  const records = this.processRecords(dataUnit, fields, responseRecords);
@@ -198,13 +207,21 @@ class DatasetStrategy {
198
207
  getFieldsList(dataUnit) {
199
208
  let fields = ["__record__id__", "__record__label__"];
200
209
  dataUnit.metadata.fields.forEach((descriptor) => {
201
- if (descriptor.standAlone) {
210
+ if (descriptor.standAlone)
202
211
  return;
203
- }
204
212
  fields = fields.concat(this.getFieldNames(descriptor));
205
213
  });
206
214
  return fields;
207
215
  }
216
+ getStandAloneFieldsList(dataUnit) {
217
+ let fields = {};
218
+ dataUnit.metadata.fields.forEach((currentField) => {
219
+ if (!currentField.standAlone)
220
+ return;
221
+ fields = Object.assign(Object.assign({}, fields), { [currentField.name]: { fieldType: currentField.dataType, userType: currentField.userInterface } });
222
+ });
223
+ return fields;
224
+ }
208
225
  getFieldNames(descriptor) {
209
226
  const descriptionField = this.getSearchDescriptionField(descriptor);
210
227
  if (descriptionField == undefined) {
@@ -212,7 +229,7 @@ class DatasetStrategy {
212
229
  }
213
230
  return [descriptor.name, descriptionField];
214
231
  }
215
- buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting) {
232
+ buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting, serverSideFilters) {
216
233
  const dataSetID = dataUnit.dataUnitId;
217
234
  const dataUnitName = dataUnit.name;
218
235
  const entityName = DataUnitFetcher.parseDataUnitName(dataUnitName).entityName;
@@ -227,14 +244,11 @@ class DatasetStrategy {
227
244
  totalRecordsCount: loadingInfo.count,
228
245
  pagerID: loadingInfo.pagerId,
229
246
  standAlone: false,
230
- standAloneFieldsMD: {
231
- __record__id__: { "fieldType": "S", "userType": "P" },
232
- __record__label__: { "fieldType": "S", "userType": "P" }
233
- },
247
+ standAloneFieldsMD: Object.assign({ __record__id__: { "fieldType": "S", "userType": "P" }, __record__label__: { "fieldType": "S", "userType": "P" } }, this.getStandAloneFieldsList(dataUnit)),
234
248
  tryJoinedFields: true,
235
249
  parallelLoader: useParallelLoader,
236
250
  crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
237
- txProperties: this.getTxProperties(dataUnit, request, sorting),
251
+ txProperties: this.getTxProperties(dataUnit, request, sorting, serverSideFilters),
238
252
  useDefaultRowsLimit: false
239
253
  }
240
254
  };
@@ -245,12 +259,10 @@ class DatasetStrategy {
245
259
  const moduleName = app.getModuleName();
246
260
  return moduleName.replace("-bff", "");
247
261
  }
248
- getTxProperties(dataUnit, request, sorting) {
249
- var _a, _b;
262
+ getTxProperties(dataUnit, request, sorting, serverSideFilters) {
250
263
  const txProperties = {
251
264
  "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnit.name
252
265
  };
253
- const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
254
266
  if (serverSideFilters.length !== 0) {
255
267
  txProperties["__DATA_UNIT_ADAPTER__[criteria]"] = JSON.stringify(serverSideFilters);
256
268
  }
@@ -7,7 +7,7 @@ import './index-1564817d.js';
7
7
  import './ISave-4412b20c.js';
8
8
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
9
9
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
10
- import './dataunit-fetcher-cf01a8f4.js';
10
+ import './dataunit-fetcher-f0da92c9.js';
11
11
  import './PreloadManager-c1c2f2b4.js';
12
12
  import './filter-item-type.enum-d45e026f.js';
13
13
  import './form-config-fetcher-36219cd3.js';
@@ -4,7 +4,7 @@ import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { C as ConfigStorage } from './ConfigStorage-1244b8b0.js';
5
5
  import { d as dist, D as DataFetcher, U as UrlUtils } from './DataFetcher-aa159c5a.js';
6
6
  import { A as AutorizationType, a as AuthFetcher } from './auth-fetcher-c05dc474.js';
7
- import { D as DataUnitFetcher } from './dataunit-fetcher-cf01a8f4.js';
7
+ import { D as DataUnitFetcher } from './dataunit-fetcher-f0da92c9.js';
8
8
  import { P as PesquisaFetcher } from './pesquisa-fetcher-dd3ca0a5.js';
9
9
  import { S as SnkMessageBuilder } from './SnkMessageBuilder-ca843d1b.js';
10
10
  import './form-config-fetcher-36219cd3.js';
@@ -3,7 +3,7 @@ import { ApplicationContext, DataType, Action } from '@sankhyalabs/core';
3
3
  import { D as DataFetcher } from './DataFetcher-aa159c5a.js';
4
4
  import { S as SaveErrorsEnum } from './ISave-4412b20c.js';
5
5
  import { d as VIEW_MODE } from './constants-8457af36.js';
6
- import { D as DataUnitFetcher } from './dataunit-fetcher-cf01a8f4.js';
6
+ import { D as DataUnitFetcher } from './dataunit-fetcher-f0da92c9.js';
7
7
  import { P as PreloadManager } from './PreloadManager-c1c2f2b4.js';
8
8
  import { T as TaskbarElement } from './taskbar-elements-0a6b8b95.js';
9
9
  import './PrintUtils-3e4ff0f5.js';
@@ -7,7 +7,7 @@ import { P as PresentationMode } from './index-1564817d.js';
7
7
  import './ISave-4412b20c.js';
8
8
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
9
9
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
10
- import './dataunit-fetcher-cf01a8f4.js';
10
+ import './dataunit-fetcher-f0da92c9.js';
11
11
  import './PreloadManager-c1c2f2b4.js';
12
12
  import './filter-item-type.enum-d45e026f.js';
13
13
  import './form-config-fetcher-36219cd3.js';