@sankhyalabs/sankhyablocks 8.16.0-dev.79 → 8.16.0-dev.80

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. package/dist/cjs/{ContinuousInsertUtils-aa63f0a9.js → ContinuousInsertUtils-c27b439e.js} +1 -1
  2. package/dist/cjs/{dataunit-fetcher-c32fdff7.js → dataunit-fetcher-8291ac21.js} +21 -7
  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 +1 -1
  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-2c7c1964.js → snk-data-unit-d75e6220.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-c1c56eca.js → snk-guides-viewer-bff0d27d.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/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  18. package/dist/components/dataunit-fetcher.js +21 -7
  19. package/dist/esm/{ContinuousInsertUtils-af683684.js → ContinuousInsertUtils-6bf78c5e.js} +1 -1
  20. package/dist/esm/{dataunit-fetcher-26c2bed4.js → dataunit-fetcher-5247a708.js} +21 -7
  21. package/dist/esm/pesquisa-grid_2.entry.js +1 -1
  22. package/dist/esm/snk-actions-button_5.entry.js +1 -1
  23. package/dist/esm/snk-application.entry.js +1 -1
  24. package/dist/esm/snk-attach.entry.js +1 -1
  25. package/dist/esm/snk-crud.entry.js +1 -1
  26. package/dist/esm/snk-data-exporter.entry.js +2 -2
  27. package/dist/esm/{snk-data-unit-a36df23f.js → snk-data-unit-bfd10c71.js} +1 -1
  28. package/dist/esm/snk-data-unit.entry.js +2 -2
  29. package/dist/esm/snk-detail-view.entry.js +2 -2
  30. package/dist/esm/snk-grid.entry.js +2 -2
  31. package/dist/esm/{snk-guides-viewer-2b96b7f7.js → snk-guides-viewer-454ebc07.js} +1 -1
  32. package/dist/esm/snk-guides-viewer.entry.js +2 -2
  33. package/dist/esm/snk-pesquisa.entry.js +1 -1
  34. package/dist/esm/snk-simple-crud.entry.js +2 -2
  35. package/dist/sankhyablocks/{p-15f5f702.js → p-03e6825e.js} +1 -1
  36. package/dist/sankhyablocks/p-38179225.js +60 -0
  37. package/dist/sankhyablocks/{p-c6aefba8.js → p-478ab2b6.js} +1 -1
  38. package/dist/sankhyablocks/{p-e9cd0aab.entry.js → p-50bf8dbc.entry.js} +1 -1
  39. package/dist/sankhyablocks/{p-7d0627f4.entry.js → p-643b2aaa.entry.js} +1 -1
  40. package/dist/sankhyablocks/{p-70ae0779.js → p-655bdd60.js} +1 -1
  41. package/dist/sankhyablocks/{p-6f546ad9.entry.js → p-6fc8bfa2.entry.js} +1 -1
  42. package/dist/sankhyablocks/{p-80dd8976.entry.js → p-73b037a8.entry.js} +1 -1
  43. package/dist/sankhyablocks/{p-78e91134.entry.js → p-8ad7c8bc.entry.js} +1 -1
  44. package/dist/sankhyablocks/{p-538b3174.entry.js → p-91e34755.entry.js} +1 -1
  45. package/dist/sankhyablocks/{p-c4d87e71.entry.js → p-9a99c67b.entry.js} +1 -1
  46. package/dist/sankhyablocks/{p-43d58b74.entry.js → p-a04f38aa.entry.js} +1 -1
  47. package/dist/sankhyablocks/{p-c9eb2bf5.entry.js → p-ae26e8d0.entry.js} +1 -1
  48. package/dist/sankhyablocks/{p-1c3d6e96.entry.js → p-bd234604.entry.js} +1 -1
  49. package/dist/sankhyablocks/{p-0c50ba37.entry.js → p-d9bb48c4.entry.js} +1 -1
  50. package/dist/sankhyablocks/{p-045398fb.entry.js → p-f8db6795.entry.js} +1 -1
  51. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  52. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  53. package/package.json +1 -1
  54. package/dist/sankhyablocks/p-78d49c74.js +0 -60
