@sankhyalabs/sankhyablocks 8.7.0 → 8.8.0-dev.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/{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-4e3de426.js} +11 -0
- package/dist/cjs/{auth-fetcher-92f3040b.js → auth-fetcher-78231356.js} +1 -1
- package/dist/cjs/dataunit-fetcher-a4e8352b.js +906 -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-c540f4c5.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 +77 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +179 -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 +809 -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-36887f31.js} +11 -0
- package/dist/esm/{auth-fetcher-5c3ae75b.js → auth-fetcher-a8c8ee7e.js} +1 -1
- package/dist/esm/dataunit-fetcher-c22b889c.js +902 -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-e87b77d5.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-182246c9.entry.js +1 -0
- package/dist/sankhyablocks/{p-ee57d9f5.js → p-240f5892.js} +1 -1
- package/dist/sankhyablocks/p-42de2707.entry.js +1 -0
- package/dist/sankhyablocks/p-5356efdd.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-9e705c91.entry.js +1 -0
- package/dist/sankhyablocks/p-a046a2e1.js +1 -0
- package/dist/sankhyablocks/p-a221bc67.js +1 -0
- package/dist/sankhyablocks/{p-54f01129.entry.js → p-b3cd0dd1.entry.js} +3 -3
- package/dist/sankhyablocks/p-b7798801.entry.js +1 -0
- package/dist/sankhyablocks/p-bcc2b79d.js +59 -0
- package/dist/sankhyablocks/p-d07651cc.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-6cd36947.entry.js → p-e74e2153.entry.js} +1 -1
- package/dist/sankhyablocks/p-eab2c97d.entry.js +1 -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
package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js
ADDED
@@ -0,0 +1,131 @@
|
|
1
|
+
import { StringUtils, UserInterface } from "@sankhyalabs/core";
|
2
|
+
import { DataFetcher } from "../../../DataFetcher";
|
3
|
+
import DataUnitFetcher from "../dataunit-fetcher";
|
4
|
+
import InMemoryLoader from "../../../../../dataUnit/InMemoryLoader";
|
5
|
+
export class DatasetStrategy {
|
6
|
+
canSlice() {
|
7
|
+
return false;
|
8
|
+
}
|
9
|
+
async load(dataUnit, request, loadingInfo) {
|
10
|
+
if (dataUnit.metadata == undefined) {
|
11
|
+
return Promise.resolve({ records: [], loadingInfo });
|
12
|
+
}
|
13
|
+
try {
|
14
|
+
const fields = this.getFieldsList(dataUnit);
|
15
|
+
const serviceName = "DatasetSP.loadRecords";
|
16
|
+
const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo);
|
17
|
+
const { result: responseRecords, pagerID: pagerId } = await DataFetcher.get().callServiceBroker(serviceName, requestBody);
|
18
|
+
const records = this.processRecords(dataUnit, fields, responseRecords);
|
19
|
+
const loadingInProgress = pagerId != undefined;
|
20
|
+
const count = loadingInfo.count + records.length;
|
21
|
+
return Promise.resolve({
|
22
|
+
records,
|
23
|
+
loadingInfo: Object.assign(Object.assign({}, loadingInfo), { pagerId,
|
24
|
+
loadingInProgress, total: loadingInProgress ? undefined : count, count })
|
25
|
+
});
|
26
|
+
}
|
27
|
+
catch (error) {
|
28
|
+
console.error(error);
|
29
|
+
return Promise.reject(error);
|
30
|
+
}
|
31
|
+
}
|
32
|
+
getFieldsList(dataUnit) {
|
33
|
+
let fields = ["__record__id__", "__record__label__"];
|
34
|
+
dataUnit.metadata.fields.forEach(descriptor => {
|
35
|
+
fields = fields.concat(this.getFieldNames(descriptor));
|
36
|
+
});
|
37
|
+
return fields;
|
38
|
+
}
|
39
|
+
getFieldNames(descriptor) {
|
40
|
+
const descriptionField = this.getSearchDescriptionField(descriptor);
|
41
|
+
if (descriptionField == undefined) {
|
42
|
+
return descriptor.name;
|
43
|
+
}
|
44
|
+
return [descriptor.name, descriptionField];
|
45
|
+
}
|
46
|
+
buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo) {
|
47
|
+
const dataSetID = dataUnit.dataUnitId;
|
48
|
+
const dataUnitName = dataUnit.name;
|
49
|
+
const entityName = DataUnitFetcher.parseDataUnitName(dataUnitName).entityName;
|
50
|
+
const requestBody = {
|
51
|
+
serviceName,
|
52
|
+
requestBody: {
|
53
|
+
dataSetID,
|
54
|
+
fields,
|
55
|
+
entityName,
|
56
|
+
pageNumber: loadingInfo.pageNumber,
|
57
|
+
totalRecordsCount: loadingInfo.count,
|
58
|
+
pagerID: loadingInfo.pagerId,
|
59
|
+
standAlone: false,
|
60
|
+
standAloneFieldsMD: {
|
61
|
+
__record__id__: { "fieldType": "S", "userType": "P" },
|
62
|
+
__record__label__: { "fieldType": "S", "userType": "P" }
|
63
|
+
},
|
64
|
+
tryJoinedFields: true,
|
65
|
+
parallelLoader: true,
|
66
|
+
crudListener: "br.com.sankhya.modelcore.dataset.DataUnitDatasetAdapter",
|
67
|
+
txProperties: this.getTxProperties(dataUnitName, request),
|
68
|
+
useDefaultRowsLimit: false
|
69
|
+
}
|
70
|
+
};
|
71
|
+
return JSON.stringify(requestBody);
|
72
|
+
}
|
73
|
+
getTxProperties(dataUnitName, request) {
|
74
|
+
const txProperties = {
|
75
|
+
"__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnitName
|
76
|
+
};
|
77
|
+
const serverSideFilters = request.filters.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"));
|
78
|
+
if (serverSideFilters.length !== 0) {
|
79
|
+
txProperties["__DATA_UNIT_ADAPTER__[criteria]"] = JSON.stringify(serverSideFilters);
|
80
|
+
}
|
81
|
+
const sorting = request.sort;
|
82
|
+
if (sorting != undefined && sorting.length !== 0) {
|
83
|
+
txProperties["__DATA_UNIT_ADAPTER__[sorting]"] = JSON.stringify(sorting);
|
84
|
+
}
|
85
|
+
return txProperties;
|
86
|
+
}
|
87
|
+
processRecords(dataUnit, fields, responseRecords) {
|
88
|
+
return responseRecords.map((dataFrame) => {
|
89
|
+
const duRecord = {
|
90
|
+
__record__id__: dataFrame[0],
|
91
|
+
__record__label__: dataFrame[1]
|
92
|
+
};
|
93
|
+
dataUnit.metadata.fields.forEach(fieldDescriptor => {
|
94
|
+
duRecord[fieldDescriptor.name] = this.buildFieldValue(fieldDescriptor, fields, dataFrame);
|
95
|
+
});
|
96
|
+
return duRecord;
|
97
|
+
});
|
98
|
+
}
|
99
|
+
buildFieldValue(descriptor, allFields, dataFrame) {
|
100
|
+
const fieldIndex = allFields.indexOf(descriptor.name);
|
101
|
+
if (fieldIndex < 0) {
|
102
|
+
return null;
|
103
|
+
}
|
104
|
+
const strValue = dataFrame[fieldIndex];
|
105
|
+
if (StringUtils.isEmpty(strValue)) {
|
106
|
+
return null;
|
107
|
+
}
|
108
|
+
const descriptionField = this.getSearchDescriptionField(descriptor);
|
109
|
+
if (descriptionField != undefined) {
|
110
|
+
const descriptionFieldIndex = allFields.indexOf(descriptionField);
|
111
|
+
if (descriptionFieldIndex >= 0) {
|
112
|
+
return { value: strValue, label: dataFrame[descriptionFieldIndex] };
|
113
|
+
}
|
114
|
+
}
|
115
|
+
if (descriptor.userInterface === UserInterface.SEARCH) {
|
116
|
+
//Se não tem um campo de descrição (código acima)
|
117
|
+
//Mas é um search, tentamos parsear um numero...
|
118
|
+
return isNaN(Number(strValue)) ? strValue : Number(strValue);
|
119
|
+
}
|
120
|
+
return InMemoryLoader.getConvertedValue(descriptor, strValue);
|
121
|
+
}
|
122
|
+
getSearchDescriptionField(descriptor) {
|
123
|
+
if (descriptor.userInterface === UserInterface.SEARCH) {
|
124
|
+
const { ENTITYNAME, mergedFrom, DESCRIPTIONFIELD } = descriptor.properties;
|
125
|
+
if (!StringUtils.isEmpty(DESCRIPTIONFIELD)) {
|
126
|
+
return mergedFrom != undefined ? `${mergedFrom}.${ENTITYNAME}.${DESCRIPTIONFIELD}` : `${ENTITYNAME}.${DESCRIPTIONFIELD}`;
|
127
|
+
}
|
128
|
+
}
|
129
|
+
return undefined;
|
130
|
+
}
|
131
|
+
}
|
@@ -5,7 +5,7 @@ export { PresentationMode } from "./@types";
|
|
5
5
|
export { TotalsFetcher } from './http/data-fetcher/fetchers/totals-fetcher';
|
6
6
|
export { default as ApplicationConfigFetcher } from './http/data-fetcher/fetchers/application-config-fetcher';
|
7
7
|
export { AttachFetcher } from './http/data-fetcher/fetchers/attach-fetcher';
|
8
|
-
export { default as DataUnitFetcher } from './http/data-fetcher/fetchers/dataunit-fetcher';
|
8
|
+
export { default as DataUnitFetcher } from './http/data-fetcher/fetchers/data-unit/dataunit-fetcher';
|
9
9
|
export { default as FilterBarConfigFetcher } from './http/data-fetcher/fetchers/filter-bar-config-fetcher';
|
10
10
|
export { FormConfigFetcher } from './http/data-fetcher/fetchers/form-config-fetcher';
|
11
11
|
export { default as GridConfigFetcher } from './http/data-fetcher/fetchers/grid-config-fetcher';
|
@@ -6541,11 +6541,10 @@ class DataFetcher {
|
|
6541
6541
|
}
|
6542
6542
|
}
|
6543
6543
|
this.instance.application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
6544
|
-
this.instance.graphqlPath = `/${this.instance.application.getModuleName()}/graphql`;
|
6545
6544
|
return this.instance;
|
6546
6545
|
}
|
6547
6546
|
static getGraphQLPath() {
|
6548
|
-
if (StringUtils.isEmpty(this.instance.graphqlPath)) {
|
6547
|
+
if (StringUtils.isEmpty(this.instance.graphqlPath) && this.instance.application != undefined) {
|
6549
6548
|
this.instance.graphqlPath = `/${this.instance.application.getModuleName()}/graphql`;
|
6550
6549
|
}
|
6551
6550
|
return this.instance.graphqlPath;
|
@@ -6599,7 +6598,7 @@ class DataFetcher {
|
|
6599
6598
|
}
|
6600
6599
|
return new ErrorException(title, statusMessage, tsErrorCode);
|
6601
6600
|
}
|
6602
|
-
async callGraphQL(req) {
|
6601
|
+
async callGraphQL(req, quietMode = false) {
|
6603
6602
|
var _a;
|
6604
6603
|
if (this.ready) {
|
6605
6604
|
this.pause();
|
@@ -6617,7 +6616,7 @@ class DataFetcher {
|
|
6617
6616
|
if (this.ready) {
|
6618
6617
|
return new Promise(async (resolve, reject) => {
|
6619
6618
|
let query = this.getQueryTemplate(req);
|
6620
|
-
const res = await this.fecthGrapql([{ document: query, variables: req.values }]);
|
6619
|
+
const res = await this.fecthGrapql([{ document: query, variables: req.values }], quietMode);
|
6621
6620
|
if (res.errors.length > 0) {
|
6622
6621
|
if (!this.proccesGraphQLClientEvents(res === null || res === void 0 ? void 0 : res.extensions, req, resolve, reject)) {
|
6623
6622
|
const error = this.processGraphQlErrorInfo(res.errors);
|
@@ -6632,7 +6631,7 @@ class DataFetcher {
|
|
6632
6631
|
}
|
6633
6632
|
else {
|
6634
6633
|
if (!this.watingRequestsById.has(reqKey)) {
|
6635
|
-
this.watingRequestsById.set(reqKey, new WaitingRequest(req));
|
6634
|
+
this.watingRequestsById.set(reqKey, new WaitingRequest(req, quietMode));
|
6636
6635
|
}
|
6637
6636
|
return (_a = this.watingRequestsById.get(reqKey)) === null || _a === void 0 ? void 0 : _a.promise;
|
6638
6637
|
}
|
@@ -6848,14 +6847,16 @@ class DataFetcher {
|
|
6848
6847
|
}
|
6849
6848
|
async executePendingRequest(watingRequestsById) {
|
6850
6849
|
const requestsBatch = [];
|
6850
|
+
let quietMode = true;
|
6851
6851
|
watingRequestsById.forEach(async (waitingReq) => {
|
6852
6852
|
let query = this.getQueryTemplate(waitingReq.request);
|
6853
6853
|
requestsBatch.push({ document: query, variables: Object.assign({}, waitingReq.request.values) });
|
6854
|
+
quietMode = quietMode && waitingReq.quietMode;
|
6854
6855
|
});
|
6855
6856
|
let res = undefined;
|
6856
6857
|
let dataResponse = [];
|
6857
6858
|
let errorsResponse = [];
|
6858
|
-
res = await this.fecthGrapql(requestsBatch);
|
6859
|
+
res = await this.fecthGrapql(requestsBatch, quietMode);
|
6859
6860
|
dataResponse = res.data;
|
6860
6861
|
errorsResponse = res.errors;
|
6861
6862
|
//Reject promises with errors from query
|
@@ -6873,14 +6874,18 @@ class DataFetcher {
|
|
6873
6874
|
});
|
6874
6875
|
});
|
6875
6876
|
}
|
6876
|
-
async fecthGrapql(request) {
|
6877
|
+
async fecthGrapql(request, quietMode) {
|
6877
6878
|
let res = undefined;
|
6878
6879
|
let dataResponse = [];
|
6879
6880
|
let errorsResponse = [];
|
6880
6881
|
let url = `${this.resolveURL() + DataFetcher.getGraphQLPath()}`;
|
6881
6882
|
const responseExtensions = [];
|
6882
|
-
|
6883
|
-
|
6883
|
+
const mgeSession = window["mgeSession"];
|
6884
|
+
if (mgeSession != undefined) {
|
6885
|
+
url += `?mgeSession=${mgeSession}`;
|
6886
|
+
}
|
6887
|
+
if (quietMode) {
|
6888
|
+
url += `${url.indexOf("?") > -1 ? "&" : "?"}quietMode=true`;
|
6884
6889
|
}
|
6885
6890
|
DataFetcher.requestListener.forEach(listener => listener.onRequestStart({ url: url, requestBody: request }));
|
6886
6891
|
try {
|
@@ -6966,7 +6971,7 @@ DataFetcher.SERVICE_BROKER_STATUS = {
|
|
6966
6971
|
};
|
6967
6972
|
DataFetcher.clientEventsByID = new Map();
|
6968
6973
|
class WaitingRequest {
|
6969
|
-
constructor(req) {
|
6974
|
+
constructor(req, quietMode) {
|
6970
6975
|
this._resolve = () => { };
|
6971
6976
|
this._reject = () => { };
|
6972
6977
|
this._request = undefined;
|
@@ -6975,6 +6980,7 @@ class WaitingRequest {
|
|
6975
6980
|
this._resolve = resolve;
|
6976
6981
|
this._reject = reject;
|
6977
6982
|
});
|
6983
|
+
this._quietMode = quietMode;
|
6978
6984
|
}
|
6979
6985
|
get resolve() {
|
6980
6986
|
return this._resolve;
|
@@ -6988,6 +6994,9 @@ class WaitingRequest {
|
|
6988
6994
|
get request() {
|
6989
6995
|
return this._request;
|
6990
6996
|
}
|
6997
|
+
get quietMode() {
|
6998
|
+
return this._quietMode;
|
6999
|
+
}
|
6991
7000
|
}
|
6992
7001
|
|
6993
7002
|
export { DataFetcher as D, UrlUtils as U, dist as d };
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { UserInterface, DateUtils } from '@sankhyalabs/core';
|
2
|
+
import { a as PreloadManager } from './dataunit-fetcher.js';
|
2
3
|
|
3
4
|
class TaskbarProcessor {
|
4
5
|
constructor(defaultButtons) {
|
@@ -60,6 +61,16 @@ class SnkMultiSelectionListDataSource {
|
|
60
61
|
}
|
61
62
|
return String(this._dataUnit.getFormattedValue(fieldName, value));
|
62
63
|
}
|
64
|
+
async getStaticOptions(fieldName) {
|
65
|
+
if (fieldName == undefined) {
|
66
|
+
return Promise.resolve(undefined);
|
67
|
+
}
|
68
|
+
const result = await PreloadManager.getDistinct(this._dataUnit, fieldName);
|
69
|
+
if (result == undefined) {
|
70
|
+
return Promise.resolve(undefined);
|
71
|
+
}
|
72
|
+
return Promise.resolve(Array.from(result.entries()).map(([label, value]) => ({ label: String(label), value, check: true })));
|
73
|
+
}
|
63
74
|
fetchData(filterTerm, fieldName) {
|
64
75
|
return new Promise(resolve => {
|
65
76
|
this._application.executeSelectDistinct(this._dataUnit, fieldName, filterTerm).then(result => {
|