@sankhyalabs/sankhyablocks 8.8.0-rc.9 → 8.8.1
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.
- package/dist/cjs/{ConfigStorage-908ce5bc.js → ConfigStorage-c15716fd.js} +3 -0
- package/dist/cjs/PreloadManager-84466da6.js +224 -0
- package/dist/cjs/{SnkFormConfigManager-793ade39.js → SnkFormConfigManager-29101e20.js} +1 -1
- package/dist/cjs/{SnkMultiSelectionListDataSource-f000a53f.js → SnkMultiSelectionListDataSource-ba5838c2.js} +10 -6
- package/dist/cjs/{dataunit-fetcher-e86cba8a.js → dataunit-fetcher-af1c655d.js} +57 -280
- package/dist/cjs/snk-actions-button.cjs.entry.js +3 -1
- package/dist/cjs/snk-application.cjs.entry.js +4 -2
- package/dist/cjs/snk-attach.cjs.entry.js +3 -1
- package/dist/cjs/snk-crud.cjs.entry.js +3 -1
- package/dist/cjs/snk-detail-view.cjs.entry.js +6 -4
- package/dist/cjs/snk-filter-bar.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +1 -1
- package/dist/cjs/snk-form.cjs.entry.js +2 -2
- package/dist/cjs/snk-grid-config.cjs.entry.js +1 -1
- package/dist/cjs/snk-grid.cjs.entry.js +5 -5
- package/dist/cjs/{snk-guides-viewer-22e180b5.js → snk-guides-viewer-df1cc4d6.js} +3 -2
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +6 -4
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-crud.cjs.entry.js +5 -2
- package/dist/collection/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.js +5 -5
- package/dist/collection/lib/dataUnit/InMemoryLoader.js +49 -14
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +15 -54
- package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +3 -0
- package/dist/components/ConfigStorage.js +3 -0
- package/dist/components/SnkMultiSelectionListDataSource.js +5 -5
- package/dist/components/dataunit-fetcher.js +62 -67
- package/dist/esm/{ConfigStorage-48648d45.js → ConfigStorage-79c81f36.js} +3 -0
- package/dist/esm/PreloadManager-c1c2f2b4.js +222 -0
- package/dist/esm/{SnkFormConfigManager-3c15f319.js → SnkFormConfigManager-7723f3ec.js} +1 -1
- package/dist/esm/{SnkMultiSelectionListDataSource-922f0941.js → SnkMultiSelectionListDataSource-44494b0e.js} +6 -6
- package/dist/esm/{dataunit-fetcher-ec40608e.js → dataunit-fetcher-d5e6cc8c.js} +50 -272
- package/dist/esm/snk-actions-button.entry.js +3 -1
- package/dist/esm/snk-application.entry.js +4 -2
- package/dist/esm/snk-attach.entry.js +3 -1
- package/dist/esm/snk-crud.entry.js +3 -1
- package/dist/esm/snk-detail-view.entry.js +6 -4
- package/dist/esm/snk-filter-bar.entry.js +1 -1
- package/dist/esm/snk-filter-modal-item.entry.js +1 -1
- package/dist/esm/snk-form.entry.js +2 -2
- package/dist/esm/snk-grid-config.entry.js +1 -1
- package/dist/esm/snk-grid.entry.js +5 -5
- package/dist/esm/{snk-guides-viewer-f5f50062.js → snk-guides-viewer-d2ebe7c0.js} +3 -2
- package/dist/esm/snk-guides-viewer.entry.js +6 -4
- package/dist/esm/snk-personalized-filter.entry.js +1 -1
- package/dist/esm/snk-simple-crud.entry.js +5 -2
- package/dist/sankhyablocks/p-056cb6c4.entry.js +1 -0
- package/dist/sankhyablocks/p-05f6c9dc.entry.js +1 -0
- package/dist/sankhyablocks/{p-abff11ef.entry.js → p-06e76ed2.entry.js} +1 -1
- package/dist/sankhyablocks/p-094c30cb.js +1 -0
- package/dist/sankhyablocks/p-29176742.js +56 -0
- package/dist/sankhyablocks/{p-8015cbfb.js → p-2e6f1666.js} +1 -1
- package/dist/sankhyablocks/{p-2ecd9a19.entry.js → p-3bf4df20.entry.js} +1 -1
- package/dist/sankhyablocks/{p-afacdce6.entry.js → p-47e4b6c9.entry.js} +1 -1
- package/dist/sankhyablocks/{p-395567f3.entry.js → p-4f5b995d.entry.js} +1 -1
- package/dist/sankhyablocks/p-5bb4c940.js +1 -0
- package/dist/sankhyablocks/p-653dc767.entry.js +1 -0
- package/dist/sankhyablocks/p-79a2bcfa.entry.js +1 -0
- package/dist/sankhyablocks/p-7a85dcd3.entry.js +1 -0
- package/dist/sankhyablocks/p-7f4435e2.js +60 -0
- package/dist/sankhyablocks/{p-f07a5363.entry.js → p-848b2e3b.entry.js} +1 -1
- package/dist/sankhyablocks/p-8fcc3171.entry.js +1 -0
- package/dist/sankhyablocks/p-c22c1d8e.js +1 -0
- package/dist/sankhyablocks/p-da655ca9.entry.js +1 -0
- package/dist/sankhyablocks/{p-3c884841.entry.js → p-f661e804.entry.js} +2 -2
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.d.ts +1 -0
- package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +3 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +3 -6
- package/package.json +4 -4
- package/dist/sankhyablocks/p-2b39abbc.js +0 -56
- package/dist/sankhyablocks/p-3307f385.entry.js +0 -1
- package/dist/sankhyablocks/p-3fd5b4c1.entry.js +0 -1
- package/dist/sankhyablocks/p-43cbd6ba.js +0 -1
- package/dist/sankhyablocks/p-5b4b85a9.entry.js +0 -1
- package/dist/sankhyablocks/p-63784e83.js +0 -1
- package/dist/sankhyablocks/p-9713c75c.js +0 -60
- package/dist/sankhyablocks/p-c0c48f19.entry.js +0 -1
- package/dist/sankhyablocks/p-e040c626.entry.js +0 -1
- package/dist/sankhyablocks/p-ea573860.entry.js +0 -1
- package/dist/sankhyablocks/p-efc9b851.entry.js +0 -1
@@ -4,264 +4,9 @@ const core = require('@sankhyalabs/core');
|
|
4
4
|
const DataFetcher = require('./DataFetcher-713f0749.js');
|
5
5
|
const constants = require('@sankhyalabs/ezui/dist/collection/utils/constants');
|
6
6
|
const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
7
|
+
const PreloadManager = require('./PreloadManager-84466da6.js');
|
7
8
|
const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
|
8
|
-
|
9
|
-
class ArrayRepository {
|
10
|
-
constructor(equalsFunction) {
|
11
|
-
this._list = [];
|
12
|
-
this._equalsFunction = equalsFunction;
|
13
|
-
}
|
14
|
-
async load(filterFunction, sortingFunction, offset, limit) {
|
15
|
-
let result = [].concat(this._list);
|
16
|
-
if (filterFunction != undefined) {
|
17
|
-
result = this._list.filter(item => filterFunction(item));
|
18
|
-
}
|
19
|
-
if (sortingFunction != undefined) {
|
20
|
-
result = result.sort(sortingFunction);
|
21
|
-
}
|
22
|
-
const count = result.length;
|
23
|
-
if (limit != undefined) {
|
24
|
-
const start = offset || 0;
|
25
|
-
const end = limit ? start + limit : result.length;
|
26
|
-
result = result.slice(start, end);
|
27
|
-
}
|
28
|
-
return Promise.resolve({ result, count });
|
29
|
-
}
|
30
|
-
async distict(itemProcessor) {
|
31
|
-
const processedItems = [];
|
32
|
-
let hasEmpty = false;
|
33
|
-
for (const item of this._list) {
|
34
|
-
const processedItem = itemProcessor(item);
|
35
|
-
if (processedItem == undefined) {
|
36
|
-
continue;
|
37
|
-
}
|
38
|
-
if (processedItem.value == undefined) {
|
39
|
-
hasEmpty = true;
|
40
|
-
continue;
|
41
|
-
}
|
42
|
-
processedItems.push(processedItem);
|
43
|
-
}
|
44
|
-
if (hasEmpty) {
|
45
|
-
processedItems.push({ key: "", value: null });
|
46
|
-
}
|
47
|
-
return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
|
48
|
-
}
|
49
|
-
async push(items) {
|
50
|
-
this._list.push(...items);
|
51
|
-
}
|
52
|
-
async clear() {
|
53
|
-
this._list = [];
|
54
|
-
}
|
55
|
-
async delete(items) {
|
56
|
-
this._list = this._list.filter(item => {
|
57
|
-
for (const removed of items) {
|
58
|
-
if (this._equalsFunction(item, removed)) {
|
59
|
-
return false;
|
60
|
-
}
|
61
|
-
}
|
62
|
-
return true;
|
63
|
-
});
|
64
|
-
}
|
65
|
-
async update(items) {
|
66
|
-
this._list = this._list.map(existingItem => {
|
67
|
-
const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
|
68
|
-
return newItem == undefined ? existingItem : newItem;
|
69
|
-
});
|
70
|
-
}
|
71
|
-
async insert(itemReference, items) {
|
72
|
-
const itemPosition = this._list.indexOf(itemReference);
|
73
|
-
if (itemPosition == -1) {
|
74
|
-
this._list.push(...items);
|
75
|
-
return;
|
76
|
-
}
|
77
|
-
this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
|
78
|
-
}
|
79
|
-
isOperating() {
|
80
|
-
return true;
|
81
|
-
}
|
82
|
-
async isEmpty() {
|
83
|
-
return Promise.resolve(this._list.length === 0);
|
84
|
-
}
|
85
|
-
async count() {
|
86
|
-
return Promise.resolve(this._list.length);
|
87
|
-
}
|
88
|
-
}
|
89
|
-
|
90
|
-
const COLUMN_FILTER_PATTERN = /FILTRO_COLUNA_(.+)/;
|
91
|
-
class PreloadManager {
|
92
|
-
static setLoadingStatus(dataUnit, loadingInProgress) {
|
93
|
-
this._loadingStatus.set(dataUnit.name, loadingInProgress);
|
94
|
-
}
|
95
|
-
static isCacheEnabled(dataUnit) {
|
96
|
-
const dataUnitResourceId = PreloadManager.getResourceId(dataUnit.name);
|
97
|
-
if (dataUnitResourceId !== this.applicationResourceID) {
|
98
|
-
return false;
|
99
|
-
}
|
100
|
-
return this.getRepository(dataUnit).isOperating();
|
101
|
-
}
|
102
|
-
static getResourceId(dataUnitName) {
|
103
|
-
const dataUnitNameInfo = DataUnitFetcher.parseDataUnitName(dataUnitName);
|
104
|
-
return dataUnitNameInfo == undefined ? undefined : dataUnitNameInfo.resourceID;
|
105
|
-
}
|
106
|
-
static cacheRecords(dataUnit, records, resetDatabase, loadingInProgress) {
|
107
|
-
PreloadManager.setLoadingStatus(dataUnit, loadingInProgress);
|
108
|
-
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
109
|
-
this.getRepository(dataUnit).push(records);
|
110
|
-
}
|
111
|
-
else {
|
112
|
-
if (resetDatabase) {
|
113
|
-
this._repositories.delete(dataUnit.name);
|
114
|
-
}
|
115
|
-
}
|
116
|
-
}
|
117
|
-
static getSortingFunction(dataUnit, sorting) {
|
118
|
-
if (sorting == undefined || sorting.length == 0) {
|
119
|
-
return undefined;
|
120
|
-
}
|
121
|
-
return (recordA, recordB) => {
|
122
|
-
for (const sort of sorting) {
|
123
|
-
const result = core.FieldComparator.compare(dataUnit.getField(sort.field), recordA, recordB, sort.mode === core.SortMode.ASC);
|
124
|
-
if (result != 0) {
|
125
|
-
return result;
|
126
|
-
}
|
127
|
-
}
|
128
|
-
};
|
129
|
-
}
|
130
|
-
static async getDistinct(dataUnit, fieldName) {
|
131
|
-
if (!PreloadManager.isCacheEnabled(dataUnit)) {
|
132
|
-
return Promise.resolve(undefined);
|
133
|
-
}
|
134
|
-
let filterFunction;
|
135
|
-
const request = dataUnit.getLastLoadRequest();
|
136
|
-
if (request != undefined) {
|
137
|
-
const columnFilters = PreloadManager.getColumnFilters(request.filters);
|
138
|
-
filterFunction = PreloadManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
139
|
-
}
|
140
|
-
return new Promise((accept, reject) => {
|
141
|
-
PreloadManager.getRepository(dataUnit).distict(record => {
|
142
|
-
if (filterFunction != undefined && !filterFunction(record)) {
|
143
|
-
return undefined;
|
144
|
-
}
|
145
|
-
const fieldValue = record[fieldName];
|
146
|
-
if (fieldValue == undefined) {
|
147
|
-
return { key: null, value: null };
|
148
|
-
}
|
149
|
-
const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
|
150
|
-
return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
|
151
|
-
})
|
152
|
-
.then(result => accept(result))
|
153
|
-
.catch(reason => reject(reason));
|
154
|
-
});
|
155
|
-
}
|
156
|
-
static async loadData(dataUnit, request, loadFromServer) {
|
157
|
-
try {
|
158
|
-
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
159
|
-
let useCache = request.source === "EZ_GRID_LOADING_SOURCE" || request.source === core.DataUnit.CHANGING_PAGE_LOADING_SOURCE;
|
160
|
-
if (useCache) {
|
161
|
-
const isCacheEmpty = await PreloadManager.getRepository(dataUnit).isEmpty();
|
162
|
-
if (!isCacheEmpty) {
|
163
|
-
return PreloadManager.loadFromCache(dataUnit, request);
|
164
|
-
}
|
165
|
-
}
|
166
|
-
//Como não vamos aproveitar o cache, ele precisa ser limpo.
|
167
|
-
PreloadManager.getRepository(dataUnit).clear().catch(() => { });
|
168
|
-
}
|
169
|
-
return loadFromServer(dataUnit, request);
|
170
|
-
}
|
171
|
-
catch (error) {
|
172
|
-
console.error(error);
|
173
|
-
return Promise.reject(error);
|
174
|
-
}
|
175
|
-
}
|
176
|
-
static insertRecords(dataUnit, reference, records) {
|
177
|
-
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
178
|
-
PreloadManager.getRepository(dataUnit).insert(reference, records);
|
179
|
-
}
|
180
|
-
}
|
181
|
-
static updateRecords(dataUnit, records) {
|
182
|
-
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
183
|
-
PreloadManager.getRepository(dataUnit).update(records);
|
184
|
-
}
|
185
|
-
}
|
186
|
-
static removeRecords(dataUnit, records) {
|
187
|
-
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
188
|
-
PreloadManager.getRepository(dataUnit).delete(records);
|
189
|
-
}
|
190
|
-
}
|
191
|
-
static async countRecords(dataUnit) {
|
192
|
-
if (PreloadManager.isCacheEnabled(dataUnit)) {
|
193
|
-
return PreloadManager.getRepository(dataUnit).count();
|
194
|
-
}
|
195
|
-
return Promise.resolve(0);
|
196
|
-
}
|
197
|
-
static getRepository(dataUnit) {
|
198
|
-
const name = dataUnit.name;
|
199
|
-
if (!PreloadManager._repositories.has(name)) {
|
200
|
-
PreloadManager._repositories.set(name, new ArrayRepository((recordA, recordB) => recordA.__record__id__ === recordB.__record__id__));
|
201
|
-
}
|
202
|
-
return PreloadManager._repositories.get(name);
|
203
|
-
}
|
204
|
-
static getFilterFunction(dataUnit, filters) {
|
205
|
-
if (filters != undefined && filters.length > 0) {
|
206
|
-
return record => {
|
207
|
-
for (const filter of filters) {
|
208
|
-
if (!PreloadManager.recordMatchesFilter(dataUnit, record, filter)) {
|
209
|
-
return false;
|
210
|
-
}
|
211
|
-
}
|
212
|
-
return true;
|
213
|
-
};
|
214
|
-
}
|
215
|
-
return undefined;
|
216
|
-
}
|
217
|
-
static recordMatchesFilter(dataUnit, record, columnFilter) {
|
218
|
-
const fieldValue = record[columnFilter.columnName];
|
219
|
-
for (let param of columnFilter.params) {
|
220
|
-
const paramValue = dataUnit.valueFromString(columnFilter.columnName, param.value);
|
221
|
-
if (core.FieldComparator.compareValues(dataUnit.getField(columnFilter.columnName), fieldValue, paramValue) === 0) {
|
222
|
-
return true;
|
223
|
-
}
|
224
|
-
}
|
225
|
-
return false;
|
226
|
-
}
|
227
|
-
static async loadFromCache(dataUnit, request) {
|
228
|
-
return new Promise((accept, reject) => {
|
229
|
-
const columnFilters = PreloadManager.getColumnFilters(request.filters);
|
230
|
-
const { limit, offset, sort } = request;
|
231
|
-
PreloadManager.getRepository(dataUnit)
|
232
|
-
.load(PreloadManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
|
233
|
-
.then(loadResult => {
|
234
|
-
const stillLoading = PreloadManager._loadingStatus.get(dataUnit.name);
|
235
|
-
const { count, result: records } = loadResult;
|
236
|
-
const firstRecord = count == 0 ? 0 : offset + 1;
|
237
|
-
const lastRecord = offset + Math.min(records.length, limit);
|
238
|
-
const currentPage = offset / limit;
|
239
|
-
const paginationInfo = {
|
240
|
-
count, currentPage, firstRecord, lastRecord,
|
241
|
-
hasMore: stillLoading || (lastRecord < count),
|
242
|
-
total: stillLoading ? undefined : count
|
243
|
-
};
|
244
|
-
accept({ records, paginationInfo });
|
245
|
-
})
|
246
|
-
.catch(reason => reject(reason));
|
247
|
-
});
|
248
|
-
}
|
249
|
-
static getColumnFilters(filters) {
|
250
|
-
const columnFilters = new Map();
|
251
|
-
if (filters == undefined || filters.length == 0) {
|
252
|
-
return columnFilters;
|
253
|
-
}
|
254
|
-
filters.forEach(filter => {
|
255
|
-
const match = COLUMN_FILTER_PATTERN.exec(filter.name);
|
256
|
-
if (match) {
|
257
|
-
columnFilters.set(filter.name, Object.assign({ columnName: match[1] }, filter));
|
258
|
-
}
|
259
|
-
});
|
260
|
-
return columnFilters;
|
261
|
-
}
|
262
|
-
}
|
263
|
-
PreloadManager._repositories = new Map();
|
264
|
-
PreloadManager._loadingStatus = new Map();
|
9
|
+
const utils = require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
|
265
10
|
|
266
11
|
class InMemoryLoader {
|
267
12
|
constructor(metadata, records) {
|
@@ -269,21 +14,16 @@ class InMemoryLoader {
|
|
269
14
|
this.records = records;
|
270
15
|
this._dataUnit = new core.DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
|
271
16
|
this._dataUnit.metadataLoader = () => this.metadaLoader();
|
272
|
-
this._dataUnit.dataLoader = (dataUnit, request) =>
|
17
|
+
this._dataUnit.dataLoader = (dataUnit, request) => this.inMemoryLoader(dataUnit, request, this.getRecordsToLoad());
|
273
18
|
this._dataUnit.saveLoader = (_dataUnit, changes) => this.saveLoader(_dataUnit, changes);
|
274
19
|
this._dataUnit.removeLoader = (_dataUnit, recordIds) => this.removeLoader(_dataUnit, recordIds);
|
275
20
|
this.dataUnit.loadMetadata().then(() => this.dataUnit.loadData());
|
276
21
|
}
|
277
22
|
getRecordsToLoad() {
|
278
|
-
if (this._initialRecords) {
|
279
|
-
|
280
|
-
return this._initialRecords;
|
281
|
-
}
|
282
|
-
finally {
|
283
|
-
this._initialRecords = undefined;
|
284
|
-
}
|
23
|
+
if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
|
24
|
+
this._initialRecords = this.dataUnit.records;
|
285
25
|
}
|
286
|
-
return this.
|
26
|
+
return this._initialRecords;
|
287
27
|
}
|
288
28
|
get dataUnit() {
|
289
29
|
return this._dataUnit;
|
@@ -319,11 +59,10 @@ class InMemoryLoader {
|
|
319
59
|
}
|
320
60
|
return record;
|
321
61
|
});
|
62
|
+
this._initialRecords = newRecords;
|
322
63
|
if (this._dataUnit) {
|
323
|
-
|
324
|
-
|
325
|
-
else {
|
326
|
-
this._initialRecords = newRecords;
|
64
|
+
//Isso força o refresh internamente no datunit
|
65
|
+
this._dataUnit.gotoPage(0);
|
327
66
|
}
|
328
67
|
}
|
329
68
|
get metadata() {
|
@@ -338,6 +77,32 @@ class InMemoryLoader {
|
|
338
77
|
generateUniqueId() {
|
339
78
|
return core.StringUtils.generateUUID();
|
340
79
|
}
|
80
|
+
inMemoryLoader(dataUnit, request, recordsIn) {
|
81
|
+
let records = this.applyFilter(recordsIn, dataUnit, request.filters);
|
82
|
+
records = this.applySorting(records, dataUnit, request.sort);
|
83
|
+
return Promise.resolve({ records, paginationInfo: buildPaginationInfo(request, records) });
|
84
|
+
}
|
85
|
+
applyFilter(records, dataUnit, filters) {
|
86
|
+
const columnFilters = utils.ColumnFilterManager.getColumnFilters(filters, "");
|
87
|
+
if (columnFilters == undefined || columnFilters.size == 0) {
|
88
|
+
return records;
|
89
|
+
}
|
90
|
+
const filterFunciton = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
91
|
+
if (filterFunciton == undefined) {
|
92
|
+
return records;
|
93
|
+
}
|
94
|
+
return records.filter(filterFunciton);
|
95
|
+
}
|
96
|
+
applySorting(records, dataUnit, sorting) {
|
97
|
+
if (sorting == undefined || sorting.length == 0) {
|
98
|
+
return records;
|
99
|
+
}
|
100
|
+
const sortingFunction = PreloadManager.PreloadManager.getSortingFunction(dataUnit, sorting);
|
101
|
+
if (sortingFunction == undefined) {
|
102
|
+
return records;
|
103
|
+
}
|
104
|
+
return records.sort(sortingFunction);
|
105
|
+
}
|
341
106
|
metadaLoader() {
|
342
107
|
return Promise.resolve(this._metadata);
|
343
108
|
}
|
@@ -369,6 +134,19 @@ class InMemoryLoader {
|
|
369
134
|
}
|
370
135
|
}
|
371
136
|
InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = "InMemoryDataUnit";
|
137
|
+
function buildPaginationInfo({ offset, limit }, records) {
|
138
|
+
if (offset === undefined || limit === undefined) {
|
139
|
+
return undefined;
|
140
|
+
}
|
141
|
+
const lastRecord = Math.min(offset + limit, records.length);
|
142
|
+
return {
|
143
|
+
currentPage: Math.ceil(offset / limit),
|
144
|
+
firstRecord: offset,
|
145
|
+
lastRecord: lastRecord,
|
146
|
+
total: records.length,
|
147
|
+
hasMore: !!(records.length - lastRecord),
|
148
|
+
};
|
149
|
+
}
|
372
150
|
|
373
151
|
class DatasetStrategy {
|
374
152
|
canSlice() {
|
@@ -534,7 +312,7 @@ class DataUnitDataLoader {
|
|
534
312
|
static async loadData(dataUnit, request) {
|
535
313
|
return new Promise((resolve, reject) => {
|
536
314
|
DataUnitDataLoader.debounce(dataUnit, () => {
|
537
|
-
PreloadManager.loadData(dataUnit, request, this.loadFromServer)
|
315
|
+
PreloadManager.PreloadManager.loadData(dataUnit, request, this.loadFromServer)
|
538
316
|
.then(resp => resolve(resp))
|
539
317
|
.catch(reason => reject(reason));
|
540
318
|
});
|
@@ -571,8 +349,8 @@ class DataUnitDataLoader {
|
|
571
349
|
return Promise.resolve(undefined);
|
572
350
|
}
|
573
351
|
const recreateCache = !dataLoader.canSlice() || responseLoadingInfo.count === 0;
|
574
|
-
PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
|
575
|
-
if (PreloadManager.isCacheEnabled(dataUnit) && responseLoadingInfo.loadingInProgress) {
|
352
|
+
PreloadManager.PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
|
353
|
+
if (PreloadManager.PreloadManager.isCacheEnabled(dataUnit) && responseLoadingInfo.loadingInProgress) {
|
576
354
|
const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
|
577
355
|
const newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
|
578
356
|
this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
|
@@ -582,7 +360,7 @@ class DataUnitDataLoader {
|
|
582
360
|
return Promise.resolve(result);
|
583
361
|
}
|
584
362
|
static afterLoadingPage(dataUnit, loadingInfo) {
|
585
|
-
PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
|
363
|
+
PreloadManager.PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
|
586
364
|
const dataUnitPagination = dataUnit.getPaginationInfo();
|
587
365
|
if (dataUnitPagination == undefined) {
|
588
366
|
return;
|
@@ -729,9 +507,9 @@ class DataUnitFetcher {
|
|
729
507
|
return { entityName: parts[1], resourceID: parts[2] };
|
730
508
|
}
|
731
509
|
getDataUnit(entityName, resourceID, parentDataUnit, configName) {
|
732
|
-
if (PreloadManager.applicationResourceID == undefined) {
|
510
|
+
if (PreloadManager.PreloadManager.applicationResourceID == undefined) {
|
733
511
|
//Por falta de um lugar melhor pra iniciar essa variável, fazemos isso aqui.
|
734
|
-
ResourceIDUtils.ResourceIDUtils.getResourceID().then(resourceID => PreloadManager.applicationResourceID = resourceID);
|
512
|
+
ResourceIDUtils.ResourceIDUtils.getResourceID().then(resourceID => PreloadManager.PreloadManager.applicationResourceID = resourceID);
|
735
513
|
}
|
736
514
|
const duName = `dd://${entityName}/${resourceID}${configName ? "/" + configName : ""}`;
|
737
515
|
const dataUnit = parentDataUnit != undefined ? parentDataUnit.getChildDataunit(duName) : new core.DataUnit(duName);
|
@@ -876,10 +654,10 @@ class DataUnitFetcher {
|
|
876
654
|
});
|
877
655
|
if (addedRecords.length > 0) {
|
878
656
|
const firstRecord = dataUnit.records[0];
|
879
|
-
PreloadManager.insertRecords(dataUnit, firstRecord, addedRecords);
|
657
|
+
PreloadManager.PreloadManager.insertRecords(dataUnit, firstRecord, addedRecords);
|
880
658
|
}
|
881
659
|
const updatedRecords = toUpdate.map(recordId => (Object.assign({}, recordsById.get(recordId))));
|
882
|
-
PreloadManager.updateRecords(dataUnit, updatedRecords);
|
660
|
+
PreloadManager.PreloadManager.updateRecords(dataUnit, updatedRecords);
|
883
661
|
}
|
884
662
|
getTransientInfo(dataUnit, recordID) {
|
885
663
|
const { records } = dataUnit.getSelectionInfo();
|
@@ -896,7 +674,7 @@ class DataUnitFetcher {
|
|
896
674
|
query: this.templateByQuery.get("saveData"),
|
897
675
|
})
|
898
676
|
.then((_resp) => {
|
899
|
-
PreloadManager.removeRecords(dataUnit, dataUnit.records.filter(record => recordIds.includes(record.__record__id__)));
|
677
|
+
PreloadManager.PreloadManager.removeRecords(dataUnit, dataUnit.records.filter(record => recordIds.includes(record.__record__id__)));
|
900
678
|
resolve(recordIds);
|
901
679
|
})
|
902
680
|
.catch((error) => {
|
@@ -932,4 +710,3 @@ class DataUnitFetcher {
|
|
932
710
|
|
933
711
|
exports.DataUnitFetcher = DataUnitFetcher;
|
934
712
|
exports.InMemoryLoader = InMemoryLoader;
|
935
|
-
exports.PreloadManager = PreloadManager;
|
@@ -11,12 +11,14 @@ require('./index-0e663819.js');
|
|
11
11
|
require('./ISave-d68ce3cd.js');
|
12
12
|
require('@sankhyalabs/ezui/dist/collection/utils/constants');
|
13
13
|
require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
14
|
-
require('./dataunit-fetcher-
|
14
|
+
require('./dataunit-fetcher-af1c655d.js');
|
15
|
+
require('./PreloadManager-84466da6.js');
|
15
16
|
require('./filter-item-type.enum-aa823a00.js');
|
16
17
|
require('./form-config-fetcher-17775a75.js');
|
17
18
|
const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
|
18
19
|
require('./_commonjsHelpers-537d719a.js');
|
19
20
|
require('./PrintUtils-bcaeb82f.js');
|
21
|
+
require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
|
20
22
|
|
21
23
|
const SERVICE_ACTION_EXECUTE_JAVA = 'ActionButtonsSP.executeJava';
|
22
24
|
class JavaExecutor {
|
@@ -5,10 +5,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
const index = require('./index-f9e81701.js');
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
7
|
const utils = require('@sankhyalabs/ezui/dist/collection/utils');
|
8
|
-
const ConfigStorage = require('./ConfigStorage-
|
8
|
+
const ConfigStorage = require('./ConfigStorage-c15716fd.js');
|
9
9
|
const DataFetcher = require('./DataFetcher-713f0749.js');
|
10
10
|
const authFetcher = require('./auth-fetcher-555ff856.js');
|
11
|
-
const dataunitFetcher = require('./dataunit-fetcher-
|
11
|
+
const dataunitFetcher = require('./dataunit-fetcher-af1c655d.js');
|
12
12
|
const pesquisaFetcher = require('./pesquisa-fetcher-34922b83.js');
|
13
13
|
const SnkMessageBuilder = require('./SnkMessageBuilder-dbc8d14e.js');
|
14
14
|
require('./form-config-fetcher-17775a75.js');
|
@@ -17,6 +17,8 @@ require('./_commonjsHelpers-537d719a.js');
|
|
17
17
|
require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
18
18
|
require('./PrintUtils-bcaeb82f.js');
|
19
19
|
require('@sankhyalabs/ezui/dist/collection/utils/constants');
|
20
|
+
require('./PreloadManager-84466da6.js');
|
21
|
+
require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
|
20
22
|
require('./ResourceIDUtils-5ff86aa7.js');
|
21
23
|
|
22
24
|
class AppletCaller {
|
@@ -7,12 +7,14 @@ const core = require('@sankhyalabs/core');
|
|
7
7
|
const DataFetcher = require('./DataFetcher-713f0749.js');
|
8
8
|
const ISave = require('./ISave-d68ce3cd.js');
|
9
9
|
const constants = require('./constants-d187e03e.js');
|
10
|
-
const dataunitFetcher = require('./dataunit-fetcher-
|
10
|
+
const dataunitFetcher = require('./dataunit-fetcher-af1c655d.js');
|
11
11
|
const taskbarElements = require('./taskbar-elements-39949c7a.js');
|
12
12
|
require('./_commonjsHelpers-537d719a.js');
|
13
13
|
require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
14
14
|
require('./PrintUtils-bcaeb82f.js');
|
15
15
|
require('@sankhyalabs/ezui/dist/collection/utils/constants');
|
16
|
+
require('./PreloadManager-84466da6.js');
|
17
|
+
require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
|
16
18
|
require('./ResourceIDUtils-5ff86aa7.js');
|
17
19
|
require('./index-0e663819.js');
|
18
20
|
require('./index-102ba62d.js');
|
@@ -11,7 +11,8 @@ const index$1 = require('./index-0e663819.js');
|
|
11
11
|
require('./ISave-d68ce3cd.js');
|
12
12
|
require('@sankhyalabs/ezui/dist/collection/utils/constants');
|
13
13
|
require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
14
|
-
require('./dataunit-fetcher-
|
14
|
+
require('./dataunit-fetcher-af1c655d.js');
|
15
|
+
require('./PreloadManager-84466da6.js');
|
15
16
|
require('./filter-item-type.enum-aa823a00.js');
|
16
17
|
require('./form-config-fetcher-17775a75.js');
|
17
18
|
const constants = require('./constants-d187e03e.js');
|
@@ -20,6 +21,7 @@ require('./index-102ba62d.js');
|
|
20
21
|
require('./_commonjsHelpers-537d719a.js');
|
21
22
|
require('./PrintUtils-bcaeb82f.js');
|
22
23
|
require('./ResourceIDUtils-5ff86aa7.js');
|
24
|
+
require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
|
23
25
|
|
24
26
|
const snkCrudCss = ".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%}";
|
25
27
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
5
5
|
const index = require('./index-f9e81701.js');
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
|
-
const SnkFormConfigManager = require('./SnkFormConfigManager-
|
7
|
+
const SnkFormConfigManager = require('./SnkFormConfigManager-29101e20.js');
|
8
8
|
const form = require('@sankhyalabs/ezui/dist/collection/utils/form');
|
9
9
|
require('./DataFetcher-713f0749.js');
|
10
10
|
require('./pesquisa-fetcher-34922b83.js');
|
@@ -12,17 +12,19 @@ const index$1 = require('./index-0e663819.js');
|
|
12
12
|
require('./ISave-d68ce3cd.js');
|
13
13
|
require('@sankhyalabs/ezui/dist/collection/utils/constants');
|
14
14
|
require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
15
|
-
require('./dataunit-fetcher-
|
15
|
+
require('./dataunit-fetcher-af1c655d.js');
|
16
|
+
require('./PreloadManager-84466da6.js');
|
16
17
|
require('./filter-item-type.enum-aa823a00.js');
|
17
18
|
require('./form-config-fetcher-17775a75.js');
|
18
19
|
const taskbarElements = require('./taskbar-elements-39949c7a.js');
|
19
20
|
const constants = require('./constants-d187e03e.js');
|
20
|
-
const snkGuidesViewer = require('./snk-guides-viewer-
|
21
|
+
const snkGuidesViewer = require('./snk-guides-viewer-df1cc4d6.js');
|
21
22
|
const SnkMessageBuilder = require('./SnkMessageBuilder-dbc8d14e.js');
|
22
|
-
require('./ConfigStorage-
|
23
|
+
require('./ConfigStorage-c15716fd.js');
|
23
24
|
require('./_commonjsHelpers-537d719a.js');
|
24
25
|
require('./PrintUtils-bcaeb82f.js');
|
25
26
|
require('./ResourceIDUtils-5ff86aa7.js');
|
27
|
+
require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
|
26
28
|
require('./index-102ba62d.js');
|
27
29
|
require('./taskbar-processor-bce3f499.js');
|
28
30
|
require('@sankhyalabs/core/dist/dataunit/DataUnit');
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
const index$1 = require('./index-f9e81701.js');
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
7
|
const EzScrollDirection = require('@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection');
|
8
|
-
const ConfigStorage = require('./ConfigStorage-
|
8
|
+
const ConfigStorage = require('./ConfigStorage-c15716fd.js');
|
9
9
|
const DataType = require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
|
10
10
|
const filterItemType_enum = require('./filter-item-type.enum-aa823a00.js');
|
11
11
|
const index = require('./index-c5771aba.js');
|
@@ -6,7 +6,7 @@ const index = require('./index-f9e81701.js');
|
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
7
|
const filterItemType_enum = require('./filter-item-type.enum-aa823a00.js');
|
8
8
|
const presentationMode = require('./presentationMode-52ec3bdd.js');
|
9
|
-
const ConfigStorage = require('./ConfigStorage-
|
9
|
+
const ConfigStorage = require('./ConfigStorage-c15716fd.js');
|
10
10
|
const filterType_enum = require('./filter-type.enum-b14ce507.js');
|
11
11
|
require('./form-config-fetcher-17775a75.js');
|
12
12
|
require('./DataFetcher-713f0749.js');
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
5
5
|
const index = require('./index-f9e81701.js');
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
|
-
const SnkFormConfigManager = require('./SnkFormConfigManager-
|
7
|
+
const SnkFormConfigManager = require('./SnkFormConfigManager-29101e20.js');
|
8
8
|
const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
|
9
|
-
require('./ConfigStorage-
|
9
|
+
require('./ConfigStorage-c15716fd.js');
|
10
10
|
require('./form-config-fetcher-17775a75.js');
|
11
11
|
require('./DataFetcher-713f0749.js');
|
12
12
|
require('./_commonjsHelpers-537d719a.js');
|
@@ -6,7 +6,7 @@ const index = require('./index-f9e81701.js');
|
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
7
|
const utils = require('@sankhyalabs/ezui/dist/collection/utils');
|
8
8
|
const CheckMode = require('@sankhyalabs/ezui/dist/collection/components/ez-check/CheckMode');
|
9
|
-
const ConfigStorage = require('./ConfigStorage-
|
9
|
+
const ConfigStorage = require('./ConfigStorage-c15716fd.js');
|
10
10
|
const constants = require('./constants-d187e03e.js');
|
11
11
|
require('./form-config-fetcher-17775a75.js');
|
12
12
|
require('./DataFetcher-713f0749.js');
|
@@ -6,20 +6,20 @@ const index = require('./index-f9e81701.js');
|
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
7
|
const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
8
8
|
const taskbarElements = require('./taskbar-elements-39949c7a.js');
|
9
|
-
const ConfigStorage = require('./ConfigStorage-
|
9
|
+
const ConfigStorage = require('./ConfigStorage-c15716fd.js');
|
10
10
|
const index$1 = require('./index-0e663819.js');
|
11
11
|
const taskbarProcessor = require('./taskbar-processor-bce3f499.js');
|
12
12
|
const index$2 = require('./index-102ba62d.js');
|
13
|
-
const SnkMultiSelectionListDataSource = require('./SnkMultiSelectionListDataSource-
|
13
|
+
const SnkMultiSelectionListDataSource = require('./SnkMultiSelectionListDataSource-ba5838c2.js');
|
14
14
|
const DataUnit = require('@sankhyalabs/core/dist/dataunit/DataUnit');
|
15
15
|
require('./form-config-fetcher-17775a75.js');
|
16
16
|
require('./DataFetcher-713f0749.js');
|
17
17
|
require('./_commonjsHelpers-537d719a.js');
|
18
18
|
require('./PrintUtils-bcaeb82f.js');
|
19
19
|
require('./filter-item-type.enum-aa823a00.js');
|
20
|
-
require('
|
21
|
-
require('
|
22
|
-
require('
|
20
|
+
require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource');
|
21
|
+
require('./PreloadManager-84466da6.js');
|
22
|
+
require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
|
23
23
|
|
24
24
|
const snkGridCss = ".snk-grid__container.sc-snk-grid{display:flex;height:100%;width:100%}.snk-grid__header.sc-snk-grid{display:flex;flex-wrap:nowrap;width:100%}.snk-grid__filter-bar.sc-snk-grid{width:100%}.snk-grid__header-divider.sc-snk-grid{margin-bottom:var(--space--medium)}.snk-grid__table.sc-snk-grid{min-height:300px}.snk-grid-container__without-shadow.sc-snk-grid{--ezgrid__container--shadow:unset}";
|
25
25
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
const index = require('./index-f9e81701.js');
|
4
4
|
const core = require('@sankhyalabs/core');
|
5
|
-
const SnkFormConfigManager = require('./SnkFormConfigManager-
|
5
|
+
const SnkFormConfigManager = require('./SnkFormConfigManager-29101e20.js');
|
6
6
|
const form = require('@sankhyalabs/ezui/dist/collection/utils/form');
|
7
7
|
const taskbarProcessor = require('./taskbar-processor-bce3f499.js');
|
8
8
|
const taskbarElements = require('./taskbar-elements-39949c7a.js');
|
@@ -13,7 +13,8 @@ const index$1 = require('./index-0e663819.js');
|
|
13
13
|
require('./ISave-d68ce3cd.js');
|
14
14
|
require('@sankhyalabs/ezui/dist/collection/utils/constants');
|
15
15
|
require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
16
|
-
require('./dataunit-fetcher-
|
16
|
+
require('./dataunit-fetcher-af1c655d.js');
|
17
|
+
require('./PreloadManager-84466da6.js');
|
17
18
|
require('./filter-item-type.enum-aa823a00.js');
|
18
19
|
require('./form-config-fetcher-17775a75.js');
|
19
20
|
const DataUnit = require('@sankhyalabs/core/dist/dataunit/DataUnit');
|
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
const snkGuidesViewer = require('./snk-guides-viewer-
|
5
|
+
const snkGuidesViewer = require('./snk-guides-viewer-df1cc4d6.js');
|
6
6
|
require('./index-f9e81701.js');
|
7
7
|
require('@sankhyalabs/core');
|
8
|
-
require('./SnkFormConfigManager-
|
9
|
-
require('./ConfigStorage-
|
8
|
+
require('./SnkFormConfigManager-29101e20.js');
|
9
|
+
require('./ConfigStorage-c15716fd.js');
|
10
10
|
require('./form-config-fetcher-17775a75.js');
|
11
11
|
require('./DataFetcher-713f0749.js');
|
12
12
|
require('./_commonjsHelpers-537d719a.js');
|
@@ -22,7 +22,9 @@ require('./constants-d187e03e.js');
|
|
22
22
|
require('./pesquisa-fetcher-34922b83.js');
|
23
23
|
require('./ISave-d68ce3cd.js');
|
24
24
|
require('@sankhyalabs/ezui/dist/collection/utils/constants');
|
25
|
-
require('./dataunit-fetcher-
|
25
|
+
require('./dataunit-fetcher-af1c655d.js');
|
26
|
+
require('./PreloadManager-84466da6.js');
|
27
|
+
require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
|
26
28
|
require('./ResourceIDUtils-5ff86aa7.js');
|
27
29
|
require('@sankhyalabs/core/dist/dataunit/DataUnit');
|
28
30
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
const index = require('./index-f9e81701.js');
|
6
6
|
const core = require('@sankhyalabs/core');
|
7
7
|
const PersonalizedFilterUtils = require('./PersonalizedFilterUtils-1aeb625d.js');
|
8
|
-
const ConfigStorage = require('./ConfigStorage-
|
8
|
+
const ConfigStorage = require('./ConfigStorage-c15716fd.js');
|
9
9
|
const utils = require('@sankhyalabs/ezui/dist/collection/utils');
|
10
10
|
const index$1 = require('./index-c5771aba.js');
|
11
11
|
const index$2 = require('./index-102ba62d.js');
|