@sankhyalabs/sankhyablocks 8.16.0-dev.90 → 8.16.0-dev.91

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 (60) hide show
  1. package/dist/cjs/{ClientSideExporterProvider-6b781452.js → ClientSideExporterProvider-2f5f350c.js} +1 -1
  2. package/dist/cjs/{dataunit-fetcher-8291ac21.js → dataunit-fetcher-449d51a3.js} +11 -161
  3. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +1 -1
  4. package/dist/cjs/snk-actions-button_5.cjs.entry.js +1 -1
  5. package/dist/cjs/snk-application.cjs.entry.js +1 -1
  6. package/dist/cjs/snk-attach.cjs.entry.js +2 -2
  7. package/dist/cjs/snk-crud.cjs.entry.js +1 -1
  8. package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
  9. package/dist/cjs/{snk-data-unit-c8096724.js → snk-data-unit-bbd384bf.js} +1 -1
  10. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  11. package/dist/cjs/snk-detail-view.cjs.entry.js +2 -2
  12. package/dist/cjs/snk-grid.cjs.entry.js +2 -2
  13. package/dist/cjs/{snk-guides-viewer-a029ff50.js → snk-guides-viewer-5396062f.js} +1 -1
  14. package/dist/cjs/snk-guides-viewer.cjs.entry.js +2 -2
  15. package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
  16. package/dist/cjs/snk-simple-crud.cjs.entry.js +2 -2
  17. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -3
  18. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -101
  19. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +7 -53
  20. package/dist/components/dataunit-fetcher.js +30 -179
  21. package/dist/components/snk-attach2.js +3 -3
  22. package/dist/esm/{ClientSideExporterProvider-ff89c7e9.js → ClientSideExporterProvider-3537805a.js} +1 -1
  23. package/dist/esm/{dataunit-fetcher-5247a708.js → dataunit-fetcher-91b094f2.js} +13 -162
  24. package/dist/esm/pesquisa-grid_2.entry.js +1 -1
  25. package/dist/esm/snk-actions-button_5.entry.js +1 -1
  26. package/dist/esm/snk-application.entry.js +1 -1
  27. package/dist/esm/snk-attach.entry.js +3 -3
  28. package/dist/esm/snk-crud.entry.js +1 -1
  29. package/dist/esm/snk-data-exporter.entry.js +2 -2
  30. package/dist/esm/{snk-data-unit-51659955.js → snk-data-unit-b03bb5cf.js} +1 -1
  31. package/dist/esm/snk-data-unit.entry.js +2 -2
  32. package/dist/esm/snk-detail-view.entry.js +2 -2
  33. package/dist/esm/snk-grid.entry.js +2 -2
  34. package/dist/esm/{snk-guides-viewer-fa45714d.js → snk-guides-viewer-749d027c.js} +1 -1
  35. package/dist/esm/snk-guides-viewer.entry.js +2 -2
  36. package/dist/esm/snk-pesquisa.entry.js +1 -1
  37. package/dist/esm/snk-simple-crud.entry.js +2 -2
  38. package/dist/sankhyablocks/{p-b0ff53b7.entry.js → p-13391b3d.entry.js} +1 -1
  39. package/dist/sankhyablocks/{p-82839c9f.js → p-23b47a92.js} +1 -1
  40. package/dist/sankhyablocks/p-3653374d.js +60 -0
  41. package/dist/sankhyablocks/{p-c82deea7.entry.js → p-389ba782.entry.js} +1 -1
  42. package/dist/sankhyablocks/{p-e0a6d819.entry.js → p-44efbeed.entry.js} +1 -1
  43. package/dist/sankhyablocks/{p-0b00d69c.entry.js → p-4be6e0e7.entry.js} +1 -1
  44. package/dist/sankhyablocks/p-4d87cd45.entry.js +1 -0
  45. package/dist/sankhyablocks/{p-bee2a6d3.entry.js → p-4fa79d68.entry.js} +1 -1
  46. package/dist/sankhyablocks/{p-40e323f9.js → p-5dd7f4c7.js} +1 -1
  47. package/dist/sankhyablocks/{p-aa1a0f3e.entry.js → p-6234bda8.entry.js} +1 -1
  48. package/dist/sankhyablocks/{p-e10faff0.entry.js → p-647f9830.entry.js} +1 -1
  49. package/dist/sankhyablocks/{p-de9da2f2.js → p-7b87d1a8.js} +1 -1
  50. package/dist/sankhyablocks/{p-d2d0535f.entry.js → p-ad5e4f9d.entry.js} +1 -1
  51. package/dist/sankhyablocks/{p-172848d4.entry.js → p-b2de1bcc.entry.js} +1 -1
  52. package/dist/sankhyablocks/{p-e718fb81.entry.js → p-ca316523.entry.js} +1 -1
  53. package/dist/sankhyablocks/{p-700a4cc3.entry.js → p-ee53b000.entry.js} +1 -1
  54. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  55. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  56. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +3 -6
  57. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  58. package/package.json +1 -1
  59. package/dist/sankhyablocks/p-38179225.js +0 -60
  60. package/dist/sankhyablocks/p-b02e58fd.entry.js +0 -1