@@ -7,7 +7,7 @@ require('./index-1dfc7a6e.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-c32fdff7.js');
10
+ const dataunitFetcher = require('./dataunit-fetcher-8291ac21.js');
11
11
  require('./filter-item-type.enum-a7ffdaa6.js');
12
12
  require('./form-config-fetcher-90126e4c.js');
13
13
  require('./constants-241934b3.js');
@@ -15,6 +15,9 @@ const SortingUtils__default = /*#__PURE__*/_interopDefaultLegacy(SortingUtils);
15
15
  class ArrayRepository {
16
16
  constructor(equalsFunction) {
17
17
  this._list = [];
18
+ this._listCopy = [];
19
+ this._listLastUpdate = 0;
20
+ this._listCopyLastUpdate = 0;
18
21
  this._equalsFunction = equalsFunction;
19
22
  }
20
23
  async load(filterFunction, sortingFunction, offset, limit) {
@@ -53,13 +56,13 @@ class ArrayRepository {
53
56
  return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
54
57
  }
55
58
  async push(items) {
56
- this._list.push(...items);
59
+ this.updateList([...this._list, ...items]);
57
60
  }
58
61
  async clear() {
59
- this._list = [];
62
+ this.updateList([]);
60
63
  }
61
64
  async delete(items) {
62
- this._list = this._list.filter(item => {
65
+ const list = this._list.filter(item => {
63
66
  for (const removed of items) {
64
67
  if (this._equalsFunction(item, removed)) {
65
68
  return false;
@@ -67,20 +70,23 @@ class ArrayRepository {
67
70
  }
68
71
  return true;
69
72
  });
73
+ this.updateList(list);
70
74
  }
71
75
  async update(items) {
72
- this._list = this._list.map(existingItem => {
76
+ const list = this._list.map(existingItem => {
73
77
  const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
74
78
  return newItem == undefined ? existingItem : newItem;
75
79
  });
80
+ this.updateList(list);
76
81
  }
77
82
  async insert(itemReference, items) {
78
83
  const itemPosition = this._list.indexOf(itemReference);
79
84
  if (itemPosition == -1) {
80
- this._list.push(...items);
85
+ this.push(items);
81
86
  return;
82
87
  }
83
- this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
88
+ const list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
89
+ this.updateList(list);
84
90
  }
85
91
  isOperating() {
86
92
  return true;
@@ -92,7 +98,15 @@ class ArrayRepository {
92
98
  return Promise.resolve(this._list.length);
93
99
  }
94
100
  getFromCache() {
95
- return core.ObjectUtils.copy(this._list);
101
+ if (this._listLastUpdate > this._listCopyLastUpdate) {
102
+ this._listCopyLastUpdate = this._listLastUpdate;
103
+ this._listCopy = core.ObjectUtils.copy(this._list);
104
+ }
105
+ return this._listCopy;
106
+ }
107
+ updateList(newList) {
108
+ this._list = newList;
109
+ this._listLastUpdate = Date.now();
96
110
  }
97
111
  }
98
112
 
@@ -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-c32fdff7.js');
6
+ const dataunitFetcher = require('./dataunit-fetcher-8291ac21.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-1dfc7a6e.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-c32fdff7.js');
14
+ require('./dataunit-fetcher-8291ac21.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-c32fdff7.js');
11
+ const dataunitFetcher = require('./dataunit-fetcher-8291ac21.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-1dfc7a6e.js');
10
10
  const ISave = require('./ISave-e91b70a7.js');
11
- const dataunitFetcher = require('./dataunit-fetcher-c32fdff7.js');
11
+ const dataunitFetcher = require('./dataunit-fetcher-8291ac21.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');
@@ -11,7 +11,7 @@ const index$1 = require('./index-1dfc7a6e.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-c32fdff7.js');
14
+ require('./dataunit-fetcher-8291ac21.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');
@@ -8,12 +8,12 @@ const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
8
  const index = require('./index-1dfc7a6e.js');
9
9
  const constants = require('./constants-241934b3.js');
10
10
  const DataFetcher = require('./DataFetcher-65879b2c.js');
11
- const snkDataUnit = require('./snk-data-unit-2c7c1964.js');
11
+ const snkDataUnit = require('./snk-data-unit-d75e6220.js');
12
12
  require('./pesquisa-fetcher-5c583c93.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-c32fdff7.js');
16
+ require('./dataunit-fetcher-8291ac21.js');
17
17
  require('./filter-item-type.enum-a7ffdaa6.js');
18
18
  require('./form-config-fetcher-90126e4c.js');
19
19
  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-c32fdff7.js');
7
+ const dataunitFetcher = require('./dataunit-fetcher-8291ac21.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-2c7c1964.js');
5
+ const snkDataUnit = require('./snk-data-unit-d75e6220.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-c32fdff7.js');
10
+ require('./dataunit-fetcher-8291ac21.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-1dfc7a6e.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-c32fdff7.js');
15
+ require('./dataunit-fetcher-8291ac21.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-9ad1f9c0.js');
20
- const snkGuidesViewer = require('./snk-guides-viewer-c1c56eca.js');
20
+ const snkGuidesViewer = require('./snk-guides-viewer-bff0d27d.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-1dfc7a6e.js');
10
10
  const fieldSearch = require('./field-search-68e34bf4.js');
11
11
  const index$2 = require('./index-102ba62d.js');
12
- const ContinuousInsertUtils = require('./ContinuousInsertUtils-aa63f0a9.js');
12
+ const ContinuousInsertUtils = require('./ContinuousInsertUtils-c27b439e.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-c32fdff7.js');
19
+ require('./dataunit-fetcher-8291ac21.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-1dfc7a6e.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-c32fdff7.js');
16
+ require('./dataunit-fetcher-8291ac21.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-c1c56eca.js');
5
+ const snkGuidesViewer = require('./snk-guides-viewer-bff0d27d.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-c32fdff7.js');
24
+ require('./dataunit-fetcher-8291ac21.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-1dfc7a6e.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-c32fdff7.js');
13
+ require('./dataunit-fetcher-8291ac21.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-9ad1f9c0.js');
10
10
  require('./DataFetcher-65879b2c.js');
11
11
  require('./pesquisa-fetcher-5c583c93.js');
12
- const ContinuousInsertUtils = require('./ContinuousInsertUtils-aa63f0a9.js');
12
+ const ContinuousInsertUtils = require('./ContinuousInsertUtils-c27b439e.js');
13
13
  const index = require('./index-1dfc7a6e.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-c32fdff7.js');
17
+ const dataunitFetcher = require('./dataunit-fetcher-8291ac21.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');
@@ -2,6 +2,9 @@ import { ObjectUtils } from "@sankhyalabs/core";
2
2
  export class ArrayRepository {
3
3
  constructor(equalsFunction) {
4
4
  this._list = [];
5
+ this._listCopy = [];
6
+ this._listLastUpdate = 0;
7
+ this._listCopyLastUpdate = 0;
5
8
  this._equalsFunction = equalsFunction;
6
9
  }
7
10
  async load(filterFunction, sortingFunction, offset, limit) {
@@ -40,13 +43,13 @@ export class ArrayRepository {
40
43
  return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
41
44
  }
42
45
  async push(items) {
43
- this._list.push(...items);
46
+ this.updateList([...this._list, ...items]);
44
47
  }
45
48
  async clear() {
46
- this._list = [];
49
+ this.updateList([]);
47
50
  }
48
51
  async delete(items) {
49
- this._list = this._list.filter(item => {
52
+ const list = this._list.filter(item => {
50
53
  for (const removed of items) {
51
54
  if (this._equalsFunction(item, removed)) {
52
55
  return false;
@@ -54,20 +57,23 @@ export class ArrayRepository {
54
57
  }
55
58
  return true;
56
59
  });
60
+ this.updateList(list);
57
61
  }
58
62
  async update(items) {
59
- this._list = this._list.map(existingItem => {
63
+ const list = this._list.map(existingItem => {
60
64
  const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
61
65
  return newItem == undefined ? existingItem : newItem;
62
66
  });
67
+ this.updateList(list);
63
68
  }
64
69
  async insert(itemReference, items) {
65
70
  const itemPosition = this._list.indexOf(itemReference);
66
71
  if (itemPosition == -1) {
67
- this._list.push(...items);
72
+ this.push(items);
68
73
  return;
69
74
  }
70
- this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
75
+ const list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
76
+ this.updateList(list);
71
77
  }
72
78
  isOperating() {
73
79
  return true;
@@ -79,6 +85,14 @@ export class ArrayRepository {
79
85
  return Promise.resolve(this._list.length);
80
86
  }
81
87
  getFromCache() {
82
- return ObjectUtils.copy(this._list);
88
+ if (this._listLastUpdate > this._listCopyLastUpdate) {
89
+ this._listCopyLastUpdate = this._listLastUpdate;
90
+ this._listCopy = ObjectUtils.copy(this._list);
91
+ }
92
+ return this._listCopy;
93
+ }
94
+ updateList(newList) {
95
+ this._list = newList;
96
+ this._listLastUpdate = Date.now();
83
97
  }
84
98
  }
@@ -9,6 +9,9 @@ import { R as ResourceIDUtils } from './ResourceIDUtils.js';
9
9
  class ArrayRepository {
10
10
  constructor(equalsFunction) {
11
11
  this._list = [];
12
+ this._listCopy = [];
13
+ this._listLastUpdate = 0;
14
+ this._listCopyLastUpdate = 0;
12
15
  this._equalsFunction = equalsFunction;
13
16
  }
14
17
  async load(filterFunction, sortingFunction, offset, limit) {
@@ -47,13 +50,13 @@ class ArrayRepository {
47
50
  return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
48
51
  }
49
52
  async push(items) {
50
- this._list.push(...items);
53
+ this.updateList([...this._list, ...items]);
51
54
  }
52
55
  async clear() {
53
- this._list = [];
56
+ this.updateList([]);
54
57
  }
55
58
  async delete(items) {
56
- this._list = this._list.filter(item => {
59
+ const list = this._list.filter(item => {
57
60
  for (const removed of items) {
58
61
  if (this._equalsFunction(item, removed)) {
59
62
  return false;
@@ -61,20 +64,23 @@ class ArrayRepository {
61
64
  }
62
65
  return true;
63
66
  });
67
+ this.updateList(list);
64
68
  }
65
69
  async update(items) {
66
- this._list = this._list.map(existingItem => {
70
+ const list = this._list.map(existingItem => {
67
71
  const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
68
72
  return newItem == undefined ? existingItem : newItem;
69
73
  });
74
+ this.updateList(list);
70
75
  }
71
76
  async insert(itemReference, items) {
72
77
  const itemPosition = this._list.indexOf(itemReference);
73
78
  if (itemPosition == -1) {
74
- this._list.push(...items);
79
+ this.push(items);
75
80
  return;
76
81
  }
77
- this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
82
+ const list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
83
+ this.updateList(list);
78
84
  }
79
85
  isOperating() {
80
86
  return true;
@@ -86,7 +92,15 @@ class ArrayRepository {
86
92
  return Promise.resolve(this._list.length);
87
93
  }
88
94
  getFromCache() {
89
- return ObjectUtils.copy(this._list);
95
+ if (this._listLastUpdate > this._listCopyLastUpdate) {
96
+ this._listCopyLastUpdate = this._listLastUpdate;
97
+ this._listCopy = ObjectUtils.copy(this._list);
98
+ }
99
+ return this._listCopy;
100
+ }
101
+ updateList(newList) {
102
+ this._list = newList;
103
+ this._listLastUpdate = Date.now();
90
104
  }
91
105
  }
92
106
 
@@ -5,7 +5,7 @@ import './index-3aa4977a.js';
5
5
  import './ISave-d8c8bc59.js';
6
6
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
7
7
  import { UserInterface as UserInterface$1 } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
8
- import { P as PreloadManager } from './dataunit-fetcher-26c2bed4.js';
8
+ import { P as PreloadManager } from './dataunit-fetcher-5247a708.js';
9
9
  import './filter-item-type.enum-d45e026f.js';
10
10
  import './form-config-fetcher-126e2471.js';
11
11
  import './constants-75abb876.js';
@@ -9,6 +9,9 @@ import { R as ResourceIDUtils } from './ResourceIDUtils-a114189a.js';
9
9
  class ArrayRepository {
10
10
  constructor(equalsFunction) {
11
11
  this._list = [];
12
+ this._listCopy = [];
13
+ this._listLastUpdate = 0;
14
+ this._listCopyLastUpdate = 0;
12
15
  this._equalsFunction = equalsFunction;
13
16
  }
14
17
  async load(filterFunction, sortingFunction, offset, limit) {
@@ -47,13 +50,13 @@ class ArrayRepository {
47
50
  return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
48
51
  }
49
52
  async push(items) {
50
- this._list.push(...items);
53
+ this.updateList([...this._list, ...items]);
51
54
  }
52
55
  async clear() {
53
- this._list = [];
56
+ this.updateList([]);
54
57
  }
55
58
  async delete(items) {
56
- this._list = this._list.filter(item => {
59
+ const list = this._list.filter(item => {
57
60
  for (const removed of items) {
58
61
  if (this._equalsFunction(item, removed)) {
59
62
  return false;
@@ -61,20 +64,23 @@ class ArrayRepository {
61
64
  }
62
65
  return true;
63
66
  });
67
+ this.updateList(list);
64
68
  }
65
69
  async update(items) {
66
- this._list = this._list.map(existingItem => {
70
+ const list = this._list.map(existingItem => {
67
71
  const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
68
72
  return newItem == undefined ? existingItem : newItem;
69
73
  });
74
+ this.updateList(list);
70
75
  }
71
76
  async insert(itemReference, items) {
72
77
  const itemPosition = this._list.indexOf(itemReference);
73
78
  if (itemPosition == -1) {
74
- this._list.push(...items);
79
+ this.push(items);
75
80
  return;
76
81
  }
77
- this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
82
+ const list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
83
+ this.updateList(list);
78
84
  }
79
85
  isOperating() {
80
86
  return true;
@@ -86,7 +92,15 @@ class ArrayRepository {
86
92
  return Promise.resolve(this._list.length);
87
93
  }
88
94
  getFromCache() {
89
- return ObjectUtils.copy(this._list);
95
+ if (this._listLastUpdate > this._listCopyLastUpdate) {
96
+ this._listCopyLastUpdate = this._listLastUpdate;
97
+ this._listCopy = ObjectUtils.copy(this._list);
98
+ }
99
+ return this._listCopy;
100
+ }
101
+ updateList(newList) {
102
+ this._list = newList;
103
+ this._listLastUpdate = Date.now();
90
104
  }
91
105
  }
92
106
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, F as Fragment } from './index-a7d3d3f1.js';
2
- import { I as InMemoryLoader } from './dataunit-fetcher-26c2bed4.js';
2
+ import { I as InMemoryLoader } from './dataunit-fetcher-5247a708.js';
3
3
  import './DataFetcher-5221b992.js';
4
4
  import { P as PesquisaFetcher } from './pesquisa-fetcher-4284f2a3.js';
5
5
  import '@sankhyalabs/core';
@@ -7,7 +7,7 @@ import './index-3aa4977a.js';
7
7
  import './ISave-d8c8bc59.js';
8
8
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
9
9
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
10
- import './dataunit-fetcher-26c2bed4.js';
10
+ import './dataunit-fetcher-5247a708.js';
11
11
  import './filter-item-type.enum-d45e026f.js';
12
12
  import { F as FormConfigFetcher } from './form-config-fetcher-126e2471.js';
13
13
  import { O as ORDER_VALUES } from './constants-75abb876.js';
@@ -4,7 +4,7 @@ import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { C as ConfigStorage } from './ConfigStorage-373bb440.js';
5
5
  import { d as dist, D as DataFetcher, U as UrlUtils } from './DataFetcher-5221b992.js';
6
6
  import { A as AutorizationType, a as AuthFetcher } from './auth-fetcher-e32fe8a4.js';
7
- import { P as PreloadManager, D as DataUnitFetcher } from './dataunit-fetcher-26c2bed4.js';
7
+ import { P as PreloadManager, D as DataUnitFetcher } from './dataunit-fetcher-5247a708.js';
8
8
  import { P as PesquisaFetcher } from './pesquisa-fetcher-4284f2a3.js';
9
9
  import { S as SnkMessageBuilder } from './SnkMessageBuilder-6fff4a4c.js';
10
10
  import { T as TEMPLATES_SKELETON } from './constants-75abb876.js';
@@ -4,7 +4,7 @@ import { D as DataFetcher } from './DataFetcher-5221b992.js';
4
4
  import './pesquisa-fetcher-4284f2a3.js';
5
5
  import './index-3aa4977a.js';
6
6
  import { S as SaveErrorsEnum } from './ISave-d8c8bc59.js';
7
- import { P as PreloadManager, b as buildLoadDataResponse, D as DataUnitFetcher, I as InMemoryLoader } from './dataunit-fetcher-26c2bed4.js';
7
+ import { P as PreloadManager, b as buildLoadDataResponse, D as DataUnitFetcher, I as InMemoryLoader } from './dataunit-fetcher-5247a708.js';
8
8
  import './filter-item-type.enum-d45e026f.js';
9
9
  import './form-config-fetcher-126e2471.js';
10
10
  import { V as VIEW_MODE } from './constants-75abb876.js';
@@ -7,7 +7,7 @@ import { P as PresentationMode } from './index-3aa4977a.js';
7
7
  import './ISave-d8c8bc59.js';
8
8
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
9
9
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
10
- import './dataunit-fetcher-26c2bed4.js';
10
+ import './dataunit-fetcher-5247a708.js';
11
11
  import './filter-item-type.enum-d45e026f.js';
12
12
  import './form-config-fetcher-126e2471.js';
13
13
  import { V as VIEW_MODE } from './constants-75abb876.js';
@@ -4,12 +4,12 @@ import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/
4
4
  import { D as DataExporterOption, a as DataExporterType, b as DataExporterFormat } from './index-3aa4977a.js';
5
5
  import { R as REPORT_LAUNCHER_RESOURCE_ID } from './constants-75abb876.js';
6
6
  import { D as DataFetcher } from './DataFetcher-5221b992.js';
7
- import { S as SnkDataUnit } from './snk-data-unit-a36df23f.js';
7
+ import { S as SnkDataUnit } from './snk-data-unit-bfd10c71.js';
8
8
  import './pesquisa-fetcher-4284f2a3.js';
9
9
  import './ISave-d8c8bc59.js';
10
10
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
11
11
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
12
- import './dataunit-fetcher-26c2bed4.js';
12
+ import './dataunit-fetcher-5247a708.js';
13
13
  import './filter-item-type.enum-d45e026f.js';
14
14
  import './form-config-fetcher-126e2471.js';
15
15
  import './PrintUtils-3e4ff0f5.js';
@@ -2,7 +2,7 @@ import { r as registerInstance, c as createEvent, h, g as getElement, H as Host
2
2
  import { Action, ObjectUtils, DataUnitAction, StringUtils, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { O as OperationMap, S as SnkMessageBuilder } from './SnkMessageBuilder-6fff4a4c.js';
5
- import { g as getRecordValue, a as DatasetStrategy } from './dataunit-fetcher-26c2bed4.js';
5
+ import { g as getRecordValue, a as DatasetStrategy } from './dataunit-fetcher-5247a708.js';
6
6
  import { convertType } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
7
7
  import { g as getSelectedRecordsIDsInfo } from './GetSelectedRecordsIDsInfo-9fa41508.js';
8
8
 
@@ -1,9 +1,9 @@
1
- export { S as snk_data_unit } from './snk-data-unit-a36df23f.js';
1
+ export { S as snk_data_unit } from './snk-data-unit-bfd10c71.js';
2
2
  import './index-a7d3d3f1.js';
3
3
  import '@sankhyalabs/core';
4
4
  import '@sankhyalabs/ezui/dist/collection/utils';
5
5
  import './SnkMessageBuilder-6fff4a4c.js';
6
- import './dataunit-fetcher-26c2bed4.js';
6
+ import './dataunit-fetcher-5247a708.js';
7
7
  import './DataFetcher-5221b992.js';
8
8
  import './PrintUtils-3e4ff0f5.js';
9
9
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
@@ -8,12 +8,12 @@ import { P as PresentationMode } from './index-3aa4977a.js';
8
8
  import './ISave-d8c8bc59.js';
9
9
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
10
10
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
11
- import './dataunit-fetcher-26c2bed4.js';
11
+ import './dataunit-fetcher-5247a708.js';
12
12
  import './filter-item-type.enum-d45e026f.js';
13
13
  import './form-config-fetcher-126e2471.js';
14
14
  import { V as VIEW_MODE } from './constants-75abb876.js';
15
15
  import { T as TaskbarElement } from './taskbar-elements-d59867f1.js';
16
- import { S as SnkGuidesViewer } from './snk-guides-viewer-2b96b7f7.js';
16
+ import { S as SnkGuidesViewer } from './snk-guides-viewer-454ebc07.js';
17
17
  import { S as SnkMessageBuilder } from './SnkMessageBuilder-6fff4a4c.js';
18
18
  import './ConfigStorage-373bb440.js';
19
19
  import './PrintUtils-3e4ff0f5.js';
@@ -5,14 +5,14 @@ import { C as ConfigStorage } from './ConfigStorage-373bb440.js';
5
5
  import { P as PresentationMode } from './index-3aa4977a.js';
6
6
  import { T as TaskbarProcessor, o as openFieldSearch, b as buildFieldSearch } from './field-search-f8b1d91e.js';
7
7
  import { s as store } from './index-bdf75557.js';
8
- import { C as CommonsExporter, S as SnkMultiSelectionListDataSource, a as CrudUtils, R as RmPrecisionCustomValueFormatter, b as ContinuousInsertUtils } from './ContinuousInsertUtils-af683684.js';
8
+ import { C as CommonsExporter, S as SnkMultiSelectionListDataSource, a as CrudUtils, R as RmPrecisionCustomValueFormatter, b as ContinuousInsertUtils } from './ContinuousInsertUtils-6bf78c5e.js';
9
9
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
10
10
  import './DataFetcher-5221b992.js';
11
11
  import './pesquisa-fetcher-4284f2a3.js';
12
12
  import './ISave-d8c8bc59.js';
13
13
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
14
14
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
15
- import './dataunit-fetcher-26c2bed4.js';
15
+ import './dataunit-fetcher-5247a708.js';
16
16
  import './filter-item-type.enum-d45e026f.js';
17
17
  import './form-config-fetcher-126e2471.js';
18
18
  import './constants-75abb876.js';
@@ -11,7 +11,7 @@ import { P as PresentationMode } from './index-3aa4977a.js';
11
11
  import './ISave-d8c8bc59.js';
12
12
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
13
13
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
14
- import './dataunit-fetcher-26c2bed4.js';
14
+ import './dataunit-fetcher-5247a708.js';
15
15
  import './filter-item-type.enum-d45e026f.js';
16
16
  import './form-config-fetcher-126e2471.js';
17
17
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
@@ -1,4 +1,4 @@
1
- export { S as snk_guides_viewer } from './snk-guides-viewer-2b96b7f7.js';
1
+ export { S as snk_guides_viewer } from './snk-guides-viewer-454ebc07.js';
2
2
  import './index-a7d3d3f1.js';
3
3
  import '@sankhyalabs/core';
4
4
  import './SnkFormConfigManager-5022f87f.js';
@@ -17,7 +17,7 @@ import './index-bdf75557.js';
17
17
  import './pesquisa-fetcher-4284f2a3.js';
18
18
  import './ISave-d8c8bc59.js';
19
19
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
20
- import './dataunit-fetcher-26c2bed4.js';
20
+ import './dataunit-fetcher-5247a708.js';
21
21
  import '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
22
22
  import '@sankhyalabs/core/dist/utils/SortingUtils';
23
23
  import './ResourceIDUtils-a114189a.js';