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

Sign up to get free protection for your applications and to get access to all the features.
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
  }