@@ -7,7 +7,7 @@ const index$1 = require('./index-e3e39724.js');
7
7
  require('./ISave-e91b70a7.js');
8
8
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
9
9
  const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
10
- const dataunitFetcher = require('./dataunit-fetcher-8291ac21.js');
10
+ const dataunitFetcher = require('./dataunit-fetcher-449d51a3.js');
11
11
  require('./filter-item-type.enum-a7ffdaa6.js');
12
12
  require('./form-config-fetcher-90126e4c.js');
13
13
  require('./constants-241934b3.js');
@@ -244,182 +244,33 @@ class PreloadManager {
244
244
  PreloadManager._repositories = new Map();
245
245
  PreloadManager._loadingStatus = new Map();
246
246
 
247
- function applyFilter(records, dataUnit, filters) {
248
- const columnFilters = utils.ColumnFilterManager.getColumnFilters(filters, "");
249
- if (!(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.size)) {
250
- return records;
251
- }
252
- const filterFunction = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
253
- if (filterFunction == undefined) {
254
- return records;
255
- }
256
- return records.filter(filterFunction);
257
- }
258
- function buildLoadDataResponse(recordsIn, dataUnit, request) {
259
- let records = recordsIn ? [...recordsIn] : [];
260
- records = applyFilter(records, dataUnit, request.filters);
261
- records = applySorting(records, dataUnit, request.sort);
262
- const { offset, limit } = request;
263
- const paginationInfoBuilderParams = {
264
- recordsLength: records.length,
265
- offset,
266
- recordsPerPage: limit,
267
- };
268
- return Promise.resolve({
269
- records: getPagesByRecords(records, offset, limit),
270
- paginationInfo: dataUnit.pageSize ? buildPaginationInfo(paginationInfoBuilderParams) : undefined,
271
- });
272
- }
273
- function applySorting(records, dataUnit, sorting) {
274
- if (sorting == undefined || sorting.length == 0) {
275
- return records;
276
- }
277
- const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
278
- if (sortingFunction == undefined) {
279
- return records;
280
- }
281
- return records.sort(sortingFunction);
282
- }
283
- function hasValidLimitAndOffset(offset, limit) {
284
- return offset >= 0 && limit >= 0;
285
- }
286
- function getPagesByRecords(records, offset = 0, limit = 0) {
287
- if (!records || !records.length || !hasValidLimitAndOffset(offset, limit))
288
- return [];
289
- if (limit === 0 && offset === 0)
290
- return records;
291
- return records.slice(offset, offset + limit);
292
- }
293
- function buildPaginationInfo({ recordsLength = 0, offset = 0, recordsPerPage = 0 }) {
294
- if (!recordsLength) {
295
- return { currentPage: 0, firstRecord: 0, lastRecord: 0, total: 0, hasMore: false };
296
- }
297
- const lastRecordIndex = offset + recordsPerPage;
298
- const lastRecord = lastRecordIndex ? Math.min(lastRecordIndex, recordsLength) : recordsLength;
299
- return {
300
- currentPage: recordsPerPage === 0 ? 0 : Math.ceil(offset / recordsPerPage),
301
- firstRecord: offset + 1,
302
- lastRecord: lastRecord,
303
- total: recordsLength,
304
- hasMore: lastRecord < recordsLength,
305
- };
306
- }
307
-
308
247
  class InMemoryLoader {
309
248
  constructor(metadata, records, config) {
310
- this.metadata = metadata;
311
- this.records = records;
312
- this._dataUnit = new core.DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
313
- this._dataUnit.pageSize = 150;
314
- this._dataUnit.metadataLoader = () => this.metadaLoader();
315
- this._dataUnit.dataLoader = (dataUnit, request) => this.inMemoryLoader(dataUnit, request, this.getRecordsToLoad());
316
- this._dataUnit.saveLoader = (_dataUnit, changes) => this.saveLoader(_dataUnit, changes);
317
- this._dataUnit.removeLoader = (_dataUnit, recordIds) => this.removeLoader(_dataUnit, recordIds);
318
- this.dataUnit.loadMetadata().then(() => {
319
- if ((config === null || config === void 0 ? void 0 : config.autoLoad) !== false) {
320
- this.dataUnit.loadData();
321
- }
322
- });
323
- }
324
- getRecordsToLoad() {
325
- if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
326
- this._initialRecords = this.dataUnit.records;
327
- }
328
- const addedRecords = this.dataUnit.getAddedRecords();
329
- if (addedRecords) {
330
- return [...this._initialRecords, ...addedRecords];
331
- }
332
- return this._initialRecords;
249
+ this._dataUnitInMemoryLoader = new core.DataUnitInMemoryLoader(metadata, records, config);
333
250
  }
334
251
  get dataUnit() {
335
- return this._dataUnit;
252
+ return this._dataUnitInMemoryLoader.dataUnit;
336
253
  }
337
254
  get records() {
338
- return this.dataUnit.records;
339
- }
340
- static getConvertedValue(descriptor, strValue) {
341
- if (descriptor.dataType === core.DataType.BOOLEAN) {
342
- return strValue === "S";
343
- }
344
- if (descriptor.dataType === core.DataType.NUMBER) {
345
- return Number(strValue);
346
- }
347
- if (descriptor.dataType === core.DataType.DATE) {
348
- return core.DateUtils.strToDate(strValue, true);
349
- }
350
- if (descriptor.dataType === core.DataType.OBJECT) {
351
- return JSON.parse(strValue);
352
- }
353
- return strValue;
255
+ return this._dataUnitInMemoryLoader.records;
354
256
  }
355
257
  set records(records) {
356
- const columns = this._metadata ? new Map(this._metadata.fields.map(descriptor => [descriptor.name, descriptor])) : undefined;
357
- const newRecords = records === null || records === void 0 ? void 0 : records.map(record => {
358
- if (!record["__record__id__"]) {
359
- record["__record__id__"] = this.generateUniqueId();
360
- }
361
- if (columns != undefined) {
362
- for (const name in record) {
363
- const value = record[name];
364
- if (typeof value === "string" && columns.has(name)) {
365
- record[name] = InMemoryLoader.getConvertedValue(columns.get(name), value);
366
- }
367
- }
368
- }
369
- return record;
370
- });
371
- this._initialRecords = newRecords;
372
- if (this._dataUnit) {
373
- //Isso força o refresh internamente no datunit
374
- this._dataUnit.loadData();
375
- }
258
+ this._dataUnitInMemoryLoader.records = records;
376
259
  }
377
260
  get metadata() {
378
- return this._metadata;
261
+ return this._dataUnitInMemoryLoader.metadata;
379
262
  }
380
263
  set metadata(metadata) {
381
- this._metadata = metadata;
382
- if (this._dataUnit) {
383
- this._dataUnit.metadata = this._metadata;
384
- }
385
- }
386
- generateUniqueId() {
387
- return core.StringUtils.generateUUID();
388
- }
389
- inMemoryLoader(dataUnit, request, recordsIn) {
390
- return buildLoadDataResponse(recordsIn, dataUnit, request);
391
- }
392
- metadaLoader() {
393
- return Promise.resolve(this._metadata);
394
- }
395
- saveLoader(_dataUnit, changes) {
396
- return new Promise((resolve) => {
397
- let dataUnitRecords = [];
398
- changes.forEach(change => {
399
- let { record, updatingFields, operation } = change;
400
- const changedRecord = Object.assign(Object.assign({}, record), updatingFields);
401
- if (operation === core.ChangeOperation.INSERT ||
402
- operation === core.ChangeOperation.COPY) {
403
- changedRecord["__old__id__"] = record["__record__id__"];
404
- changedRecord["__record__id__"] = this.generateUniqueId();
405
- this.records.push(changedRecord);
406
- }
407
- else {
408
- const recordIndex = this.records.findIndex(r => r["__record__id__"] == changedRecord["__record__id__"]);
409
- this.records[recordIndex] = changedRecord;
410
- }
411
- dataUnitRecords.push(changedRecord);
412
- });
413
- resolve(dataUnitRecords);
414
- });
264
+ this._dataUnitInMemoryLoader.metadata = metadata;
415
265
  }
416
266
  removeLoader(_dataUnit, recordIds) {
417
- return new Promise((resolve) => {
418
- resolve(recordIds);
419
- });
267
+ return this._dataUnitInMemoryLoader.removeLoader(_dataUnit, recordIds);
268
+ }
269
+ static getConvertedValue(descriptor, strValue, dateFormat) {
270
+ return core.DataUnitInMemoryLoader.getConvertedValue(descriptor, strValue, dateFormat);
420
271
  }
421
272
  }
