@sankhyalabs/sankhyablocks 8.7.0 → 8.8.0-rc.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-1097ff27.js → ConfigStorage-a97ca159.js} +2 -2
- package/dist/cjs/{DataFetcher-a00bc007.js → DataFetcher-2a99283c.js} +19 -10
- package/dist/cjs/{SnkFormConfigManager-a4b4d852.js → SnkFormConfigManager-f641f502.js} +2 -2
- package/dist/cjs/{SnkMultiSelectionListDataSource-804ff4c7.js → SnkMultiSelectionListDataSource-56db34ee.js} +11 -0
- package/dist/cjs/{auth-fetcher-92f3040b.js → auth-fetcher-78231356.js} +1 -1
- package/dist/cjs/dataunit-fetcher-4f7d4ee7.js +878 -0
- package/dist/cjs/{form-config-fetcher-60fbeb94.js → form-config-fetcher-a322a522.js} +1 -1
- package/dist/cjs/{pesquisa-fetcher-b2ed9767.js → pesquisa-fetcher-7ef61508.js} +1 -1
- package/dist/cjs/snk-actions-button.cjs.entry.js +4 -3
- package/dist/cjs/snk-application.cjs.entry.js +17 -8
- package/dist/cjs/snk-attach.cjs.entry.js +16 -3
- package/dist/cjs/snk-crud.cjs.entry.js +6 -4
- package/dist/cjs/snk-data-exporter.cjs.entry.js +1 -1
- package/dist/cjs/snk-detail-view.cjs.entry.js +8 -6
- package/dist/cjs/snk-filter-bar.cjs.entry.js +3 -3
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
- package/dist/cjs/snk-form-config.cjs.entry.js +2 -2
- package/dist/cjs/snk-form.cjs.entry.js +4 -4
- package/dist/cjs/snk-grid-config.cjs.entry.js +3 -3
- package/dist/cjs/snk-grid.cjs.entry.js +25 -14
- package/dist/cjs/{snk-guides-viewer-eab0ec84.js → snk-guides-viewer-aab80f66.js} +5 -4
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -6
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +19 -9
- package/dist/cjs/snk-simple-crud.cjs.entry.js +8 -92
- package/dist/collection/components/snk-application/snk-application.js +11 -3
- package/dist/collection/components/snk-attach/snk-attach.js +14 -2
- package/dist/collection/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.js +11 -0
- package/dist/collection/components/snk-grid/snk-grid.js +24 -14
- package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +16 -6
- package/dist/collection/lib/dataUnit/InMemoryLoader.js +23 -2
- package/dist/collection/lib/http/data-fetcher/DataFetcher.js +19 -10
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +113 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +59 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +169 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/{dataunit-fetcher.js → data-unit/dataunit-fetcher.js} +48 -100
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataResult.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataStrategy.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRecordField.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IResponseRecord.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DataUnitStrategy.js +68 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +131 -0
- package/dist/collection/lib/index.js +1 -1
- package/dist/components/DataFetcher.js +19 -10
- package/dist/components/SnkMultiSelectionListDataSource.js +11 -0
- package/dist/components/dataunit-fetcher.js +781 -100
- package/dist/components/snk-actions-button2.js +1 -1
- package/dist/components/snk-application2.js +11 -4
- package/dist/components/snk-attach2.js +13 -1
- package/dist/components/snk-crud.js +1 -1
- package/dist/components/snk-detail-view2.js +1 -1
- package/dist/components/snk-grid2.js +19 -11
- package/dist/components/snk-personalized-filter2.js +16 -6
- package/dist/components/snk-simple-crud2.js +2 -88
- package/dist/esm/{ConfigStorage-4d30a649.js → ConfigStorage-26f89143.js} +2 -2
- package/dist/esm/{DataFetcher-487d6aad.js → DataFetcher-90e91631.js} +19 -10
- package/dist/esm/{SnkFormConfigManager-da594f63.js → SnkFormConfigManager-18948123.js} +2 -2
- package/dist/esm/{SnkMultiSelectionListDataSource-892f37f9.js → SnkMultiSelectionListDataSource-b9410c72.js} +11 -0
- package/dist/esm/{auth-fetcher-5c3ae75b.js → auth-fetcher-a8c8ee7e.js} +1 -1
- package/dist/esm/dataunit-fetcher-1c2ccae2.js +874 -0
- package/dist/esm/{form-config-fetcher-cd3fa459.js → form-config-fetcher-7c3b6273.js} +1 -1
- package/dist/{components/pesquisa-fetcher.js → esm/pesquisa-fetcher-90d6853b.js} +1 -1
- package/dist/esm/snk-actions-button.entry.js +4 -3
- package/dist/esm/snk-application.entry.js +17 -8
- package/dist/esm/snk-attach.entry.js +16 -3
- package/dist/esm/snk-crud.entry.js +6 -4
- package/dist/esm/snk-data-exporter.entry.js +1 -1
- package/dist/esm/snk-detail-view.entry.js +8 -6
- package/dist/esm/snk-filter-bar.entry.js +3 -3
- package/dist/esm/snk-filter-modal-item.entry.js +3 -3
- package/dist/esm/snk-form-config.entry.js +2 -2
- package/dist/esm/snk-form.entry.js +4 -4
- package/dist/esm/snk-grid-config.entry.js +3 -3
- package/dist/esm/snk-grid.entry.js +26 -15
- package/dist/esm/{snk-guides-viewer-cff5e95d.js → snk-guides-viewer-62b0fa69.js} +5 -4
- package/dist/esm/snk-guides-viewer.entry.js +8 -6
- package/dist/esm/snk-personalized-filter.entry.js +19 -9
- package/dist/esm/snk-simple-crud.entry.js +7 -91
- package/dist/sankhyablocks/p-193971ad.js +1 -0
- package/dist/sankhyablocks/{p-54f01129.entry.js → p-19cbe6e2.entry.js} +3 -3
- package/dist/sankhyablocks/{p-ee57d9f5.js → p-240f5892.js} +1 -1
- package/dist/sankhyablocks/p-2c7c1323.entry.js +1 -0
- package/dist/sankhyablocks/p-3253e7f2.entry.js +1 -0
- package/dist/sankhyablocks/{p-c9fa27ce.entry.js → p-57550ddc.entry.js} +1 -1
- package/dist/sankhyablocks/{p-e2160bdd.js → p-5d51bff4.js} +1 -1
- package/dist/sankhyablocks/{p-ebd9f2b1.entry.js → p-5dd52ec5.entry.js} +1 -1
- package/dist/sankhyablocks/p-6541f0df.js +1 -0
- package/dist/sankhyablocks/p-68fbd480.entry.js +1 -0
- package/dist/sankhyablocks/{p-5e5816ed.entry.js → p-8652f90b.entry.js} +1 -1
- package/dist/sankhyablocks/{p-358e8f7b.js → p-910af03c.js} +1 -1
- package/dist/sankhyablocks/p-992a9d0f.js +1 -0
- package/dist/sankhyablocks/p-acb1374c.entry.js +1 -0
- package/dist/sankhyablocks/p-b36053da.entry.js +1 -0
- package/dist/sankhyablocks/p-b481e5ad.js +1 -0
- package/dist/sankhyablocks/p-d264da22.entry.js +1 -0
- package/dist/sankhyablocks/{p-33745612.js → p-d47bbee3.js} +1 -1
- package/dist/sankhyablocks/{p-86d00468.entry.js → p-d563e451.entry.js} +1 -1
- package/dist/sankhyablocks/p-d56b65e3.entry.js +1 -0
- package/dist/sankhyablocks/p-e473ca13.entry.js +1 -0
- package/dist/sankhyablocks/{p-6cd36947.entry.js → p-e74e2153.entry.js} +1 -1
- package/dist/sankhyablocks/p-e86d4a53.js +59 -0
- package/dist/sankhyablocks/{p-d109914d.entry.js → p-ebfa6460.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-application/snk-application.d.ts +1 -1
- package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
- package/dist/types/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.d.ts +1 -0
- package/dist/types/components/snk-grid/snk-grid.d.ts +3 -4
- package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +3 -1
- package/dist/types/components.d.ts +3 -2
- package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +2 -1
- package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +13 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +19 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +25 -0
- package/dist/types/lib/http/data-fetcher/fetchers/{dataunit-fetcher.d.ts → data-unit/dataunit-fetcher.d.ts} +5 -3
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataResult.d.ts +6 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataStrategy.d.ts +7 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +8 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRecordField.d.ts +4 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IResponseRecord.d.ts +6 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DataUnitStrategy.d.ts +9 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +15 -0
- package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +1 -1
- package/dist/types/lib/index.d.ts +1 -1
- package/package.json +3 -3
- package/dist/cjs/dataunit-fetcher-32bb845f.js +0 -356
- package/dist/esm/dataunit-fetcher-d3033a06.js +0 -354
- package/dist/esm/pesquisa-fetcher-615da3ca.js +0 -165
- package/dist/sankhyablocks/p-0abc880c.entry.js +0 -1
- package/dist/sankhyablocks/p-1284f14a.entry.js +0 -1
- package/dist/sankhyablocks/p-162161ae.entry.js +0 -1
- package/dist/sankhyablocks/p-329f7520.entry.js +0 -1
- package/dist/sankhyablocks/p-401da0a5.entry.js +0 -1
- package/dist/sankhyablocks/p-5d62a74e.js +0 -1
- package/dist/sankhyablocks/p-5e63571e.entry.js +0 -1
- package/dist/sankhyablocks/p-6b2ee5b5.entry.js +0 -1
- package/dist/sankhyablocks/p-719c246f.js +0 -1
- package/dist/sankhyablocks/p-89b3df4c.js +0 -1
- package/dist/sankhyablocks/p-90946802.js +0 -76
- package/dist/sankhyablocks/p-b417c608.entry.js +0 -1
- package/dist/sankhyablocks/p-fa9d3f73.js +0 -1
@@ -1,356 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
const core = require('@sankhyalabs/core');
|
4
|
-
const DataFetcher = require('./DataFetcher-a00bc007.js');
|
5
|
-
const constants = require('@sankhyalabs/ezui/dist/collection/utils/constants');
|
6
|
-
const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
|
7
|
-
|
8
|
-
var __rest = (undefined && undefined.__rest) || function (s, e) {
|
9
|
-
var t = {};
|
10
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
11
|
-
t[p] = s[p];
|
12
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
13
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
14
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
15
|
-
t[p[i]] = s[p[i]];
|
16
|
-
}
|
17
|
-
return t;
|
18
|
-
};
|
19
|
-
class DataUnitFetcher {
|
20
|
-
constructor() {
|
21
|
-
this.templateByQuery = new Map();
|
22
|
-
this._loadDataTimeout = {};
|
23
|
-
this.buldTemplates();
|
24
|
-
}
|
25
|
-
buldTemplates() {
|
26
|
-
this.templateByQuery.set("fetchDataUnit", DataFetcher.dist.gql `query($name: String!) {
|
27
|
-
$queryAlias$: fetchDataUnit(name: $name){
|
28
|
-
name
|
29
|
-
fields{
|
30
|
-
name
|
31
|
-
defaultValue
|
32
|
-
label
|
33
|
-
visible
|
34
|
-
readOnly
|
35
|
-
required
|
36
|
-
dataType
|
37
|
-
userInterface
|
38
|
-
calculated
|
39
|
-
group
|
40
|
-
order
|
41
|
-
properties{
|
42
|
-
name
|
43
|
-
value
|
44
|
-
}
|
45
|
-
dependencies{
|
46
|
-
masterFields
|
47
|
-
type
|
48
|
-
expression
|
49
|
-
}
|
50
|
-
}
|
51
|
-
children{
|
52
|
-
name
|
53
|
-
label
|
54
|
-
links{
|
55
|
-
source
|
56
|
-
target
|
57
|
-
}
|
58
|
-
}
|
59
|
-
}
|
60
|
-
}`);
|
61
|
-
this.templateByQuery.set("fetchData", DataFetcher.dist.gql `query($dataunit: String! $limit: Int $offset:Int $filters: [InputFilter!] $sort: [InputSort!] $parentRecordId: String) {
|
62
|
-
$queryAlias$: fetchDataUnit(name: $dataunit){
|
63
|
-
data(limit: $limit offset: $offset filters: $filters sort: $sort parentRecordId: $parentRecordId){
|
64
|
-
limit
|
65
|
-
offset
|
66
|
-
total
|
67
|
-
hasMore
|
68
|
-
records{
|
69
|
-
id
|
70
|
-
label
|
71
|
-
fields {
|
72
|
-
name
|
73
|
-
value
|
74
|
-
}
|
75
|
-
}
|
76
|
-
}
|
77
|
-
}
|
78
|
-
}`);
|
79
|
-
this.templateByQuery.set("saveData", DataFetcher.dist.gql `mutation($changes: [InputBatchChange!]!) {
|
80
|
-
$queryAlias$: batchOperationDataUnit(changes: $changes){
|
81
|
-
oldId
|
82
|
-
id
|
83
|
-
label
|
84
|
-
ownerDataUnitName
|
85
|
-
fields {
|
86
|
-
name
|
87
|
-
value
|
88
|
-
}
|
89
|
-
}
|
90
|
-
}`);
|
91
|
-
this.templateByQuery.set("fetchDataRecord", DataFetcher.dist.gql `query($dataunit: String! $recordID: [String!]) {
|
92
|
-
$queryAlias$: fetchDataUnit(name: $dataunit){
|
93
|
-
record(id: $recordID){
|
94
|
-
id
|
95
|
-
label
|
96
|
-
fields {
|
97
|
-
name
|
98
|
-
value
|
99
|
-
}
|
100
|
-
}
|
101
|
-
}
|
102
|
-
}`);
|
103
|
-
this.templateByQuery.set("fetchDistinctColumn", DataFetcher.dist.gql `query($dataUnit: String!, $fieldName: String!, $argument: String, $filters: [InputFilter], $parentRecordId: String) {
|
104
|
-
$queryAlias$: selectDistinct(dataUnit: $dataUnit, fieldName: $fieldName, argument: $argument, filters: $filters, parentRecordId: $parentRecordId)
|
105
|
-
}`);
|
106
|
-
}
|
107
|
-
getDataUnit(entityName, resourceID, parentDataUnit, configName) {
|
108
|
-
const duName = `dd://${entityName}/${resourceID}${configName ? "/" + configName : ""}`;
|
109
|
-
const dataUnit = parentDataUnit != undefined ? parentDataUnit.getChildDataunit(duName) : new core.DataUnit(duName);
|
110
|
-
dataUnit.metadataLoader = (dataUnit) => this.loadMetadata(dataUnit);
|
111
|
-
dataUnit.dataLoader = (dataUnit, request) => this.loadData(dataUnit, request);
|
112
|
-
dataUnit.saveLoader = (_dataUnit, changes) => this.saveData(dataUnit, changes);
|
113
|
-
dataUnit.removeLoader = (dataUnit, recordIds) => this.removeRecords(dataUnit, recordIds);
|
114
|
-
dataUnit.recordLoader = (dataUnit, recordIds) => this.loadRecord(dataUnit, recordIds);
|
115
|
-
return dataUnit;
|
116
|
-
}
|
117
|
-
loadMetadata(dataUnit) {
|
118
|
-
return new Promise((resolve, reject) => {
|
119
|
-
DataFetcher.DataFetcher.get()
|
120
|
-
.callGraphQL({
|
121
|
-
values: { name: dataUnit.name },
|
122
|
-
query: this.templateByQuery.get("fetchDataUnit"),
|
123
|
-
})
|
124
|
-
.then((resp) => {
|
125
|
-
var _a;
|
126
|
-
const metadata = {
|
127
|
-
name: resp.name,
|
128
|
-
label: resp.name,
|
129
|
-
children: [...resp.children],
|
130
|
-
fields: []
|
131
|
-
};
|
132
|
-
(_a = resp.fields) === null || _a === void 0 ? void 0 : _a.forEach((source) => {
|
133
|
-
let properties = undefined;
|
134
|
-
if (Array.isArray(source.properties)) {
|
135
|
-
properties = {};
|
136
|
-
if (source.calculated) {
|
137
|
-
properties.gridHeaderTooltip = "Campos calculados não podem ser ordenados";
|
138
|
-
}
|
139
|
-
source.properties.forEach((prop) => (properties[prop.name] = prop.value));
|
140
|
-
}
|
141
|
-
metadata.fields.push(Object.assign(Object.assign({}, source), { properties }));
|
142
|
-
});
|
143
|
-
metadata.fields.sort((a, b) => a.order - b.order);
|
144
|
-
resolve(metadata);
|
145
|
-
})
|
146
|
-
.catch((error) => {
|
147
|
-
reject(error);
|
148
|
-
});
|
149
|
-
});
|
150
|
-
}
|
151
|
-
async loadData(dataUnit, request) {
|
152
|
-
try {
|
153
|
-
const duName = dataUnit.name;
|
154
|
-
if (this._loadDataTimeout[duName]) {
|
155
|
-
clearTimeout(this._loadDataTimeout[duName]);
|
156
|
-
delete this._loadDataTimeout[duName];
|
157
|
-
}
|
158
|
-
const result = await this.doLoadData(dataUnit, request);
|
159
|
-
delete this._loadDataTimeout[duName];
|
160
|
-
await new Promise(resolve => {
|
161
|
-
this._loadDataTimeout[duName] = setTimeout(resolve, 200);
|
162
|
-
});
|
163
|
-
return Promise.resolve(result);
|
164
|
-
}
|
165
|
-
catch (error) {
|
166
|
-
return Promise.reject(error);
|
167
|
-
}
|
168
|
-
}
|
169
|
-
loadSelectDistinct(dataUnit, fieldName, argument) {
|
170
|
-
const { parentRecordId, filters } = dataUnit.getLastLoadRequest() || {};
|
171
|
-
const filteredFilters = filters.filter(f => f.name !== `${constants.DISTINCT_FILTER_NAME_PREFIX}${fieldName}`);
|
172
|
-
const values = {
|
173
|
-
dataUnit: dataUnit.name,
|
174
|
-
argument,
|
175
|
-
fieldName,
|
176
|
-
parentRecordId,
|
177
|
-
filters: filteredFilters
|
178
|
-
};
|
179
|
-
return new Promise((resolve, reject) => {
|
180
|
-
DataFetcher.DataFetcher.get()
|
181
|
-
.callGraphQL({
|
182
|
-
values,
|
183
|
-
query: this.templateByQuery.get("fetchDistinctColumn"),
|
184
|
-
})
|
185
|
-
.then((result) => {
|
186
|
-
resolve(result);
|
187
|
-
})
|
188
|
-
.catch((error) => {
|
189
|
-
reject(error);
|
190
|
-
});
|
191
|
-
});
|
192
|
-
}
|
193
|
-
doLoadData(dataUnit, request) {
|
194
|
-
return new Promise((resolve, reject) => {
|
195
|
-
var _a;
|
196
|
-
const { sort, filters, limit, offset, quickFilter } = request;
|
197
|
-
const variables = { dataunit: dataUnit.name, sort, filters };
|
198
|
-
variables.limit = limit;
|
199
|
-
variables.offset = offset;
|
200
|
-
variables.parentRecordId = request.parentRecordId;
|
201
|
-
if (!core.StringUtils.isEmpty(quickFilter === null || quickFilter === void 0 ? void 0 : quickFilter.term)) {
|
202
|
-
if (variables.filter === undefined) {
|
203
|
-
variables.filter = [];
|
204
|
-
}
|
205
|
-
const quickFilterCriteria = {
|
206
|
-
name: "__QUICK_FILTER__",
|
207
|
-
expression: "__QUICK_FILTER__",
|
208
|
-
params: [{ name: "term", dataType: core.DataType.TEXT, value: quickFilter.term }]
|
209
|
-
};
|
210
|
-
if (((_a = quickFilter === null || quickFilter === void 0 ? void 0 : quickFilter.fields) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
211
|
-
quickFilterCriteria.params.push({ name: "fields", dataType: core.DataType.OBJECT, value: quickFilter.fields });
|
212
|
-
}
|
213
|
-
variables.filter.push(quickFilterCriteria);
|
214
|
-
}
|
215
|
-
DataFetcher.DataFetcher.get()
|
216
|
-
.callGraphQL({
|
217
|
-
values: variables,
|
218
|
-
query: this.templateByQuery.get("fetchData"),
|
219
|
-
})
|
220
|
-
.then((resp) => {
|
221
|
-
const { limit, offset, total, hasMore, records } = resp.data;
|
222
|
-
let paginationInfo;
|
223
|
-
if (limit) {
|
224
|
-
const firstRecord = total == 0 ? 0 : offset + 1;
|
225
|
-
const lastRecord = offset + Math.min(records.length, limit);
|
226
|
-
const currentPage = offset / limit;
|
227
|
-
paginationInfo = {
|
228
|
-
firstRecord,
|
229
|
-
lastRecord,
|
230
|
-
total,
|
231
|
-
currentPage,
|
232
|
-
hasMore
|
233
|
-
};
|
234
|
-
}
|
235
|
-
const processedRecords = [];
|
236
|
-
records.forEach((responseRecord) => {
|
237
|
-
const duRecord = { __record__id__: responseRecord.id, __record__label__: responseRecord.label };
|
238
|
-
responseRecord.fields.forEach(({ name, value }) => {
|
239
|
-
duRecord[name] = dataUnit.valueFromString(name, value);
|
240
|
-
});
|
241
|
-
processedRecords.push(duRecord);
|
242
|
-
});
|
243
|
-
resolve({
|
244
|
-
paginationInfo,
|
245
|
-
records: processedRecords
|
246
|
-
});
|
247
|
-
})
|
248
|
-
.catch((error) => {
|
249
|
-
reject(error);
|
250
|
-
});
|
251
|
-
});
|
252
|
-
}
|
253
|
-
saveData(dataUnit, duChanges) {
|
254
|
-
const changes = duChanges.map((change) => {
|
255
|
-
const { dataUnit: changeDU, record, updatingFields, operation } = change;
|
256
|
-
const dataUnitInstance = core.DataUnitStorage.get(changeDU);
|
257
|
-
let parsedUpdatingFields;
|
258
|
-
if (updatingFields) {
|
259
|
-
parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
|
260
|
-
const descriptor = dataUnitInstance.getField(fieldName);
|
261
|
-
const dataType = descriptor ? descriptor.dataType : core.DataType.TEXT;
|
262
|
-
return { fieldName, dataType, value: dataUnitInstance.valueToString(fieldName, value) };
|
263
|
-
});
|
264
|
-
}
|
265
|
-
const reqChange = { dataUnit: changeDU, fields: parsedUpdatingFields, operation, recordId: record.__record__id__ };
|
266
|
-
if (change.sourceId) {
|
267
|
-
reqChange.sourceId = change.sourceId;
|
268
|
-
}
|
269
|
-
if (record.__parent__record__id__) {
|
270
|
-
reqChange.parentRecordId = record.__parent__record__id__;
|
271
|
-
}
|
272
|
-
return reqChange;
|
273
|
-
});
|
274
|
-
return new Promise((resolve, reject) => {
|
275
|
-
const changesFormatted = changes.map((_a) => {
|
276
|
-
var rest = __rest(_a, []);
|
277
|
-
return rest;
|
278
|
-
});
|
279
|
-
DataFetcher.DataFetcher.get()
|
280
|
-
.callGraphQL({
|
281
|
-
values: { changes: changesFormatted },
|
282
|
-
query: this.templateByQuery.get("saveData"),
|
283
|
-
})
|
284
|
-
.then((resp) => {
|
285
|
-
const dataUnitRecords = [];
|
286
|
-
resp === null || resp === void 0 ? void 0 : resp.forEach((responseRecord) => {
|
287
|
-
const duRecord = {
|
288
|
-
__record__id__: responseRecord.id,
|
289
|
-
__record__label__: responseRecord.label,
|
290
|
-
__owner__dataunit__name__: responseRecord.ownerDataUnitName,
|
291
|
-
};
|
292
|
-
const dataUnitInstance = core.DataUnitStorage.get(duRecord.__owner__dataunit__name__) || dataUnit;
|
293
|
-
if (responseRecord.oldId) {
|
294
|
-
duRecord.__old__id__ = responseRecord.oldId;
|
295
|
-
}
|
296
|
-
responseRecord.fields.forEach(({ name, value }) => {
|
297
|
-
var _a;
|
298
|
-
duRecord[name] = ((_a = dataUnitInstance === null || dataUnitInstance === void 0 ? void 0 : dataUnitInstance.valueFromString) === null || _a === void 0 ? void 0 : _a.call(dataUnitInstance, name, value)) || value;
|
299
|
-
});
|
300
|
-
dataUnitRecords.push(duRecord);
|
301
|
-
});
|
302
|
-
resolve(dataUnitRecords);
|
303
|
-
})
|
304
|
-
.catch((error) => {
|
305
|
-
reject(error);
|
306
|
-
});
|
307
|
-
});
|
308
|
-
}
|
309
|
-
getTransientInfo(dataUnit, recordID) {
|
310
|
-
const { records } = dataUnit.getSelectionInfo();
|
311
|
-
return Object.entries(records.filter(record => record.__record__id__ == recordID)[0]).filter(([key]) => key.startsWith(UnitMetadata.DataUnitTransient.DATA_UNIT_TRANSIENT_PREFIX_NAME)).map(([name, value]) => ({ fieldName: name, value, dataType: core.DataType.TEXT }));
|
312
|
-
}
|
313
|
-
removeRecords(dataUnit, recordIds) {
|
314
|
-
const changes = recordIds.map((recordId) => {
|
315
|
-
return { dataUnit: dataUnit.name, operation: core.ChangeOperation.DELETE, recordId, fields: this.getTransientInfo(dataUnit, recordId) };
|
316
|
-
});
|
317
|
-
return new Promise((resolve, reject) => {
|
318
|
-
DataFetcher.DataFetcher.get()
|
319
|
-
.callGraphQL({
|
320
|
-
values: { changes: changes },
|
321
|
-
query: this.templateByQuery.get("saveData"),
|
322
|
-
})
|
323
|
-
.then((_resp) => {
|
324
|
-
resolve(recordIds);
|
325
|
-
})
|
326
|
-
.catch((error) => {
|
327
|
-
reject(error);
|
328
|
-
});
|
329
|
-
});
|
330
|
-
}
|
331
|
-
loadRecord(dataUnit, recordIds) {
|
332
|
-
return new Promise((resolve, reject) => {
|
333
|
-
DataFetcher.DataFetcher.get()
|
334
|
-
.callGraphQL({
|
335
|
-
values: { recordID: recordIds, dataunit: dataUnit.name },
|
336
|
-
query: this.templateByQuery.get("fetchDataRecord"),
|
337
|
-
})
|
338
|
-
.then((response) => {
|
339
|
-
const dataUnitRecords = [];
|
340
|
-
response.record.forEach(responseRecord => {
|
341
|
-
const duRecord = { __record__id__: responseRecord.id, __record__label__: responseRecord.label };
|
342
|
-
responseRecord.fields.forEach(({ name, value }) => {
|
343
|
-
duRecord[name] = dataUnit.valueFromString(name, value);
|
344
|
-
});
|
345
|
-
dataUnitRecords.push(duRecord);
|
346
|
-
});
|
347
|
-
resolve(dataUnitRecords);
|
348
|
-
})
|
349
|
-
.catch((error) => {
|
350
|
-
reject(error);
|
351
|
-
});
|
352
|
-
});
|
353
|
-
}
|
354
|
-
}
|
355
|
-
|
356
|
-
exports.DataUnitFetcher = DataUnitFetcher;
|
@@ -1,354 +0,0 @@
|
|
1
|
-
import { DataUnit, StringUtils, DataType, DataUnitStorage, ChangeOperation } from '@sankhyalabs/core';
|
2
|
-
import { d as dist, D as DataFetcher } from './DataFetcher-487d6aad.js';
|
3
|
-
import { DISTINCT_FILTER_NAME_PREFIX } from '@sankhyalabs/ezui/dist/collection/utils/constants';
|
4
|
-
import { DataUnitTransient } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
|
5
|
-
|
6
|
-
var __rest = (undefined && undefined.__rest) || function (s, e) {
|
7
|
-
var t = {};
|
8
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
9
|
-
t[p] = s[p];
|
10
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
11
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
12
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
13
|
-
t[p[i]] = s[p[i]];
|
14
|
-
}
|
15
|
-
return t;
|
16
|
-
};
|
17
|
-
class DataUnitFetcher {
|
18
|
-
constructor() {
|
19
|
-
this.templateByQuery = new Map();
|
20
|
-
this._loadDataTimeout = {};
|
21
|
-
this.buldTemplates();
|
22
|
-
}
|
23
|
-
buldTemplates() {
|
24
|
-
this.templateByQuery.set("fetchDataUnit", dist.gql `query($name: String!) {
|
25
|
-
$queryAlias$: fetchDataUnit(name: $name){
|
26
|
-
name
|
27
|
-
fields{
|
28
|
-
name
|
29
|
-
defaultValue
|
30
|
-
label
|
31
|
-
visible
|
32
|
-
readOnly
|
33
|
-
required
|
34
|
-
dataType
|
35
|
-
userInterface
|
36
|
-
calculated
|
37
|
-
group
|
38
|
-
order
|
39
|
-
properties{
|
40
|
-
name
|
41
|
-
value
|
42
|
-
}
|
43
|
-
dependencies{
|
44
|
-
masterFields
|
45
|
-
type
|
46
|
-
expression
|
47
|
-
}
|
48
|
-
}
|
49
|
-
children{
|
50
|
-
name
|
51
|
-
label
|
52
|
-
links{
|
53
|
-
source
|
54
|
-
target
|
55
|
-
}
|
56
|
-
}
|
57
|
-
}
|
58
|
-
}`);
|
59
|
-
this.templateByQuery.set("fetchData", dist.gql `query($dataunit: String! $limit: Int $offset:Int $filters: [InputFilter!] $sort: [InputSort!] $parentRecordId: String) {
|
60
|
-
$queryAlias$: fetchDataUnit(name: $dataunit){
|
61
|
-
data(limit: $limit offset: $offset filters: $filters sort: $sort parentRecordId: $parentRecordId){
|
62
|
-
limit
|
63
|
-
offset
|
64
|
-
total
|
65
|
-
hasMore
|
66
|
-
records{
|
67
|
-
id
|
68
|
-
label
|
69
|
-
fields {
|
70
|
-
name
|
71
|
-
value
|
72
|
-
}
|
73
|
-
}
|
74
|
-
}
|
75
|
-
}
|
76
|
-
}`);
|
77
|
-
this.templateByQuery.set("saveData", dist.gql `mutation($changes: [InputBatchChange!]!) {
|
78
|
-
$queryAlias$: batchOperationDataUnit(changes: $changes){
|
79
|
-
oldId
|
80
|
-
id
|
81
|
-
label
|
82
|
-
ownerDataUnitName
|
83
|
-
fields {
|
84
|
-
name
|
85
|
-
value
|
86
|
-
}
|
87
|
-
}
|
88
|
-
}`);
|
89
|
-
this.templateByQuery.set("fetchDataRecord", dist.gql `query($dataunit: String! $recordID: [String!]) {
|
90
|
-
$queryAlias$: fetchDataUnit(name: $dataunit){
|
91
|
-
record(id: $recordID){
|
92
|
-
id
|
93
|
-
label
|
94
|
-
fields {
|
95
|
-
name
|
96
|
-
value
|
97
|
-
}
|
98
|
-
}
|
99
|
-
}
|
100
|
-
}`);
|
101
|
-
this.templateByQuery.set("fetchDistinctColumn", dist.gql `query($dataUnit: String!, $fieldName: String!, $argument: String, $filters: [InputFilter], $parentRecordId: String) {
|
102
|
-
$queryAlias$: selectDistinct(dataUnit: $dataUnit, fieldName: $fieldName, argument: $argument, filters: $filters, parentRecordId: $parentRecordId)
|
103
|
-
}`);
|
104
|
-
}
|
105
|
-
getDataUnit(entityName, resourceID, parentDataUnit, configName) {
|
106
|
-
const duName = `dd://${entityName}/${resourceID}${configName ? "/" + configName : ""}`;
|
107
|
-
const dataUnit = parentDataUnit != undefined ? parentDataUnit.getChildDataunit(duName) : new DataUnit(duName);
|
108
|
-
dataUnit.metadataLoader = (dataUnit) => this.loadMetadata(dataUnit);
|
109
|
-
dataUnit.dataLoader = (dataUnit, request) => this.loadData(dataUnit, request);
|
110
|
-
dataUnit.saveLoader = (_dataUnit, changes) => this.saveData(dataUnit, changes);
|
111
|
-
dataUnit.removeLoader = (dataUnit, recordIds) => this.removeRecords(dataUnit, recordIds);
|
112
|
-
dataUnit.recordLoader = (dataUnit, recordIds) => this.loadRecord(dataUnit, recordIds);
|
113
|
-
return dataUnit;
|
114
|
-
}
|
115
|
-
loadMetadata(dataUnit) {
|
116
|
-
return new Promise((resolve, reject) => {
|
117
|
-
DataFetcher.get()
|
118
|
-
.callGraphQL({
|
119
|
-
values: { name: dataUnit.name },
|
120
|
-
query: this.templateByQuery.get("fetchDataUnit"),
|
121
|
-
})
|
122
|
-
.then((resp) => {
|
123
|
-
var _a;
|
124
|
-
const metadata = {
|
125
|
-
name: resp.name,
|
126
|
-
label: resp.name,
|
127
|
-
children: [...resp.children],
|
128
|
-
fields: []
|
129
|
-
};
|
130
|
-
(_a = resp.fields) === null || _a === void 0 ? void 0 : _a.forEach((source) => {
|
131
|
-
let properties = undefined;
|
132
|
-
if (Array.isArray(source.properties)) {
|
133
|
-
properties = {};
|
134
|
-
if (source.calculated) {
|
135
|
-
properties.gridHeaderTooltip = "Campos calculados não podem ser ordenados";
|
136
|
-
}
|
137
|
-
source.properties.forEach((prop) => (properties[prop.name] = prop.value));
|
138
|
-
}
|
139
|
-
metadata.fields.push(Object.assign(Object.assign({}, source), { properties }));
|
140
|
-
});
|
141
|
-
metadata.fields.sort((a, b) => a.order - b.order);
|
142
|
-
resolve(metadata);
|
143
|
-
})
|
144
|
-
.catch((error) => {
|
145
|
-
reject(error);
|
146
|
-
});
|
147
|
-
});
|
148
|
-
}
|
149
|
-
async loadData(dataUnit, request) {
|
150
|
-
try {
|
151
|
-
const duName = dataUnit.name;
|
152
|
-
if (this._loadDataTimeout[duName]) {
|
153
|
-
clearTimeout(this._loadDataTimeout[duName]);
|
154
|
-
delete this._loadDataTimeout[duName];
|
155
|
-
}
|
156
|
-
const result = await this.doLoadData(dataUnit, request);
|
157
|
-
delete this._loadDataTimeout[duName];
|
158
|
-
await new Promise(resolve => {
|
159
|
-
this._loadDataTimeout[duName] = setTimeout(resolve, 200);
|
160
|
-
});
|
161
|
-
return Promise.resolve(result);
|
162
|
-
}
|
163
|
-
catch (error) {
|
164
|
-
return Promise.reject(error);
|
165
|
-
}
|
166
|
-
}
|
167
|
-
loadSelectDistinct(dataUnit, fieldName, argument) {
|
168
|
-
const { parentRecordId, filters } = dataUnit.getLastLoadRequest() || {};
|
169
|
-
const filteredFilters = filters.filter(f => f.name !== `${DISTINCT_FILTER_NAME_PREFIX}${fieldName}`);
|
170
|
-
const values = {
|
171
|
-
dataUnit: dataUnit.name,
|
172
|
-
argument,
|
173
|
-
fieldName,
|
174
|
-
parentRecordId,
|
175
|
-
filters: filteredFilters
|
176
|
-
};
|
177
|
-
return new Promise((resolve, reject) => {
|
178
|
-
DataFetcher.get()
|
179
|
-
.callGraphQL({
|
180
|
-
values,
|
181
|
-
query: this.templateByQuery.get("fetchDistinctColumn"),
|
182
|
-
})
|
183
|
-
.then((result) => {
|
184
|
-
resolve(result);
|
185
|
-
})
|
186
|
-
.catch((error) => {
|
187
|
-
reject(error);
|
188
|
-
});
|
189
|
-
});
|
190
|
-
}
|
191
|
-
doLoadData(dataUnit, request) {
|
192
|
-
return new Promise((resolve, reject) => {
|
193
|
-
var _a;
|
194
|
-
const { sort, filters, limit, offset, quickFilter } = request;
|
195
|
-
const variables = { dataunit: dataUnit.name, sort, filters };
|
196
|
-
variables.limit = limit;
|
197
|
-
variables.offset = offset;
|
198
|
-
variables.parentRecordId = request.parentRecordId;
|
199
|
-
if (!StringUtils.isEmpty(quickFilter === null || quickFilter === void 0 ? void 0 : quickFilter.term)) {
|
200
|
-
if (variables.filter === undefined) {
|
201
|
-
variables.filter = [];
|
202
|
-
}
|
203
|
-
const quickFilterCriteria = {
|
204
|
-
name: "__QUICK_FILTER__",
|
205
|
-
expression: "__QUICK_FILTER__",
|
206
|
-
params: [{ name: "term", dataType: DataType.TEXT, value: quickFilter.term }]
|
207
|
-
};
|
208
|
-
if (((_a = quickFilter === null || quickFilter === void 0 ? void 0 : quickFilter.fields) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
209
|
-
quickFilterCriteria.params.push({ name: "fields", dataType: DataType.OBJECT, value: quickFilter.fields });
|
210
|
-
}
|
211
|
-
variables.filter.push(quickFilterCriteria);
|
212
|
-
}
|
213
|
-
DataFetcher.get()
|
214
|
-
.callGraphQL({
|
215
|
-
values: variables,
|
216
|
-
query: this.templateByQuery.get("fetchData"),
|
217
|
-
})
|
218
|
-
.then((resp) => {
|
219
|
-
const { limit, offset, total, hasMore, records } = resp.data;
|
220
|
-
let paginationInfo;
|
221
|
-
if (limit) {
|
222
|
-
const firstRecord = total == 0 ? 0 : offset + 1;
|
223
|
-
const lastRecord = offset + Math.min(records.length, limit);
|
224
|
-
const currentPage = offset / limit;
|
225
|
-
paginationInfo = {
|
226
|
-
firstRecord,
|
227
|
-
lastRecord,
|
228
|
-
total,
|
229
|
-
currentPage,
|
230
|
-
hasMore
|
231
|
-
};
|
232
|
-
}
|
233
|
-
const processedRecords = [];
|
234
|
-
records.forEach((responseRecord) => {
|
235
|
-
const duRecord = { __record__id__: responseRecord.id, __record__label__: responseRecord.label };
|
236
|
-
responseRecord.fields.forEach(({ name, value }) => {
|
237
|
-
duRecord[name] = dataUnit.valueFromString(name, value);
|
238
|
-
});
|
239
|
-
processedRecords.push(duRecord);
|
240
|
-
});
|
241
|
-
resolve({
|
242
|
-
paginationInfo,
|
243
|
-
records: processedRecords
|
244
|
-
});
|
245
|
-
})
|
246
|
-
.catch((error) => {
|
247
|
-
reject(error);
|
248
|
-
});
|
249
|
-
});
|
250
|
-
}
|
251
|
-
saveData(dataUnit, duChanges) {
|
252
|
-
const changes = duChanges.map((change) => {
|
253
|
-
const { dataUnit: changeDU, record, updatingFields, operation } = change;
|
254
|
-
const dataUnitInstance = DataUnitStorage.get(changeDU);
|
255
|
-
let parsedUpdatingFields;
|
256
|
-
if (updatingFields) {
|
257
|
-
parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
|
258
|
-
const descriptor = dataUnitInstance.getField(fieldName);
|
259
|
-
const dataType = descriptor ? descriptor.dataType : DataType.TEXT;
|
260
|
-
return { fieldName, dataType, value: dataUnitInstance.valueToString(fieldName, value) };
|
261
|
-
});
|
262
|
-
}
|
263
|
-
const reqChange = { dataUnit: changeDU, fields: parsedUpdatingFields, operation, recordId: record.__record__id__ };
|
264
|
-
if (change.sourceId) {
|
265
|
-
reqChange.sourceId = change.sourceId;
|
266
|
-
}
|
267
|
-
if (record.__parent__record__id__) {
|
268
|
-
reqChange.parentRecordId = record.__parent__record__id__;
|
269
|
-
}
|
270
|
-
return reqChange;
|
271
|
-
});
|
272
|
-
return new Promise((resolve, reject) => {
|
273
|
-
const changesFormatted = changes.map((_a) => {
|
274
|
-
var rest = __rest(_a, []);
|
275
|
-
return rest;
|
276
|
-
});
|
277
|
-
DataFetcher.get()
|
278
|
-
.callGraphQL({
|
279
|
-
values: { changes: changesFormatted },
|
280
|
-
query: this.templateByQuery.get("saveData"),
|
281
|
-
})
|
282
|
-
.then((resp) => {
|
283
|
-
const dataUnitRecords = [];
|
284
|
-
resp === null || resp === void 0 ? void 0 : resp.forEach((responseRecord) => {
|
285
|
-
const duRecord = {
|
286
|
-
__record__id__: responseRecord.id,
|
287
|
-
__record__label__: responseRecord.label,
|
288
|
-
__owner__dataunit__name__: responseRecord.ownerDataUnitName,
|
289
|
-
};
|
290
|
-
const dataUnitInstance = DataUnitStorage.get(duRecord.__owner__dataunit__name__) || dataUnit;
|
291
|
-
if (responseRecord.oldId) {
|
292
|
-
duRecord.__old__id__ = responseRecord.oldId;
|
293
|
-
}
|
294
|
-
responseRecord.fields.forEach(({ name, value }) => {
|
295
|
-
var _a;
|
296
|
-
duRecord[name] = ((_a = dataUnitInstance === null || dataUnitInstance === void 0 ? void 0 : dataUnitInstance.valueFromString) === null || _a === void 0 ? void 0 : _a.call(dataUnitInstance, name, value)) || value;
|
297
|
-
});
|
298
|
-
dataUnitRecords.push(duRecord);
|
299
|
-
});
|
300
|
-
resolve(dataUnitRecords);
|
301
|
-
})
|
302
|
-
.catch((error) => {
|
303
|
-
reject(error);
|
304
|
-
});
|
305
|
-
});
|
306
|
-
}
|
307
|
-
getTransientInfo(dataUnit, recordID) {
|
308
|
-
const { records } = dataUnit.getSelectionInfo();
|
309
|
-
return Object.entries(records.filter(record => record.__record__id__ == recordID)[0]).filter(([key]) => key.startsWith(DataUnitTransient.DATA_UNIT_TRANSIENT_PREFIX_NAME)).map(([name, value]) => ({ fieldName: name, value, dataType: DataType.TEXT }));
|
310
|
-
}
|
311
|
-
removeRecords(dataUnit, recordIds) {
|
312
|
-
const changes = recordIds.map((recordId) => {
|
313
|
-
return { dataUnit: dataUnit.name, operation: ChangeOperation.DELETE, recordId, fields: this.getTransientInfo(dataUnit, recordId) };
|
314
|
-
});
|
315
|
-
return new Promise((resolve, reject) => {
|
316
|
-
DataFetcher.get()
|
317
|
-
.callGraphQL({
|
318
|
-
values: { changes: changes },
|
319
|
-
query: this.templateByQuery.get("saveData"),
|
320
|
-
})
|
321
|
-
.then((_resp) => {
|
322
|
-
resolve(recordIds);
|
323
|
-
})
|
324
|
-
.catch((error) => {
|
325
|
-
reject(error);
|
326
|
-
});
|
327
|
-
});
|
328
|
-
}
|
329
|
-
loadRecord(dataUnit, recordIds) {
|
330
|
-
return new Promise((resolve, reject) => {
|
331
|
-
DataFetcher.get()
|
332
|
-
.callGraphQL({
|
333
|
-
values: { recordID: recordIds, dataunit: dataUnit.name },
|
334
|
-
query: this.templateByQuery.get("fetchDataRecord"),
|
335
|
-
})
|
336
|
-
.then((response) => {
|
337
|
-
const dataUnitRecords = [];
|
338
|
-
response.record.forEach(responseRecord => {
|
339
|
-
const duRecord = { __record__id__: responseRecord.id, __record__label__: responseRecord.label };
|
340
|
-
responseRecord.fields.forEach(({ name, value }) => {
|
341
|
-
duRecord[name] = dataUnit.valueFromString(name, value);
|
342
|
-
});
|
343
|
-
dataUnitRecords.push(duRecord);
|
344
|
-
});
|
345
|
-
resolve(dataUnitRecords);
|
346
|
-
})
|
347
|
-
.catch((error) => {
|
348
|
-
reject(error);
|
349
|
-
});
|
350
|
-
});
|
351
|
-
}
|
352
|
-
}
|
353
|
-
|
354
|
-
export { DataUnitFetcher as D };
|