@sankhyalabs/sankhyablocks 8.8.0 → 8.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{PreloadManager-e26d237f.js → PreloadManager-84466da6.js} +2 -2
- package/dist/cjs/{SnkMultiSelectionListDataSource-d74d2336.js → SnkMultiSelectionListDataSource-ba5838c2.js} +1 -1
- package/dist/cjs/{dataunit-fetcher-66c0b7af.js → dataunit-fetcher-af1c655d.js} +48 -14
- package/dist/cjs/snk-actions-button.cjs.entry.js +2 -2
- package/dist/cjs/snk-application.cjs.entry.js +2 -2
- package/dist/cjs/snk-attach.cjs.entry.js +2 -2
- package/dist/cjs/snk-crud.cjs.entry.js +2 -2
- package/dist/cjs/snk-data-exporter.cjs.entry.js +1 -1
- package/dist/cjs/{snk-data-unit-3e4d0c09.js → snk-data-unit-3e5301b1.js} +13 -0
- package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
- package/dist/cjs/snk-detail-view.cjs.entry.js +3 -3
- package/dist/cjs/snk-grid.cjs.entry.js +2 -2
- package/dist/cjs/{snk-guides-viewer-b173ce35.js → snk-guides-viewer-df1cc4d6.js} +2 -2
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +3 -3
- package/dist/cjs/snk-simple-crud.cjs.entry.js +3 -3
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +14 -1
- package/dist/collection/lib/dataUnit/InMemoryLoader.js +49 -14
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +2 -2
- package/dist/components/dataunit-fetcher.js +49 -16
- package/dist/components/snk-data-unit2.js +14 -1
- package/dist/esm/{PreloadManager-8826b96a.js → PreloadManager-c1c2f2b4.js} +2 -2
- package/dist/esm/{SnkMultiSelectionListDataSource-27572f47.js → SnkMultiSelectionListDataSource-44494b0e.js} +1 -1
- package/dist/esm/{dataunit-fetcher-831feb12.js → dataunit-fetcher-d5e6cc8c.js} +49 -15
- package/dist/esm/snk-actions-button.entry.js +2 -2
- package/dist/esm/snk-application.entry.js +2 -2
- package/dist/esm/snk-attach.entry.js +2 -2
- package/dist/esm/snk-crud.entry.js +2 -2
- package/dist/esm/snk-data-exporter.entry.js +1 -1
- package/dist/esm/{snk-data-unit-5eb68408.js → snk-data-unit-f2a15a58.js} +14 -1
- package/dist/esm/snk-data-unit.entry.js +1 -1
- package/dist/esm/snk-detail-view.entry.js +3 -3
- package/dist/esm/snk-grid.entry.js +2 -2
- package/dist/esm/{snk-guides-viewer-e62e0edc.js → snk-guides-viewer-d2ebe7c0.js} +2 -2
- package/dist/esm/snk-guides-viewer.entry.js +3 -3
- package/dist/esm/snk-simple-crud.entry.js +3 -3
- package/dist/sankhyablocks/{p-a1cce4f5.entry.js → p-056cb6c4.entry.js} +1 -1
- package/dist/sankhyablocks/{p-3ccb321d.entry.js → p-05f6c9dc.entry.js} +1 -1
- package/dist/sankhyablocks/{p-3c4f0354.js → p-094c30cb.js} +1 -1
- package/dist/sankhyablocks/{p-747043a5.entry.js → p-3a2308a1.entry.js} +1 -1
- package/dist/sankhyablocks/p-3eb28447.entry.js +1 -0
- package/dist/sankhyablocks/{p-d32fe25e.js → p-5bb4c940.js} +1 -1
- package/dist/sankhyablocks/{p-f1743d68.entry.js → p-653dc767.entry.js} +1 -1
- package/dist/sankhyablocks/{p-95b05e58.entry.js → p-79a2bcfa.entry.js} +1 -1
- package/dist/sankhyablocks/{p-f2e798f1.entry.js → p-7a85dcd3.entry.js} +1 -1
- package/dist/sankhyablocks/p-7f4435e2.js +60 -0
- package/dist/sankhyablocks/{p-eb1561bf.entry.js → p-8fcc3171.entry.js} +1 -1
- package/dist/sankhyablocks/p-c22c1d8e.js +1 -0
- package/dist/sankhyablocks/{p-862e5bf6.entry.js → p-da655ca9.entry.js} +1 -1
- package/dist/sankhyablocks/{p-72b32e25.entry.js → p-f661e804.entry.js} +1 -1
- package/dist/sankhyablocks/p-fdbe389e.js +1 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +1 -0
- package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +3 -0
- package/package.json +1 -1
- package/dist/sankhyablocks/p-0123f169.js +0 -1
- package/dist/sankhyablocks/p-5f6113c8.js +0 -60
- package/dist/sankhyablocks/p-77756526.js +0 -1
- package/dist/sankhyablocks/p-9af040ba.entry.js +0 -1
@@ -122,7 +122,7 @@ class PreloadManager {
|
|
122
122
|
let filterFunction;
|
123
123
|
const request = dataUnit.getLastLoadRequest();
|
124
124
|
if (request != undefined) {
|
125
|
-
const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters);
|
125
|
+
const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters, fieldName);
|
126
126
|
filterFunction = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
127
127
|
}
|
128
128
|
return new Promise((accept, reject) => {
|
@@ -197,7 +197,7 @@ class PreloadManager {
|
|
197
197
|
}
|
198
198
|
static async loadFromCache(dataUnit, request) {
|
199
199
|
return new Promise((accept, reject) => {
|
200
|
-
const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters);
|
200
|
+
const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters, "");
|
201
201
|
const { limit, offset, sort } = request;
|
202
202
|
PreloadManager.getRepository(dataUnit)
|
203
203
|
.load(utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
const core = require('@sankhyalabs/core');
|
4
4
|
const InMemoryFilterColumnDataSource = require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource');
|
5
|
-
const PreloadManager = require('./PreloadManager-
|
5
|
+
const PreloadManager = require('./PreloadManager-84466da6.js');
|
6
6
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
8
8
|
|
@@ -4,8 +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-
|
7
|
+
const PreloadManager = require('./PreloadManager-84466da6.js');
|
8
8
|
const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
|
9
|
+
const utils = require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
|
9
10
|
|
10
11
|
class InMemoryLoader {
|
11
12
|
constructor(metadata, records) {
|
@@ -13,21 +14,16 @@ class InMemoryLoader {
|
|
13
14
|
this.records = records;
|
14
15
|
this._dataUnit = new core.DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
|
15
16
|
this._dataUnit.metadataLoader = () => this.metadaLoader();
|
16
|
-
this._dataUnit.dataLoader = (dataUnit, request) =>
|
17
|
+
this._dataUnit.dataLoader = (dataUnit, request) => this.inMemoryLoader(dataUnit, request, this.getRecordsToLoad());
|
17
18
|
this._dataUnit.saveLoader = (_dataUnit, changes) => this.saveLoader(_dataUnit, changes);
|
18
19
|
this._dataUnit.removeLoader = (_dataUnit, recordIds) => this.removeLoader(_dataUnit, recordIds);
|
19
20
|
this.dataUnit.loadMetadata().then(() => this.dataUnit.loadData());
|
20
21
|
}
|
21
22
|
getRecordsToLoad() {
|
22
|
-
if (this._initialRecords) {
|
23
|
-
|
24
|
-
return this._initialRecords;
|
25
|
-
}
|
26
|
-
finally {
|
27
|
-
this._initialRecords = undefined;
|
28
|
-
}
|
23
|
+
if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
|
24
|
+
this._initialRecords = this.dataUnit.records;
|
29
25
|
}
|
30
|
-
return this.
|
26
|
+
return this._initialRecords;
|
31
27
|
}
|
32
28
|
get dataUnit() {
|
33
29
|
return this._dataUnit;
|
@@ -63,11 +59,10 @@ class InMemoryLoader {
|
|
63
59
|
}
|
64
60
|
return record;
|
65
61
|
});
|
62
|
+
this._initialRecords = newRecords;
|
66
63
|
if (this._dataUnit) {
|
67
|
-
|
68
|
-
|
69
|
-
else {
|
70
|
-
this._initialRecords = newRecords;
|
64
|
+
//Isso força o refresh internamente no datunit
|
65
|
+
this._dataUnit.gotoPage(0);
|
71
66
|
}
|
72
67
|
}
|
73
68
|
get metadata() {
|
@@ -82,6 +77,32 @@ class InMemoryLoader {
|
|
82
77
|
generateUniqueId() {
|
83
78
|
return core.StringUtils.generateUUID();
|
84
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
|
+
}
|
85
106
|
metadaLoader() {
|
86
107
|
return Promise.resolve(this._metadata);
|
87
108
|
}
|
@@ -113,6 +134,19 @@ class InMemoryLoader {
|
|
113
134
|
}
|
114
135
|
}
|
115
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
|
+
}
|
116
150
|
|
117
151
|
class DatasetStrategy {
|
118
152
|
canSlice() {
|
@@ -11,8 +11,8 @@ 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-
|
15
|
-
require('./PreloadManager-
|
14
|
+
require('./dataunit-fetcher-af1c655d.js');
|
15
|
+
require('./PreloadManager-84466da6.js');
|
16
16
|
require('./filter-item-type.enum-aa823a00.js');
|
17
17
|
require('./form-config-fetcher-17775a75.js');
|
18
18
|
const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
|
@@ -8,7 +8,7 @@ const utils = require('@sankhyalabs/ezui/dist/collection/utils');
|
|
8
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,7 +17,7 @@ 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-
|
20
|
+
require('./PreloadManager-84466da6.js');
|
21
21
|
require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
|
22
22
|
require('./ResourceIDUtils-5ff86aa7.js');
|
23
23
|
|
@@ -7,13 +7,13 @@ 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-
|
16
|
+
require('./PreloadManager-84466da6.js');
|
17
17
|
require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
|
18
18
|
require('./ResourceIDUtils-5ff86aa7.js');
|
19
19
|
require('./index-0e663819.js');
|
@@ -11,8 +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-
|
15
|
-
require('./PreloadManager-
|
14
|
+
require('./dataunit-fetcher-af1c655d.js');
|
15
|
+
require('./PreloadManager-84466da6.js');
|
16
16
|
require('./filter-item-type.enum-aa823a00.js');
|
17
17
|
require('./form-config-fetcher-17775a75.js');
|
18
18
|
const constants = require('./constants-d187e03e.js');
|
@@ -8,7 +8,7 @@ const utils = require('@sankhyalabs/ezui/dist/collection/utils');
|
|
8
8
|
const index = require('./index-0e663819.js');
|
9
9
|
const constants = require('./constants-d187e03e.js');
|
10
10
|
const DataFetcher = require('./DataFetcher-713f0749.js');
|
11
|
-
const snkDataUnit = require('./snk-data-unit-
|
11
|
+
const snkDataUnit = require('./snk-data-unit-3e5301b1.js');
|
12
12
|
require('./_commonjsHelpers-537d719a.js');
|
13
13
|
require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
14
14
|
require('./PrintUtils-bcaeb82f.js');
|
@@ -164,6 +164,10 @@ const SnkDataUnit = class {
|
|
164
164
|
}
|
165
165
|
return selectedRecordsIDsInfo;
|
166
166
|
}
|
167
|
+
getCleanOnCopyFields() {
|
168
|
+
var _a;
|
169
|
+
return (_a = this.dataUnit.metadata) === null || _a === void 0 ? void 0 : _a.fields.filter(field => { var _a; return (_a = field.properties) === null || _a === void 0 ? void 0 : _a.cleanOnCopy; }).map(field => field.name);
|
170
|
+
}
|
167
171
|
async interceptAction(action) {
|
168
172
|
return new Promise(resolve => {
|
169
173
|
var _a, _b, _c, _d, _e;
|
@@ -178,6 +182,15 @@ const SnkDataUnit = class {
|
|
178
182
|
break;
|
179
183
|
case core.Action.RECORDS_COPIED:
|
180
184
|
if (this.isAllowed("CLONE")) {
|
185
|
+
const cleanFields = this.getCleanOnCopyFields();
|
186
|
+
if (cleanFields.length > 0) {
|
187
|
+
const records = action.payload;
|
188
|
+
action = new core.DataUnitAction(core.Action.RECORDS_COPIED, records.map(record => {
|
189
|
+
const newRecord = Object.assign({}, record);
|
190
|
+
cleanFields.forEach(fieldName => delete newRecord[fieldName]);
|
191
|
+
return newRecord;
|
192
|
+
}));
|
193
|
+
}
|
181
194
|
resolve(action);
|
182
195
|
}
|
183
196
|
else {
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
const snkDataUnit = require('./snk-data-unit-
|
5
|
+
const snkDataUnit = require('./snk-data-unit-3e5301b1.js');
|
6
6
|
require('./index-f9e81701.js');
|
7
7
|
require('@sankhyalabs/core');
|
8
8
|
require('@sankhyalabs/ezui/dist/collection/utils');
|
@@ -12,13 +12,13 @@ const index$1 = require('./index-0e663819.js');
|
|
12
12
|
require('./ISave-d68ce3cd.js');
|
13
13
|
require('@sankhyalabs/ezui/dist/collection/utils/constants');
|
14
14
|
require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
15
|
-
require('./dataunit-fetcher-
|
16
|
-
require('./PreloadManager-
|
15
|
+
require('./dataunit-fetcher-af1c655d.js');
|
16
|
+
require('./PreloadManager-84466da6.js');
|
17
17
|
require('./filter-item-type.enum-aa823a00.js');
|
18
18
|
require('./form-config-fetcher-17775a75.js');
|
19
19
|
const taskbarElements = require('./taskbar-elements-39949c7a.js');
|
20
20
|
const constants = require('./constants-d187e03e.js');
|
21
|
-
const snkGuidesViewer = require('./snk-guides-viewer-
|
21
|
+
const snkGuidesViewer = require('./snk-guides-viewer-df1cc4d6.js');
|
22
22
|
const SnkMessageBuilder = require('./SnkMessageBuilder-dbc8d14e.js');
|
23
23
|
require('./ConfigStorage-c15716fd.js');
|
24
24
|
require('./_commonjsHelpers-537d719a.js');
|
@@ -10,7 +10,7 @@ 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');
|
@@ -18,7 +18,7 @@ require('./_commonjsHelpers-537d719a.js');
|
|
18
18
|
require('./PrintUtils-bcaeb82f.js');
|
19
19
|
require('./filter-item-type.enum-aa823a00.js');
|
20
20
|
require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource');
|
21
|
-
require('./PreloadManager-
|
21
|
+
require('./PreloadManager-84466da6.js');
|
22
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}";
|
@@ -13,8 +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-
|
17
|
-
require('./PreloadManager-
|
16
|
+
require('./dataunit-fetcher-af1c655d.js');
|
17
|
+
require('./PreloadManager-84466da6.js');
|
18
18
|
require('./filter-item-type.enum-aa823a00.js');
|
19
19
|
require('./form-config-fetcher-17775a75.js');
|
20
20
|
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-
|
5
|
+
const snkGuidesViewer = require('./snk-guides-viewer-df1cc4d6.js');
|
6
6
|
require('./index-f9e81701.js');
|
7
7
|
require('@sankhyalabs/core');
|
8
8
|
require('./SnkFormConfigManager-29101e20.js');
|
@@ -22,8 +22,8 @@ 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-
|
26
|
-
require('./PreloadManager-
|
25
|
+
require('./dataunit-fetcher-af1c655d.js');
|
26
|
+
require('./PreloadManager-84466da6.js');
|
27
27
|
require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
|
28
28
|
require('./ResourceIDUtils-5ff86aa7.js');
|
29
29
|
require('@sankhyalabs/core/dist/dataunit/DataUnit');
|
@@ -12,12 +12,12 @@ const index$1 = require('./index-0e663819.js');
|
|
12
12
|
require('./ISave-d68ce3cd.js');
|
13
13
|
require('@sankhyalabs/ezui/dist/collection/utils/constants');
|
14
14
|
require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
15
|
-
const dataunitFetcher = require('./dataunit-fetcher-
|
16
|
-
require('./PreloadManager-
|
15
|
+
const dataunitFetcher = require('./dataunit-fetcher-af1c655d.js');
|
16
|
+
require('./PreloadManager-84466da6.js');
|
17
17
|
require('./filter-item-type.enum-aa823a00.js');
|
18
18
|
require('./form-config-fetcher-17775a75.js');
|
19
19
|
const taskbarProcessor = require('./taskbar-processor-bce3f499.js');
|
20
|
-
const SnkMultiSelectionListDataSource = require('./SnkMultiSelectionListDataSource-
|
20
|
+
const SnkMultiSelectionListDataSource = require('./SnkMultiSelectionListDataSource-ba5838c2.js');
|
21
21
|
require('./index-102ba62d.js');
|
22
22
|
require('./_commonjsHelpers-537d719a.js');
|
23
23
|
require('./PrintUtils-bcaeb82f.js');
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Host, h } from '@stencil/core';
|
2
|
-
import { Action, ApplicationContext, ObjectUtils, DataType, JSUtils } from '@sankhyalabs/core';
|
2
|
+
import { Action, ApplicationContext, DataUnitAction, ObjectUtils, DataType, JSUtils } from '@sankhyalabs/core';
|
3
3
|
import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
|
4
4
|
import { OperationMap, SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder';
|
5
5
|
export class SnkDataUnit {
|
@@ -155,6 +155,10 @@ export class SnkDataUnit {
|
|
155
155
|
}
|
156
156
|
return selectedRecordsIDsInfo;
|
157
157
|
}
|
158
|
+
getCleanOnCopyFields() {
|
159
|
+
var _a;
|
160
|
+
return (_a = this.dataUnit.metadata) === null || _a === void 0 ? void 0 : _a.fields.filter(field => { var _a; return (_a = field.properties) === null || _a === void 0 ? void 0 : _a.cleanOnCopy; }).map(field => field.name);
|
161
|
+
}
|
158
162
|
async interceptAction(action) {
|
159
163
|
return new Promise(resolve => {
|
160
164
|
var _a, _b, _c, _d, _e;
|
@@ -169,6 +173,15 @@ export class SnkDataUnit {
|
|
169
173
|
break;
|
170
174
|
case Action.RECORDS_COPIED:
|
171
175
|
if (this.isAllowed("CLONE")) {
|
176
|
+
const cleanFields = this.getCleanOnCopyFields();
|
177
|
+
if (cleanFields.length > 0) {
|
178
|
+
const records = action.payload;
|
179
|
+
action = new DataUnitAction(Action.RECORDS_COPIED, records.map(record => {
|
180
|
+
const newRecord = Object.assign({}, record);
|
181
|
+
cleanFields.forEach(fieldName => delete newRecord[fieldName]);
|
182
|
+
return newRecord;
|
183
|
+
}));
|
184
|
+
}
|
172
185
|
resolve(action);
|
173
186
|
}
|
174
187
|
else {
|
@@ -1,25 +1,22 @@
|
|
1
|
-
import { ChangeOperation, DataType, DataUnit, DateUtils,
|
1
|
+
import { ChangeOperation, DataType, DataUnit, DateUtils, StringUtils, } from '@sankhyalabs/core';
|
2
|
+
import { ColumnFilterManager } from "@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";
|
3
|
+
import PreloadManager from '../http/data-fetcher/fetchers/data-unit/cache/PreloadManager';
|
2
4
|
export default class InMemoryLoader {
|
3
5
|
constructor(metadata, records) {
|
4
6
|
this.metadata = metadata;
|
5
7
|
this.records = records;
|
6
8
|
this._dataUnit = new DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
|
7
9
|
this._dataUnit.metadataLoader = () => this.metadaLoader();
|
8
|
-
this._dataUnit.dataLoader = (dataUnit, request) =>
|
10
|
+
this._dataUnit.dataLoader = (dataUnit, request) => this.inMemoryLoader(dataUnit, request, this.getRecordsToLoad());
|
9
11
|
this._dataUnit.saveLoader = (_dataUnit, changes) => this.saveLoader(_dataUnit, changes);
|
10
12
|
this._dataUnit.removeLoader = (_dataUnit, recordIds) => this.removeLoader(_dataUnit, recordIds);
|
11
13
|
this.dataUnit.loadMetadata().then(() => this.dataUnit.loadData());
|
12
14
|
}
|
13
15
|
getRecordsToLoad() {
|
14
|
-
if (this._initialRecords) {
|
15
|
-
|
16
|
-
return this._initialRecords;
|
17
|
-
}
|
18
|
-
finally {
|
19
|
-
this._initialRecords = undefined;
|
20
|
-
}
|
16
|
+
if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
|
17
|
+
this._initialRecords = this.dataUnit.records;
|
21
18
|
}
|
22
|
-
return this.
|
19
|
+
return this._initialRecords;
|
23
20
|
}
|
24
21
|
get dataUnit() {
|
25
22
|
return this._dataUnit;
|
@@ -55,11 +52,10 @@ export default class InMemoryLoader {
|
|
55
52
|
}
|
56
53
|
return record;
|
57
54
|
});
|
55
|
+
this._initialRecords = newRecords;
|
58
56
|
if (this._dataUnit) {
|
59
|
-
|
60
|
-
|
61
|
-
else {
|
62
|
-
this._initialRecords = newRecords;
|
57
|
+
//Isso força o refresh internamente no datunit
|
58
|
+
this._dataUnit.gotoPage(0);
|
63
59
|
}
|
64
60
|
}
|
65
61
|
get metadata() {
|
@@ -74,6 +70,32 @@ export default class InMemoryLoader {
|
|
74
70
|
generateUniqueId() {
|
75
71
|
return StringUtils.generateUUID();
|
76
72
|
}
|
73
|
+
inMemoryLoader(dataUnit, request, recordsIn) {
|
74
|
+
let records = this.applyFilter(recordsIn, dataUnit, request.filters);
|
75
|
+
records = this.applySorting(records, dataUnit, request.sort);
|
76
|
+
return Promise.resolve({ records, paginationInfo: buildPaginationInfo(request, records) });
|
77
|
+
}
|
78
|
+
applyFilter(records, dataUnit, filters) {
|
79
|
+
const columnFilters = ColumnFilterManager.getColumnFilters(filters, "");
|
80
|
+
if (columnFilters == undefined || columnFilters.size == 0) {
|
81
|
+
return records;
|
82
|
+
}
|
83
|
+
const filterFunciton = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
84
|
+
if (filterFunciton == undefined) {
|
85
|
+
return records;
|
86
|
+
}
|
87
|
+
return records.filter(filterFunciton);
|
88
|
+
}
|
89
|
+
applySorting(records, dataUnit, sorting) {
|
90
|
+
if (sorting == undefined || sorting.length == 0) {
|
91
|
+
return records;
|
92
|
+
}
|
93
|
+
const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
|
94
|
+
if (sortingFunction == undefined) {
|
95
|
+
return records;
|
96
|
+
}
|
97
|
+
return records.sort(sortingFunction);
|
98
|
+
}
|
77
99
|
metadaLoader() {
|
78
100
|
return Promise.resolve(this._metadata);
|
79
101
|
}
|
@@ -105,3 +127,16 @@ export default class InMemoryLoader {
|
|
105
127
|
}
|
106
128
|
}
|
107
129
|
InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = "InMemoryDataUnit";
|
130
|
+
function buildPaginationInfo({ offset, limit }, records) {
|
131
|
+
if (offset === undefined || limit === undefined) {
|
132
|
+
return undefined;
|
133
|
+
}
|
134
|
+
const lastRecord = Math.min(offset + limit, records.length);
|
135
|
+
return {
|
136
|
+
currentPage: Math.ceil(offset / limit),
|
137
|
+
firstRecord: offset,
|
138
|
+
lastRecord: lastRecord,
|
139
|
+
total: records.length,
|
140
|
+
hasMore: !!(records.length - lastRecord),
|
141
|
+
};
|
142
|
+
}
|
@@ -39,7 +39,7 @@ export default class PreloadManager {
|
|
39
39
|
let filterFunction;
|
40
40
|
const request = dataUnit.getLastLoadRequest();
|
41
41
|
if (request != undefined) {
|
42
|
-
const columnFilters = ColumnFilterManager.getColumnFilters(request.filters);
|
42
|
+
const columnFilters = ColumnFilterManager.getColumnFilters(request.filters, fieldName);
|
43
43
|
filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
44
44
|
}
|
45
45
|
return new Promise((accept, reject) => {
|
@@ -114,7 +114,7 @@ export default class PreloadManager {
|
|
114
114
|
}
|
115
115
|
static async loadFromCache(dataUnit, request) {
|
116
116
|
return new Promise((accept, reject) => {
|
117
|
-
const columnFilters = ColumnFilterManager.getColumnFilters(request.filters);
|
117
|
+
const columnFilters = ColumnFilterManager.getColumnFilters(request.filters, "");
|
118
118
|
const { limit, offset, sort } = request;
|
119
119
|
PreloadManager.getRepository(dataUnit)
|
120
120
|
.load(ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { DataType, FieldComparator, SortMode, DataUnit,
|
1
|
+
import { DataType, FieldComparator, SortMode, DataUnit, DateUtils, StringUtils, ChangeOperation, UserInterface, DataUnitStorage } from '@sankhyalabs/core';
|
2
2
|
import { d as dist, D as DataFetcher } from './DataFetcher.js';
|
3
3
|
import { DISTINCT_FILTER_NAME_PREFIX } from '@sankhyalabs/ezui/dist/collection/utils/constants';
|
4
4
|
import { DataUnitTransient } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
|
@@ -285,7 +285,7 @@ class PreloadManager {
|
|
285
285
|
let filterFunction;
|
286
286
|
const request = dataUnit.getLastLoadRequest();
|
287
287
|
if (request != undefined) {
|
288
|
-
const columnFilters = ColumnFilterManager.getColumnFilters(request.filters);
|
288
|
+
const columnFilters = ColumnFilterManager.getColumnFilters(request.filters, fieldName);
|
289
289
|
filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
290
290
|
}
|
291
291
|
return new Promise((accept, reject) => {
|
@@ -360,7 +360,7 @@ class PreloadManager {
|
|
360
360
|
}
|
361
361
|
static async loadFromCache(dataUnit, request) {
|
362
362
|
return new Promise((accept, reject) => {
|
363
|
-
const columnFilters = ColumnFilterManager.getColumnFilters(request.filters);
|
363
|
+
const columnFilters = ColumnFilterManager.getColumnFilters(request.filters, "");
|
364
364
|
const { limit, offset, sort } = request;
|
365
365
|
PreloadManager.getRepository(dataUnit)
|
366
366
|
.load(ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
|
@@ -390,21 +390,16 @@ class InMemoryLoader {
|
|
390
390
|
this.records = records;
|
391
391
|
this._dataUnit = new DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
|
392
392
|
this._dataUnit.metadataLoader = () => this.metadaLoader();
|
393
|
-
this._dataUnit.dataLoader = (dataUnit, request) =>
|
393
|
+
this._dataUnit.dataLoader = (dataUnit, request) => this.inMemoryLoader(dataUnit, request, this.getRecordsToLoad());
|
394
394
|
this._dataUnit.saveLoader = (_dataUnit, changes) => this.saveLoader(_dataUnit, changes);
|
395
395
|
this._dataUnit.removeLoader = (_dataUnit, recordIds) => this.removeLoader(_dataUnit, recordIds);
|
396
396
|
this.dataUnit.loadMetadata().then(() => this.dataUnit.loadData());
|
397
397
|
}
|
398
398
|
getRecordsToLoad() {
|
399
|
-
if (this._initialRecords) {
|
400
|
-
|
401
|
-
return this._initialRecords;
|
402
|
-
}
|
403
|
-
finally {
|
404
|
-
this._initialRecords = undefined;
|
405
|
-
}
|
399
|
+
if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
|
400
|
+
this._initialRecords = this.dataUnit.records;
|
406
401
|
}
|
407
|
-
return this.
|
402
|
+
return this._initialRecords;
|
408
403
|
}
|
409
404
|
get dataUnit() {
|
410
405
|
return this._dataUnit;
|
@@ -440,11 +435,10 @@ class InMemoryLoader {
|
|
440
435
|
}
|
441
436
|
return record;
|
442
437
|
});
|
438
|
+
this._initialRecords = newRecords;
|
443
439
|
if (this._dataUnit) {
|
444
|
-
|
445
|
-
|
446
|
-
else {
|
447
|
-
this._initialRecords = newRecords;
|
440
|
+
//Isso força o refresh internamente no datunit
|
441
|
+
this._dataUnit.gotoPage(0);
|
448
442
|
}
|
449
443
|
}
|
450
444
|
get metadata() {
|
@@ -459,6 +453,32 @@ class InMemoryLoader {
|
|
459
453
|
generateUniqueId() {
|
460
454
|
return StringUtils.generateUUID();
|
461
455
|
}
|
456
|
+
inMemoryLoader(dataUnit, request, recordsIn) {
|
457
|
+
let records = this.applyFilter(recordsIn, dataUnit, request.filters);
|
458
|
+
records = this.applySorting(records, dataUnit, request.sort);
|
459
|
+
return Promise.resolve({ records, paginationInfo: buildPaginationInfo(request, records) });
|
460
|
+
}
|
461
|
+
applyFilter(records, dataUnit, filters) {
|
462
|
+
const columnFilters = ColumnFilterManager.getColumnFilters(filters, "");
|
463
|
+
if (columnFilters == undefined || columnFilters.size == 0) {
|
464
|
+
return records;
|
465
|
+
}
|
466
|
+
const filterFunciton = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
467
|
+
if (filterFunciton == undefined) {
|
468
|
+
return records;
|
469
|
+
}
|
470
|
+
return records.filter(filterFunciton);
|
471
|
+
}
|
472
|
+
applySorting(records, dataUnit, sorting) {
|
473
|
+
if (sorting == undefined || sorting.length == 0) {
|
474
|
+
return records;
|
475
|
+
}
|
476
|
+
const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
|
477
|
+
if (sortingFunction == undefined) {
|
478
|
+
return records;
|
479
|
+
}
|
480
|
+
return records.sort(sortingFunction);
|
481
|
+
}
|
462
482
|
metadaLoader() {
|
463
483
|
return Promise.resolve(this._metadata);
|
464
484
|
}
|
@@ -490,6 +510,19 @@ class InMemoryLoader {
|
|
490
510
|
}
|
491
511
|
}
|
492
512
|
InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = "InMemoryDataUnit";
|
513
|
+
function buildPaginationInfo({ offset, limit }, records) {
|
514
|
+
if (offset === undefined || limit === undefined) {
|
515
|
+
return undefined;
|
516
|
+
}
|
517
|
+
const lastRecord = Math.min(offset + limit, records.length);
|
518
|
+
return {
|
519
|
+
currentPage: Math.ceil(offset / limit),
|
520
|
+
firstRecord: offset,
|
521
|
+
lastRecord: lastRecord,
|
522
|
+
total: records.length,
|
523
|
+
hasMore: !!(records.length - lastRecord),
|
524
|
+
};
|
525
|
+
}
|
493
526
|
|
494
527
|
class DatasetStrategy {
|
495
528
|
canSlice() {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
2
|
-
import { Action, ObjectUtils, JSUtils, ApplicationContext, DataType } from '@sankhyalabs/core';
|
2
|
+
import { Action, ObjectUtils, JSUtils, DataUnitAction, ApplicationContext, DataType } 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.js';
|
5
5
|
|
@@ -163,6 +163,10 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
163
163
|
}
|
164
164
|
return selectedRecordsIDsInfo;
|
165
165
|
}
|
166
|
+
getCleanOnCopyFields() {
|
167
|
+
var _a;
|
168
|
+
return (_a = this.dataUnit.metadata) === null || _a === void 0 ? void 0 : _a.fields.filter(field => { var _a; return (_a = field.properties) === null || _a === void 0 ? void 0 : _a.cleanOnCopy; }).map(field => field.name);
|
169
|
+
}
|
166
170
|
async interceptAction(action) {
|
167
171
|
return new Promise(resolve => {
|
168
172
|
var _a, _b, _c, _d, _e;
|
@@ -177,6 +181,15 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
177
181
|
break;
|
178
182
|
case Action.RECORDS_COPIED:
|
179
183
|
if (this.isAllowed("CLONE")) {
|
184
|
+
const cleanFields = this.getCleanOnCopyFields();
|
185
|
+
if (cleanFields.length > 0) {
|
186
|
+
const records = action.payload;
|
187
|
+
action = new DataUnitAction(Action.RECORDS_COPIED, records.map(record => {
|
188
|
+
const newRecord = Object.assign({}, record);
|
189
|
+
cleanFields.forEach(fieldName => delete newRecord[fieldName]);
|
190
|
+
return newRecord;
|
191
|
+
}));
|
192
|
+
}
|
180
193
|
resolve(action);
|
181
194
|
}
|
182
195
|
else {
|
@@ -120,7 +120,7 @@ class PreloadManager {
|
|
120
120
|
let filterFunction;
|
121
121
|
const request = dataUnit.getLastLoadRequest();
|
122
122
|
if (request != undefined) {
|
123
|
-
const columnFilters = ColumnFilterManager.getColumnFilters(request.filters);
|
123
|
+
const columnFilters = ColumnFilterManager.getColumnFilters(request.filters, fieldName);
|
124
124
|
filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
|
125
125
|
}
|
126
126
|
return new Promise((accept, reject) => {
|
@@ -195,7 +195,7 @@ class PreloadManager {
|
|
195
195
|
}
|
196
196
|
static async loadFromCache(dataUnit, request) {
|
197
197
|
return new Promise((accept, reject) => {
|
198
|
-
const columnFilters = ColumnFilterManager.getColumnFilters(request.filters);
|
198
|
+
const columnFilters = ColumnFilterManager.getColumnFilters(request.filters, "");
|
199
199
|
const { limit, offset, sort } = request;
|
200
200
|
PreloadManager.getRepository(dataUnit)
|
201
201
|
.load(ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
|