422
- InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = "InMemoryDataUnit";
273
+ InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = core.DataUnitInMemoryLoader.IN_MEMORY_DATA_UNIT_NAME;
423
274
 
424
275
  function getRecordValue(record, fieldName) {
425
276
  var _a, _b;
@@ -1260,5 +1111,4 @@ exports.DataUnitFetcher = DataUnitFetcher;
1260
1111
  exports.DatasetStrategy = DatasetStrategy;
1261
1112
  exports.InMemoryLoader = InMemoryLoader;
1262
1113
  exports.PreloadManager = PreloadManager;
1263
- exports.buildLoadDataResponse = buildLoadDataResponse;
1264
1114
  exports.getRecordValue = getRecordValue;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9e81701.js');
6
- const dataunitFetcher = require('./dataunit-fetcher-8291ac21.js');
6
+ const dataunitFetcher = require('./dataunit-fetcher-449d51a3.js');
7
7
  require('./DataFetcher-65879b2c.js');
8
8
  const pesquisaFetcher = require('./pesquisa-fetcher-5c583c93.js');
9
9
  require('@sankhyalabs/core');
@@ -11,7 +11,7 @@ require('./index-e3e39724.js');
11
11
  require('./ISave-e91b70a7.js');
12
12
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
13
13
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
14
- require('./dataunit-fetcher-8291ac21.js');
14
+ require('./dataunit-fetcher-449d51a3.js');
15
15
  require('./filter-item-type.enum-a7ffdaa6.js');
16
16
  const formConfigFetcher = require('./form-config-fetcher-90126e4c.js');
17
17
  const constants = require('./constants-241934b3.js');
@@ -8,7 +8,7 @@ const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
8
  const ConfigStorage = require('./ConfigStorage-d024aec8.js');
9
9
  const DataFetcher = require('./DataFetcher-65879b2c.js');
10
10
  const authFetcher = require('./auth-fetcher-8480751c.js');
11
- const dataunitFetcher = require('./dataunit-fetcher-8291ac21.js');
11
+ const dataunitFetcher = require('./dataunit-fetcher-449d51a3.js');
12
12
  const pesquisaFetcher = require('./pesquisa-fetcher-5c583c93.js');
13
13
  const SnkMessageBuilder = require('./SnkMessageBuilder-bae64d0d.js');
14
14
  const constants = require('./constants-241934b3.js');
@@ -8,7 +8,7 @@ const DataFetcher = require('./DataFetcher-65879b2c.js');
8
8
  require('./pesquisa-fetcher-5c583c93.js');
9
9
  require('./index-e3e39724.js');
10
10
  const ISave = require('./ISave-e91b70a7.js');
11
- const dataunitFetcher = require('./dataunit-fetcher-8291ac21.js');
11
+ const dataunitFetcher = require('./dataunit-fetcher-449d51a3.js');
12
12
  require('./filter-item-type.enum-a7ffdaa6.js');
13
13
  require('./form-config-fetcher-90126e4c.js');
14
14
  const constants = require('./constants-241934b3.js');
@@ -464,7 +464,7 @@ class AttachFetcherDataUnitFactory {
464
464
  });
465
465
  this._records = records;
466
466
  }
467
- return dataunitFetcher.buildLoadDataResponse(this._records, dataUnit, request);
467
+ return core.DataUnitLoaderUtils.buildLoadDataResponse(this._records, dataUnit, request);
468
468
  }
469
469
  saveLoader(changes, fetcher) {
470
470
  return new Promise((resolve) => {
@@ -11,7 +11,7 @@ const index$1 = require('./index-e3e39724.js');
11
11
  require('./ISave-e91b70a7.js');
12
12
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
13
13
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
14
- require('./dataunit-fetcher-8291ac21.js');
14
+ require('./dataunit-fetcher-449d51a3.js');
15
15
  require('./filter-item-type.enum-a7ffdaa6.js');
16
16
  require('./form-config-fetcher-90126e4c.js');
17
17
  const constants = require('./constants-241934b3.js');
@@ -9,12 +9,12 @@ const IFetchDataExporterParams = require('./IFetchDataExporterParams-e78ec415.js
9
9
  const index = require('./index-e3e39724.js');
10
10
  const constants = require('./constants-241934b3.js');
11
11
  const DataFetcher = require('./DataFetcher-65879b2c.js');
12
- const snkDataUnit = require('./snk-data-unit-c8096724.js');
12
+ const snkDataUnit = require('./snk-data-unit-bbd384bf.js');
13
13
  require('./pesquisa-fetcher-5c583c93.js');
14
14
  require('./ISave-e91b70a7.js');
15
15
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
16
16
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
17
- require('./dataunit-fetcher-8291ac21.js');
17
+ require('./dataunit-fetcher-449d51a3.js');
18
18
  require('./filter-item-type.enum-a7ffdaa6.js');
19
19
  require('./form-config-fetcher-90126e4c.js');
20
20
  require('./PrintUtils-bcaeb82f.js');
@@ -4,7 +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-bae64d0d.js');
7
- const dataunitFetcher = require('./dataunit-fetcher-8291ac21.js');
7
+ const dataunitFetcher = require('./dataunit-fetcher-449d51a3.js');
8
8
  const DataType = require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
9
9
  const GetSelectedRecordsIDsInfo = require('./GetSelectedRecordsIDsInfo-bd50caf1.js');
10
10
 
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const snkDataUnit = require('./snk-data-unit-c8096724.js');
5
+ const snkDataUnit = require('./snk-data-unit-bbd384bf.js');
6
6
  require('./index-f9e81701.js');
7
7
  require('@sankhyalabs/core');
8
8
  require('@sankhyalabs/ezui/dist/collection/utils');
9
9
  require('./SnkMessageBuilder-bae64d0d.js');
10
- require('./dataunit-fetcher-8291ac21.js');
10
+ require('./dataunit-fetcher-449d51a3.js');
11
11
  require('./DataFetcher-65879b2c.js');
12
12
  require('./PrintUtils-bcaeb82f.js');
13
13
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
@@ -12,12 +12,12 @@ const index$1 = require('./index-e3e39724.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
- require('./dataunit-fetcher-8291ac21.js');
15
+ require('./dataunit-fetcher-449d51a3.js');
16
16
  require('./filter-item-type.enum-a7ffdaa6.js');
17
17
  require('./form-config-fetcher-90126e4c.js');
18
18
  const constants = require('./constants-241934b3.js');
19
19
  const taskbarElements = require('./taskbar-elements-7e19882d.js');
20
- const snkGuidesViewer = require('./snk-guides-viewer-a029ff50.js');
20
+ const snkGuidesViewer = require('./snk-guides-viewer-5396062f.js');
21
21
  const SnkMessageBuilder = require('./SnkMessageBuilder-bae64d0d.js');
22
22
  require('./ConfigStorage-d024aec8.js');
23
23
  require('./PrintUtils-bcaeb82f.js');
@@ -9,14 +9,14 @@ const ConfigStorage = require('./ConfigStorage-d024aec8.js');
9
9
  const index$1 = require('./index-e3e39724.js');
10
10
  const fieldSearch = require('./field-search-68e34bf4.js');
11
11
  const index$2 = require('./index-102ba62d.js');
12
- const ClientSideExporterProvider = require('./ClientSideExporterProvider-6b781452.js');
12
+ const ClientSideExporterProvider = require('./ClientSideExporterProvider-2f5f350c.js');
13
13
  const DataUnit = require('@sankhyalabs/core/dist/dataunit/DataUnit');
14
14
  require('./DataFetcher-65879b2c.js');
15
15
  require('./pesquisa-fetcher-5c583c93.js');
16
16
  require('./ISave-e91b70a7.js');
17
17
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
18
18
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
19
- require('./dataunit-fetcher-8291ac21.js');
19
+ require('./dataunit-fetcher-449d51a3.js');
20
20
  require('./filter-item-type.enum-a7ffdaa6.js');
21
21
  require('./form-config-fetcher-90126e4c.js');
22
22
  require('./constants-241934b3.js');
@@ -13,7 +13,7 @@ const index$1 = require('./index-e3e39724.js');
13
13
  require('./ISave-e91b70a7.js');
14
14
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
15
15
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
16
- require('./dataunit-fetcher-8291ac21.js');
16
+ require('./dataunit-fetcher-449d51a3.js');
17
17
  require('./filter-item-type.enum-a7ffdaa6.js');
18
18
  require('./form-config-fetcher-90126e4c.js');
19
19
  const DataUnit = require('@sankhyalabs/core/dist/dataunit/DataUnit');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const snkGuidesViewer = require('./snk-guides-viewer-a029ff50.js');
5
+ const snkGuidesViewer = require('./snk-guides-viewer-5396062f.js');
6
6
  require('./index-f9e81701.js');
7
7
  require('@sankhyalabs/core');
8
8
  require('./SnkFormConfigManager-c11d8468.js');
@@ -21,7 +21,7 @@ require('./index-102ba62d.js');
21
21
  require('./pesquisa-fetcher-5c583c93.js');
22
22
  require('./ISave-e91b70a7.js');
23
23
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
24
- require('./dataunit-fetcher-8291ac21.js');
24
+ require('./dataunit-fetcher-449d51a3.js');
25
25
  require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
26
26
  require('@sankhyalabs/core/dist/utils/SortingUtils');
27
27
  require('./ResourceIDUtils-5ff86aa7.js');
@@ -10,7 +10,7 @@ require('./index-e3e39724.js');
10
10
  require('./ISave-e91b70a7.js');
11
11
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
12
12
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
13
- require('./dataunit-fetcher-8291ac21.js');
13
+ require('./dataunit-fetcher-449d51a3.js');
14
14
  require('./filter-item-type.enum-a7ffdaa6.js');
15
15
  require('./form-config-fetcher-90126e4c.js');
16
16
  require('./constants-241934b3.js');
@@ -9,12 +9,12 @@ const constants = require('./constants-241934b3.js');
9
9
  const taskbarElements = require('./taskbar-elements-7e19882d.js');
10
10
  require('./DataFetcher-65879b2c.js');
11
11
  require('./pesquisa-fetcher-5c583c93.js');
12
- const ClientSideExporterProvider = require('./ClientSideExporterProvider-6b781452.js');
12
+ const ClientSideExporterProvider = require('./ClientSideExporterProvider-2f5f350c.js');
13
13
  const index$1 = require('./index-e3e39724.js');
14
14
  require('./ISave-e91b70a7.js');
15
15
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
16
16
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
17
- const dataunitFetcher = require('./dataunit-fetcher-8291ac21.js');
17
+ const dataunitFetcher = require('./dataunit-fetcher-449d51a3.js');
18
18
  require('./filter-item-type.enum-a7ffdaa6.js');
19
19
  const formConfigFetcher = require('./form-config-fetcher-90126e4c.js');
20
20
  const fieldSearch = require('./field-search-68e34bf4.js');
@@ -1,9 +1,8 @@
1
- import { Action, ApplicationContext, StringUtils, } from '@sankhyalabs/core';
1
+ import { Action, ApplicationContext, DataUnitLoaderUtils, StringUtils, } from '@sankhyalabs/core';
2
2
  import { SaveErrorsEnum } from '../../../../../lib/http/data-fetcher/fetchers/AttachFetcher/interfaces';
3
3
  import { AutorizationType } from '../../../../../lib/http/data-fetcher/fetchers/auth-fetcher';
4
4
  import { attachFetcherMetadataBuilder } from '../../builder/attach-crud-config.builder';
5
5
  import { VIEW_MODE } from '../../../../../lib/utils/constants';
6
- import { buildLoadDataResponse } from '../../../../../lib/dataUnit/dataUnitInMemoryUtils';
7
6
  const SERVICE_LOAD = "Attach.load";
8
7
  export class AttachFetcherDataUnitFactory {
9
8
  constructor(getMessage) {
@@ -49,7 +48,7 @@ export class AttachFetcherDataUnitFactory {
49
48
  });
50
49
  this._records = records;
51
50
  }
52
- return buildLoadDataResponse(this._records, dataUnit, request);
51
+ return DataUnitLoaderUtils.buildLoadDataResponse(this._records, dataUnit, request);
53
52
  }
54
53
  saveLoader(changes, fetcher) {
55
54
  return new Promise((resolve) => {
@@ -1,117 +1,28 @@
1
- import { ChangeOperation, DataType, DataUnit, DateUtils, StringUtils, } from '@sankhyalabs/core';
2
- import { buildLoadDataResponse } from './dataUnitInMemoryUtils';
1
+ import { DataUnitInMemoryLoader } from '@sankhyalabs/core';
3
2
  export default class InMemoryLoader {
4
3
  constructor(metadata, records, config) {
5
- this.metadata = metadata;
6
- this.records = records;
7
- this._dataUnit = new DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
8
- this._dataUnit.pageSize = 150;
9
- this._dataUnit.metadataLoader = () => this.metadaLoader();
10
- this._dataUnit.dataLoader = (dataUnit, request) => this.inMemoryLoader(dataUnit, request, this.getRecordsToLoad());
11
- this._dataUnit.saveLoader = (_dataUnit, changes) => this.saveLoader(_dataUnit, changes);
12
- this._dataUnit.removeLoader = (_dataUnit, recordIds) => this.removeLoader(_dataUnit, recordIds);
13
- this.dataUnit.loadMetadata().then(() => {
14
- if ((config === null || config === void 0 ? void 0 : config.autoLoad) !== false) {
15
- this.dataUnit.loadData();
16
- }
17
- });
18
- }
19
- getRecordsToLoad() {
20
- if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
21
- this._initialRecords = this.dataUnit.records;
22
- }
23
- const addedRecords = this.dataUnit.getAddedRecords();
24
- if (addedRecords) {
25
- return [...this._initialRecords, ...addedRecords];
26
- }
27
- return this._initialRecords;
4
+ this._dataUnitInMemoryLoader = new DataUnitInMemoryLoader(metadata, records, config);
28
5
  }
29
6
  get dataUnit() {
30
- return this._dataUnit;
7
+ return this._dataUnitInMemoryLoader.dataUnit;
31
8
  }
32
9
  get records() {
33
- return this.dataUnit.records;
34
- }
35
- static getConvertedValue(descriptor, strValue) {
36
- if (descriptor.dataType === DataType.BOOLEAN) {
37
- return strValue === "S";
38
- }
39
- if (descriptor.dataType === DataType.NUMBER) {
40
- return Number(strValue);
41
- }
42
- if (descriptor.dataType === DataType.DATE) {
43
- return DateUtils.strToDate(strValue, true);
44
- }
45
- if (descriptor.dataType === DataType.OBJECT) {
46
- return JSON.parse(strValue);
47
- }
48
- return strValue;
10
+ return this._dataUnitInMemoryLoader.records;
49
11
  }
50
12
  set records(records) {
51
- const columns = this._metadata ? new Map(this._metadata.fields.map(descriptor => [descriptor.name, descriptor])) : undefined;
52
- const newRecords = records === null || records === void 0 ? void 0 : records.map(record => {
53
- if (!record["__record__id__"]) {
54
- record["__record__id__"] = this.generateUniqueId();
55
- }
56
- if (columns != undefined) {
57
- for (const name in record) {
58
- const value = record[name];
59
- if (typeof value === "string" && columns.has(name)) {
60
- record[name] = InMemoryLoader.getConvertedValue(columns.get(name), value);
61
- }
62
- }
63
- }
64
- return record;
65
- });
66
- this._initialRecords = newRecords;
67
- if (this._dataUnit) {
68
- //Isso força o refresh internamente no datunit
69
- this._dataUnit.loadData();
70
- }
13
+ this._dataUnitInMemoryLoader.records = records;
71
14
  }
72
15
  get metadata() {
73
- return this._metadata;
16
+ return this._dataUnitInMemoryLoader.metadata;
74
17
  }
75
18
  set metadata(metadata) {
76
- this._metadata = metadata;
77
- if (this._dataUnit) {
78
- this._dataUnit.metadata = this._metadata;
79
- }
80
- }
81
- generateUniqueId() {
82
- return StringUtils.generateUUID();
83
- }
84
- inMemoryLoader(dataUnit, request, recordsIn) {
85
- return buildLoadDataResponse(recordsIn, dataUnit, request);
86
- }
87
- metadaLoader() {
88
- return Promise.resolve(this._metadata);
89
- }
90
- saveLoader(_dataUnit, changes) {
91
- return new Promise((resolve) => {
92
- let dataUnitRecords = [];
93
- changes.forEach(change => {
94
- let { record, updatingFields, operation } = change;
95
- const changedRecord = Object.assign(Object.assign({}, record), updatingFields);
96
- if (operation === ChangeOperation.INSERT ||
97
- operation === ChangeOperation.COPY) {
98
- changedRecord["__old__id__"] = record["__record__id__"];
99
- changedRecord["__record__id__"] = this.generateUniqueId();
100
- this.records.push(changedRecord);
101
- }
102
- else {
103
- const recordIndex = this.records.findIndex(r => r["__record__id__"] == changedRecord["__record__id__"]);
104
- this.records[recordIndex] = changedRecord;
105
- }
106
- dataUnitRecords.push(changedRecord);
107
- });
108
- resolve(dataUnitRecords);
109
- });
19
+ this._dataUnitInMemoryLoader.metadata = metadata;
110
20
  }
111
21
  removeLoader(_dataUnit, recordIds) {
112
- return new Promise((resolve) => {
113
- resolve(recordIds);
114
- });
22
+ return this._dataUnitInMemoryLoader.removeLoader(_dataUnit, recordIds);
23
+ }
24
+ static getConvertedValue(descriptor, strValue, dateFormat) {
25
+ return DataUnitInMemoryLoader.getConvertedValue(descriptor, strValue, dateFormat);
115
26
  }
116
27
  }
117
- InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = "InMemoryDataUnit";
28
+ InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = DataUnitInMemoryLoader.IN_MEMORY_DATA_UNIT_NAME;
@@ -1,62 +1,16 @@
1
- import { ColumnFilterManager } from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
2
- import PreloadManager from '../http/data-fetcher/fetchers/data-unit/cache/PreloadManager';
1
+ import { DataUnitLoaderUtils, } from '@sankhyalabs/core';
3
2
  export function applyFilter(records, dataUnit, filters) {
4
- const columnFilters = ColumnFilterManager.getColumnFilters(filters, "");
5
- if (!(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.size)) {
6
- return records;
7
- }
8
- const filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
9
- if (filterFunction == undefined) {
10
- return records;
11
- }
12
- return records.filter(filterFunction);
3
+ return DataUnitLoaderUtils.applyFilter(records, dataUnit, filters);
13
4
  }
14
5
  export function buildLoadDataResponse(recordsIn, dataUnit, request) {
15
- let records = recordsIn ? [...recordsIn] : [];
16
- records = applyFilter(records, dataUnit, request.filters);
17
- records = applySorting(records, dataUnit, request.sort);
18
- const { offset, limit } = request;
19
- const paginationInfoBuilderParams = {
20
- recordsLength: records.length,
21
- offset,
22
- recordsPerPage: limit,
23
- };
24
- return Promise.resolve({
25
- records: getPagesByRecords(records, offset, limit),
26
- paginationInfo: dataUnit.pageSize ? buildPaginationInfo(paginationInfoBuilderParams) : undefined,
27
- });
6
+ return DataUnitLoaderUtils.buildLoadDataResponse(recordsIn, dataUnit, request);
28
7
  }
29
8
  export function applySorting(records, dataUnit, sorting) {
30
- if (sorting == undefined || sorting.length == 0) {
31
- return records;
32
- }
33
- const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
34
- if (sortingFunction == undefined) {
35
- return records;
36
- }
37
- return records.sort(sortingFunction);
38
- }
39
- function hasValidLimitAndOffset(offset, limit) {
40
- return offset >= 0 && limit >= 0;
9
+ return DataUnitLoaderUtils.applySorting(records, dataUnit, sorting);
41
10
  }
42
11
  export function getPagesByRecords(records, offset = 0, limit = 0) {
43
- if (!records || !records.length || !hasValidLimitAndOffset(offset, limit))
44
- return [];
45
- if (limit === 0 && offset === 0)
46
- return records;
47
- return records.slice(offset, offset + limit);
12
+ return DataUnitLoaderUtils.getPagesByRecords(records, offset, limit);
48
13
  }
49
- export function buildPaginationInfo({ recordsLength = 0, offset = 0, recordsPerPage = 0 }) {
50
- if (!recordsLength) {
51
- return { currentPage: 0, firstRecord: 0, lastRecord: 0, total: 0, hasMore: false };
52
- }
53
- const lastRecordIndex = offset + recordsPerPage;
54
- const lastRecord = lastRecordIndex ? Math.min(lastRecordIndex, recordsLength) : recordsLength;
55
- return {
56
- currentPage: recordsPerPage === 0 ? 0 : Math.ceil(offset / recordsPerPage),
57
- firstRecord: offset + 1,
58
- lastRecord: lastRecord,
59
- total: recordsLength,
60
- hasMore: lastRecord < recordsLength,
61
- };
14
+ export function buildPaginationInfo({ recordsLength = 0, offset = 0, recordsPerPage = 0, }) {
15
+ return DataUnitLoaderUtils.buildPaginationInfo({ recordsLength, offset, recordsPerPage });
62
16
  }