@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-33766.1 → 0.0.0-bugfix-dev-KB-39469.0
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-302bbbd4.js → ConfigStorage-d4c99a5e.js} +2 -2
- package/dist/cjs/{DataFetcher-ba94ed5b.js → DataFetcher-99f0f6ed.js} +5 -3
- package/dist/cjs/{ISave-d68ce3cd.js → ISave-e91b70a7.js} +1 -0
- package/dist/cjs/{SnkFormConfigManager-71c4768e.js → SnkFormConfigManager-3621bfc4.js} +2 -2
- package/dist/cjs/{SnkMessageBuilder-7293d0ad.js → SnkMessageBuilder-e7dcf408.js} +13 -0
- package/dist/cjs/{auth-fetcher-c8467c07.js → auth-fetcher-5161d082.js} +1 -1
- package/dist/cjs/{form-config-fetcher-df043d3d.js → form-config-fetcher-9f1a13ca.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{dataunit-fetcher-bd4c52da.js → pesquisa-fetcher-c416a6b7.js} +238 -28
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-actions-button_2.cjs.entry.js +21 -6
- package/dist/cjs/snk-application.cjs.entry.js +37 -8
- package/dist/cjs/snk-attach.cjs.entry.js +389 -58
- package/dist/cjs/snk-crud.cjs.entry.js +11 -9
- package/dist/cjs/snk-data-exporter.cjs.entry.js +4 -4
- package/dist/cjs/{snk-data-unit-1bc69073.js → snk-data-unit-82c08a8c.js} +1 -1
- package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
- package/dist/cjs/snk-detail-view.cjs.entry.js +8 -9
- package/dist/cjs/snk-entity-list.cjs.entry.js +5 -3
- package/dist/cjs/snk-filter-bar.cjs.entry.js +28 -6
- package/dist/cjs/snk-filter-item.cjs.entry.js +3 -0
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
- package/dist/cjs/snk-filter-modal.cjs.entry.js +2 -1
- package/dist/cjs/snk-filter-multi-select.cjs.entry.js +2 -1
- 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 +5 -4
- package/dist/cjs/{snk-guides-viewer-dce60912.js → snk-guides-viewer-3ab9623e.js} +8 -9
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +7 -8
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
- package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-crud.cjs.entry.js +19 -8
- package/dist/cjs/snk-taskbar.cjs.entry.js +51 -3
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/snk-application/__mocks__/snk-application.js +7 -0
- package/dist/collection/components/snk-application/snk-application.js +43 -0
- package/dist/collection/components/snk-attach/snk-attach.js +188 -39
- package/dist/collection/components/snk-attach/structure/{crud-config-builder.js → builder/anexo-sistema-crud-config.builder.js} +1 -1
- package/dist/collection/components/snk-attach/structure/builder/attach-crud-config.builder.js +62 -0
- package/dist/collection/components/snk-attach/structure/{taskbar-builder.js → builder/taskbar-builder.js} +1 -1
- package/dist/collection/components/snk-attach/structure/fetcher/facade/fetcher.facade.js +1 -0
- package/dist/collection/components/snk-attach/structure/{data-unit-builder.js → fetcher/factory/anexo-sistema-data-unit.factory.js} +14 -11
- package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +111 -0
- package/dist/collection/components/snk-attach/structure/index.js +6 -3
- package/dist/collection/components/snk-crud/snk-crud.js +23 -3
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +11 -2
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +2 -2
- package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +1 -1
- package/dist/collection/components/snk-entity-list/snk-entity-list.js +5 -3
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.js +2 -1
- package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +3 -0
- package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +19 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +39 -2
- package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
- package/dist/collection/components/snk-grid/snk-grid.js +19 -1
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +2 -4
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +53 -1
- package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +17 -1
- package/dist/collection/components/snk-taskbar/snk-taskbar.css +17 -0
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +88 -3
- package/dist/collection/lib/dataUnit/InMemoryLoader.js +1 -1
- package/dist/collection/lib/http/data-fetcher/DataFetcher.js +5 -3
- package/dist/collection/lib/http/data-fetcher/fetchers/{attach-fetcher.js → AttachFetcher/anexo-sistema-fetcher.js} +16 -15
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.js +90 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/index.js +2 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDelete.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDownloadKey.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.js +1 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +31 -3
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +37 -23
- package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +21 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +10 -4
- package/dist/collection/lib/index.js +1 -1
- package/dist/collection/lib/message/resources/snk-attach.msg.js +13 -0
- package/dist/components/DataFetcher.js +5 -3
- package/dist/components/SnkMessageBuilder.js +13 -0
- package/dist/components/dataunit-fetcher.js +79 -31
- package/dist/components/snk-actions-button2.js +1 -0
- package/dist/components/snk-application2.js +32 -1
- package/dist/components/snk-attach2.js +394 -57
- package/dist/components/snk-crud.js +7 -3
- package/dist/components/snk-data-exporter2.js +1 -1
- package/dist/components/snk-detail-view2.js +3 -3
- package/dist/components/snk-entity-list.js +5 -3
- package/dist/components/snk-filter-bar2.js +26 -3
- package/dist/components/snk-filter-item2.js +3 -0
- package/dist/components/snk-filter-modal.js +4 -2
- package/dist/components/snk-filter-multi-select.js +2 -1
- package/dist/components/snk-grid2.js +3 -1
- package/dist/components/snk-pesquisa2.js +1 -1
- package/dist/components/snk-simple-crud2.js +15 -1
- package/dist/components/snk-taskbar2.js +55 -4
- package/dist/components/taskbar-actions-button2.js +17 -1
- package/dist/esm/{ConfigStorage-4151acc8.js → ConfigStorage-39ed8aeb.js} +2 -2
- package/dist/esm/{DataFetcher-aa159c5a.js → DataFetcher-a650ae58.js} +5 -3
- package/dist/esm/{ISave-4412b20c.js → ISave-d8c8bc59.js} +1 -0
- package/dist/esm/{SnkFormConfigManager-5c7d3771.js → SnkFormConfigManager-692e20c7.js} +2 -2
- package/dist/esm/{SnkMessageBuilder-ca843d1b.js → SnkMessageBuilder-0fb796b9.js} +13 -0
- package/dist/esm/{auth-fetcher-c05dc474.js → auth-fetcher-17dc5b5e.js} +1 -1
- package/dist/esm/{form-config-fetcher-36219cd3.js → form-config-fetcher-f121f880.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{dataunit-fetcher-65714f21.js → pesquisa-fetcher-ab16a2e8.js} +238 -29
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-actions-button_2.entry.js +21 -6
- package/dist/esm/snk-application.entry.js +36 -7
- package/dist/esm/snk-attach.entry.js +390 -59
- package/dist/esm/snk-crud.entry.js +11 -9
- package/dist/esm/snk-data-exporter.entry.js +4 -4
- package/dist/esm/{snk-data-unit-6208ebf0.js → snk-data-unit-5d201fb3.js} +1 -1
- package/dist/esm/snk-data-unit.entry.js +2 -2
- package/dist/esm/snk-detail-view.entry.js +8 -9
- package/dist/esm/snk-entity-list.entry.js +5 -3
- package/dist/esm/snk-filter-bar.entry.js +28 -6
- package/dist/esm/snk-filter-item.entry.js +3 -0
- package/dist/esm/snk-filter-modal-item.entry.js +3 -3
- package/dist/esm/snk-filter-modal.entry.js +2 -1
- package/dist/esm/snk-filter-multi-select.entry.js +2 -1
- 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 +5 -4
- package/dist/esm/{snk-guides-viewer-8b9564bd.js → snk-guides-viewer-462b4c9e.js} +8 -9
- package/dist/esm/snk-guides-viewer.entry.js +7 -8
- package/dist/esm/snk-personalized-filter.entry.js +3 -3
- package/dist/esm/snk-pesquisa.entry.js +1 -1
- package/dist/esm/snk-simple-crud.entry.js +17 -6
- package/dist/esm/snk-taskbar.entry.js +52 -4
- package/dist/sankhyablocks/p-007f1026.entry.js +1 -0
- package/dist/sankhyablocks/p-0264dba5.entry.js +1 -0
- package/dist/sankhyablocks/{p-ff6064e7.js → p-05243555.js} +1 -1
- package/dist/sankhyablocks/p-0ae89faa.entry.js +1 -0
- package/dist/sankhyablocks/{p-cb7419e0.entry.js → p-0b0b36ac.entry.js} +1 -1
- package/dist/sankhyablocks/{p-9e7d65a4.js → p-21749402.js} +1 -1
- package/dist/sankhyablocks/p-33718dfc.entry.js +1 -0
- package/dist/sankhyablocks/p-33bc44a6.entry.js +1 -0
- package/dist/sankhyablocks/p-48afb1d3.entry.js +1 -0
- package/dist/sankhyablocks/p-50783a8b.js +1 -0
- package/dist/sankhyablocks/{p-aa95fb2c.js → p-67aedbe0.js} +1 -1
- package/dist/sankhyablocks/p-70a4af56.entry.js +1 -0
- package/dist/sankhyablocks/{p-573a07c5.js → p-725d04ba.js} +1 -1
- package/dist/sankhyablocks/{p-e0fd9555.entry.js → p-827e4b01.entry.js} +1 -1
- package/dist/sankhyablocks/{p-6977a26c.entry.js → p-86801b08.entry.js} +1 -1
- package/dist/sankhyablocks/p-88c7dd9a.entry.js +1 -0
- package/dist/sankhyablocks/p-93d7e848.entry.js +1 -0
- package/dist/sankhyablocks/{p-7f3c7b09.entry.js → p-9d608b62.entry.js} +1 -1
- package/dist/sankhyablocks/{p-0d7863ed.js → p-a13ccb86.js} +1 -1
- package/dist/sankhyablocks/p-a3a9d37d.js +1 -0
- package/dist/sankhyablocks/{p-9695f78b.js → p-be75153c.js} +1 -1
- package/dist/sankhyablocks/p-bf2acf72.entry.js +1 -0
- package/dist/sankhyablocks/p-c093edc7.entry.js +1 -0
- package/dist/sankhyablocks/p-c4874327.entry.js +1 -0
- package/dist/sankhyablocks/p-c6247955.js +65 -0
- package/dist/sankhyablocks/{p-247a8b36.entry.js → p-d1791da2.entry.js} +1 -1
- package/dist/sankhyablocks/{p-761ed32f.entry.js → p-e3bd000e.entry.js} +1 -1
- package/dist/sankhyablocks/p-ed2dce4b.entry.js +1 -0
- package/dist/sankhyablocks/{p-32f0935f.js → p-f3d1c48e.js} +1 -1
- package/dist/sankhyablocks/{p-1d75d9f9.entry.js → p-fcdcb0e2.entry.js} +1 -1
- package/dist/sankhyablocks/{p-c223b7b2.entry.js → p-fd0a8d68.entry.js} +3 -3
- package/dist/sankhyablocks/{p-0874adb5.entry.js → p-fdc4cb9b.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-application/__mocks__/snk-application.d.ts +3 -0
- package/dist/types/components/snk-application/snk-application.d.ts +7 -0
- package/dist/types/components/snk-attach/{structure/crud-config-builder.d.ts → interfaces/ICrudConfig.d.ts} +1 -2
- package/dist/types/components/snk-attach/interfaces/TFetcherType.d.ts +1 -0
- package/dist/types/components/snk-attach/snk-attach.d.ts +27 -6
- package/dist/types/components/snk-attach/structure/builder/anexo-sistema-crud-config.builder.d.ts +2 -0
- package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +31 -0
- package/dist/types/components/snk-attach/structure/{taskbar-builder.d.ts → builder/taskbar-builder.d.ts} +1 -1
- package/dist/types/components/snk-attach/structure/fetcher/facade/fetcher.facade.d.ts +11 -0
- package/dist/types/components/snk-attach/structure/fetcher/factory/anexo-sistema-data-unit.factory.d.ts +17 -0
- package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +15 -0
- package/dist/types/components/snk-attach/structure/index.d.ts +6 -3
- package/dist/types/components/snk-crud/snk-crud.d.ts +5 -0
- package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +1 -1
- package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +5 -0
- package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +7 -0
- package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +3 -1
- package/dist/types/components/snk-grid/snk-grid.d.ts +5 -0
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +10 -1
- package/dist/types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.d.ts +1 -0
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +20 -1
- package/dist/types/components.d.ts +106 -2
- package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
- package/dist/types/lib/http/data-fetcher/fetchers/{attach-fetcher.d.ts → AttachFetcher/anexo-sistema-fetcher.d.ts} +3 -2
- package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.d.ts +11 -0
- package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.d.ts +8 -0
- package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/index.d.ts +3 -0
- package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.d.ts +2 -1
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.d.ts +2 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +1 -0
- package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
- package/dist/types/lib/index.d.ts +1 -1
- package/package.json +15 -6
- package/dist/cjs/pesquisa-fetcher-ef050a47.js +0 -167
- package/dist/esm/pesquisa-fetcher-dd3ca0a5.js +0 -165
- package/dist/sankhyablocks/p-20726710.entry.js +0 -1
- package/dist/sankhyablocks/p-28564b5e.entry.js +0 -1
- package/dist/sankhyablocks/p-29804fc5.js +0 -60
- package/dist/sankhyablocks/p-4775a293.entry.js +0 -1
- package/dist/sankhyablocks/p-55930465.entry.js +0 -1
- package/dist/sankhyablocks/p-69efa80d.entry.js +0 -1
- package/dist/sankhyablocks/p-7d8d7fe9.entry.js +0 -1
- package/dist/sankhyablocks/p-95a3778f.entry.js +0 -1
- package/dist/sankhyablocks/p-a9e5b094.entry.js +0 -1
- package/dist/sankhyablocks/p-b05ab13d.entry.js +0 -1
- package/dist/sankhyablocks/p-b146a9f0.entry.js +0 -1
- package/dist/sankhyablocks/p-bedb8ad6.entry.js +0 -1
- package/dist/sankhyablocks/p-cdd66657.entry.js +0 -1
- package/dist/sankhyablocks/p-d4f9ee17.entry.js +0 -1
- package/dist/sankhyablocks/p-d9bb09b3.js +0 -6
- package/dist/sankhyablocks/p-e6380c60.js +0 -1
- package/dist/sankhyablocks/p-ebbc17c6.js +0 -1
- package/dist/types/components/snk-attach/structure/data-unit-builder.d.ts +0 -15
- /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.js → components/snk-attach/interfaces/ICrudConfig.js} +0 -0
- /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.js → components/snk-attach/interfaces/TFetcherType.js} +0 -0
- /package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.js +0 -0
- /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDelete.d.ts +0 -0
- /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDownloadKey.d.ts +0 -0
- /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.d.ts +0 -0
package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js
CHANGED
|
@@ -6,30 +6,39 @@ export class DatasetStrategy {
|
|
|
6
6
|
canSlice() {
|
|
7
7
|
return false;
|
|
8
8
|
}
|
|
9
|
+
processSortingSide(request, dataUnit, serverSideFilters) {
|
|
10
|
+
const localSorting = [];
|
|
11
|
+
const serverSorting = [];
|
|
12
|
+
if (request.sort != undefined) {
|
|
13
|
+
if (serverSideFilters.length === 0) {
|
|
14
|
+
return { localSorting: request.sort, serverSorting: [] };
|
|
15
|
+
}
|
|
16
|
+
for (const sort of request.sort) {
|
|
17
|
+
const descriptor = dataUnit.getField(sort.field);
|
|
18
|
+
const local = descriptor != undefined
|
|
19
|
+
&& descriptor.properties != undefined
|
|
20
|
+
&& descriptor.properties.calculated === "true";
|
|
21
|
+
if (local) {
|
|
22
|
+
localSorting.push(sort);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
serverSorting.push(sort);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return { localSorting, serverSorting };
|
|
30
|
+
}
|
|
9
31
|
async load(dataUnit, request, loadingInfo) {
|
|
32
|
+
var _a, _b;
|
|
10
33
|
if (dataUnit.metadata == undefined) {
|
|
11
34
|
return Promise.resolve({ records: [], loadingInfo });
|
|
12
35
|
}
|
|
13
36
|
try {
|
|
14
|
-
const
|
|
15
|
-
const serverSorting =
|
|
16
|
-
if (request.sort != undefined) {
|
|
17
|
-
for (const sort of request.sort) {
|
|
18
|
-
const descriptor = dataUnit.getField(sort.field);
|
|
19
|
-
const local = descriptor != undefined
|
|
20
|
-
&& descriptor.properties != undefined
|
|
21
|
-
&& descriptor.properties.calculated === "true";
|
|
22
|
-
if (local) {
|
|
23
|
-
localSorting.push(sort);
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
serverSorting.push(sort);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
37
|
+
const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
|
|
38
|
+
const { localSorting, serverSorting } = this.processSortingSide(request, dataUnit, serverSideFilters);
|
|
30
39
|
const fields = this.getFieldsList(dataUnit);
|
|
31
40
|
const serviceName = "DatasetSP.loadRecords";
|
|
32
|
-
const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting);
|
|
41
|
+
const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
|
|
33
42
|
const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
|
|
34
43
|
const { result: responseRecords, pagerID: pagerId } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
|
|
35
44
|
const records = this.processRecords(dataUnit, fields, responseRecords);
|
|
@@ -73,7 +82,7 @@ export class DatasetStrategy {
|
|
|
73
82
|
}
|
|
74
83
|
return [descriptor.name, descriptionField];
|
|
75
84
|
}
|
|
76
|
-
buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting) {
|
|
85
|
+
buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting, serverSideFilters) {
|
|
77
86
|
const dataSetID = dataUnit.dataUnitId;
|
|
78
87
|
const dataUnitName = dataUnit.name;
|
|
79
88
|
const entityName = DataUnitFetcher.parseDataUnitName(dataUnitName).entityName;
|
|
@@ -92,7 +101,7 @@ export class DatasetStrategy {
|
|
|
92
101
|
tryJoinedFields: true,
|
|
93
102
|
parallelLoader: useParallelLoader,
|
|
94
103
|
crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
|
|
95
|
-
txProperties: this.getTxProperties(
|
|
104
|
+
txProperties: this.getTxProperties(dataUnit, request, sorting, serverSideFilters),
|
|
96
105
|
useDefaultRowsLimit: false
|
|
97
106
|
}
|
|
98
107
|
};
|
|
@@ -103,12 +112,10 @@ export class DatasetStrategy {
|
|
|
103
112
|
const moduleName = app.getModuleName();
|
|
104
113
|
return moduleName.replace("-bff", "");
|
|
105
114
|
}
|
|
106
|
-
getTxProperties(
|
|
107
|
-
var _a, _b;
|
|
115
|
+
getTxProperties(dataUnit, request, sorting, serverSideFilters) {
|
|
108
116
|
const txProperties = {
|
|
109
|
-
"__DATA_UNIT_ADAPTER__[dataUnitName]":
|
|
117
|
+
"__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnit.name
|
|
110
118
|
};
|
|
111
|
-
const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
|
|
112
119
|
if (serverSideFilters.length !== 0) {
|
|
113
120
|
txProperties["__DATA_UNIT_ADAPTER__[criteria]"] = JSON.stringify(serverSideFilters);
|
|
114
121
|
}
|
|
@@ -118,6 +125,13 @@ export class DatasetStrategy {
|
|
|
118
125
|
if (request.parentRecordId != undefined) {
|
|
119
126
|
txProperties["__DATA_UNIT_ADAPTER__[parentRecordId]"] = request.parentRecordId;
|
|
120
127
|
}
|
|
128
|
+
const loaderProps = dataUnit.getGlobalLoaderProps();
|
|
129
|
+
if (loaderProps == undefined || loaderProps.size === 0) {
|
|
130
|
+
return txProperties;
|
|
131
|
+
}
|
|
132
|
+
Array.from(loaderProps.entries()).forEach(([name, value]) => {
|
|
133
|
+
txProperties[name] = value;
|
|
134
|
+
});
|
|
121
135
|
return txProperties;
|
|
122
136
|
}
|
|
123
137
|
processRecords(dataUnit, fields, responseRecords) {
|
|
@@ -3,7 +3,22 @@ import { DateUtils, StringUtils, ObjectUtils } from "@sankhyalabs/core";
|
|
|
3
3
|
import { DataFetcher } from "../DataFetcher";
|
|
4
4
|
export default class ParametersFetcher {
|
|
5
5
|
constructor() {
|
|
6
|
+
this._embeddedParams = new Map();
|
|
6
7
|
this.templateByQuery = new Map();
|
|
8
|
+
try {
|
|
9
|
+
if (window["MGE_PARAMS"] != undefined) {
|
|
10
|
+
const source = atob(window['MGE_PARAMS']);
|
|
11
|
+
const params = source.split('__;__');
|
|
12
|
+
params.forEach(param => {
|
|
13
|
+
const [key, value] = param.split("__=__");
|
|
14
|
+
this._embeddedParams.set(key, value);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
console.error("Problemas ao obter parâmetros embarcados");
|
|
20
|
+
console.error(error);
|
|
21
|
+
}
|
|
7
22
|
this.buldTemplates();
|
|
8
23
|
}
|
|
9
24
|
buldTemplates() {
|
|
@@ -15,6 +30,9 @@ export default class ParametersFetcher {
|
|
|
15
30
|
}`);
|
|
16
31
|
}
|
|
17
32
|
async getParam(name) {
|
|
33
|
+
if (this._embeddedParams.has(name)) {
|
|
34
|
+
return Promise.resolve(this._embeddedParams.get(name));
|
|
35
|
+
}
|
|
18
36
|
const completPath = `param://application?params=${name}`;
|
|
19
37
|
return DataFetcher.get().callGraphQL({
|
|
20
38
|
values: { name: completPath },
|
|
@@ -52,6 +70,9 @@ export default class ParametersFetcher {
|
|
|
52
70
|
if (Array.isArray(obj) && obj.length > 0) {
|
|
53
71
|
obj = obj[0];
|
|
54
72
|
}
|
|
73
|
+
if (typeof obj === "string") {
|
|
74
|
+
return obj;
|
|
75
|
+
}
|
|
55
76
|
if (StringUtils.isEmpty(obj.resource))
|
|
56
77
|
return "";
|
|
57
78
|
try {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataType } from "@sankhyalabs/core";
|
|
1
|
+
import { ApplicationContext, DataType } from "@sankhyalabs/core";
|
|
2
2
|
import { gql } from "graphql-request";
|
|
3
3
|
import { DataFetcher } from "../DataFetcher";
|
|
4
4
|
export class PesquisaFetcher {
|
|
@@ -50,7 +50,7 @@ export class PesquisaFetcher {
|
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
loadAdvancedSearch(entityName, argument, criteria, searchOptions) {
|
|
53
|
-
var _a, _b, _c;
|
|
53
|
+
var _a, _b, _c, _d;
|
|
54
54
|
const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
|
|
55
55
|
const values = {
|
|
56
56
|
argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
|
|
@@ -63,10 +63,16 @@ export class PesquisaFetcher {
|
|
|
63
63
|
$: (_a = values.criteria) === null || _a === void 0 ? void 0 : _a.expression
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
|
-
if (((_b = values.criteria) === null || _b === void 0 ? void 0 : _b.params.length) > 0) {
|
|
66
|
+
if (((_c = (_b = values.criteria) === null || _b === void 0 ? void 0 : _b.params) === null || _c === void 0 ? void 0 : _c.length) > 0) {
|
|
67
67
|
externalCriteria.params = {
|
|
68
68
|
param: values.criteria.params.map(param => {
|
|
69
69
|
let value = param.value;
|
|
70
|
+
if (typeof value === "string") {
|
|
71
|
+
const match = /CTX\{([^}]+)\}/.exec(value);
|
|
72
|
+
if (match) {
|
|
73
|
+
value = ApplicationContext.getContextValue(`__SNK__APPLICATION__FILTER__CONTEXT(${match[1]})__`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
70
76
|
let type = param.dataType;
|
|
71
77
|
if (type === DataType.OBJECT) {
|
|
72
78
|
value = value.value;
|
|
@@ -91,7 +97,7 @@ export class PesquisaFetcher {
|
|
|
91
97
|
const reqBody = {
|
|
92
98
|
"serviceName": serviceName,
|
|
93
99
|
"requestBody": {
|
|
94
|
-
"criteria": Object.assign({ "entityName": entityName, "compacted": false, "ignoreEntityCriteria": false, "limit": this._defaultPageSize, "query": { "$": values.argument }, "orderByDesc": false, "externalCriteria": externalCriteria, "localEntityName": (
|
|
100
|
+
"criteria": Object.assign({ "entityName": entityName, "compacted": false, "ignoreEntityCriteria": false, "limit": this._defaultPageSize, "query": { "$": values.argument }, "orderByDesc": false, "externalCriteria": externalCriteria, "localEntityName": (_d = values.searchOptions) === null || _d === void 0 ? void 0 : _d.rootEntity }, { options }),
|
|
95
101
|
"clientEventList": {
|
|
96
102
|
"clientEvent": []
|
|
97
103
|
}
|
|
@@ -4,7 +4,7 @@ export { CrudUtils } from './utils/CrudUtils';
|
|
|
4
4
|
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
|
-
export { AttachFetcher } from './http/data-fetcher/fetchers/
|
|
7
|
+
export { AttachFetcher, AnexoSistemaFetcher } from './http/data-fetcher/fetchers/AttachFetcher';
|
|
8
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';
|
|
@@ -17,11 +17,24 @@ export const snkAttachMessages = {
|
|
|
17
17
|
anyLinkOrFileFilled: {
|
|
18
18
|
title: "Atenção",
|
|
19
19
|
message: `É necessário preencher o campo "Link" ou anexar um arquivo.`
|
|
20
|
+
},
|
|
21
|
+
descriptionCannotBeChanged: {
|
|
22
|
+
title: "Atenção",
|
|
23
|
+
message: "O campo 'Descrição' não pode ser alterado."
|
|
20
24
|
}
|
|
21
25
|
},
|
|
22
26
|
taskbar: {
|
|
23
27
|
titleDownload: "Fazer download",
|
|
24
28
|
titleLink: "Abrir link",
|
|
29
|
+
},
|
|
30
|
+
attachMetadata: {
|
|
31
|
+
lblCode: "Código",
|
|
32
|
+
lblDescription: "Descrição",
|
|
33
|
+
lblFileOrLink: "Arquivo / Link",
|
|
34
|
+
lblUser: "Usuário",
|
|
35
|
+
lblDate: "Data de alteração",
|
|
36
|
+
lblFile: "Arquivo",
|
|
37
|
+
lblSubTitle: "Clique para selecionar um arquivo",
|
|
25
38
|
}
|
|
26
39
|
};
|
|
27
40
|
export default snkAttachMessages;
|
|
@@ -6786,7 +6786,6 @@ class DataFetcher {
|
|
|
6786
6786
|
if (http.readyState == 4 && http.status == 200) {
|
|
6787
6787
|
try {
|
|
6788
6788
|
const jsonResp = JSON.parse(http.responseText);
|
|
6789
|
-
await this.processServiceBrokerClientEvents({ clientEvents: jsonResp === null || jsonResp === void 0 ? void 0 : jsonResp.clientEvents, serviceName, payloadJson, accept, reject });
|
|
6790
6789
|
/**
|
|
6791
6790
|
* Este trecho difere do projeto HTML5 devido à decisão de adotar uma abordagem síncrona para esta chamada. Isso é justificado pelo fato de que, no cenário em questão, a abordagem assíncrona teria impactos negativos.
|
|
6792
6791
|
*
|
|
@@ -6797,8 +6796,10 @@ class DataFetcher {
|
|
|
6797
6796
|
if (this.isServiceBrokerError(jsonResp)) {
|
|
6798
6797
|
reject(this.processServiceBrokerErrorInfo(jsonResp));
|
|
6799
6798
|
}
|
|
6800
|
-
else if (jsonResp.status == DataFetcher.SERVICE_BROKER_STATUS.SERVICE_CANCELED
|
|
6801
|
-
|
|
6799
|
+
else if (jsonResp.status == DataFetcher.SERVICE_BROKER_STATUS.SERVICE_CANCELED) {
|
|
6800
|
+
if (jsonResp.statusMessage) {
|
|
6801
|
+
console.debug(`[DataFetcher] ${jsonResp.statusMessage}`);
|
|
6802
|
+
}
|
|
6802
6803
|
}
|
|
6803
6804
|
else {
|
|
6804
6805
|
accept(jsonResp.responseBody);
|
|
@@ -6806,6 +6807,7 @@ class DataFetcher {
|
|
|
6806
6807
|
(_a = this.application) === null || _a === void 0 ? void 0 : _a.info(jsonResp.statusMessage);
|
|
6807
6808
|
}
|
|
6808
6809
|
}
|
|
6810
|
+
this.processServiceBrokerClientEvents({ clientEvents: jsonResp === null || jsonResp === void 0 ? void 0 : jsonResp.clientEvents, serviceName, payloadJson, accept, reject });
|
|
6809
6811
|
}
|
|
6810
6812
|
catch (err) {
|
|
6811
6813
|
console.warn(`Erro ao executar serviço: ${err}`);
|
|
@@ -351,11 +351,24 @@ const snkAttachMessages = {
|
|
|
351
351
|
anyLinkOrFileFilled: {
|
|
352
352
|
title: "Atenção",
|
|
353
353
|
message: `É necessário preencher o campo "Link" ou anexar um arquivo.`
|
|
354
|
+
},
|
|
355
|
+
descriptionCannotBeChanged: {
|
|
356
|
+
title: "Atenção",
|
|
357
|
+
message: "O campo 'Descrição' não pode ser alterado."
|
|
354
358
|
}
|
|
355
359
|
},
|
|
356
360
|
taskbar: {
|
|
357
361
|
titleDownload: "Fazer download",
|
|
358
362
|
titleLink: "Abrir link",
|
|
363
|
+
},
|
|
364
|
+
attachMetadata: {
|
|
365
|
+
lblCode: "Código",
|
|
366
|
+
lblDescription: "Descrição",
|
|
367
|
+
lblFileOrLink: "Arquivo / Link",
|
|
368
|
+
lblUser: "Usuário",
|
|
369
|
+
lblDate: "Data de alteração",
|
|
370
|
+
lblFile: "Arquivo",
|
|
371
|
+
lblSubTitle: "Clique para selecionar um arquivo",
|
|
359
372
|
}
|
|
360
373
|
};
|
|
361
374
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataType, FieldComparator, SortMode, DataUnit, DateUtils, StringUtils, ChangeOperation,
|
|
1
|
+
import { DataType, ApplicationContext, 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';
|
|
@@ -54,7 +54,7 @@ class PesquisaFetcher {
|
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
loadAdvancedSearch(entityName, argument, criteria, searchOptions) {
|
|
57
|
-
var _a, _b, _c;
|
|
57
|
+
var _a, _b, _c, _d;
|
|
58
58
|
const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
|
|
59
59
|
const values = {
|
|
60
60
|
argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
|
|
@@ -67,10 +67,16 @@ class PesquisaFetcher {
|
|
|
67
67
|
$: (_a = values.criteria) === null || _a === void 0 ? void 0 : _a.expression
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
|
-
if (((_b = values.criteria) === null || _b === void 0 ? void 0 : _b.params.length) > 0) {
|
|
70
|
+
if (((_c = (_b = values.criteria) === null || _b === void 0 ? void 0 : _b.params) === null || _c === void 0 ? void 0 : _c.length) > 0) {
|
|
71
71
|
externalCriteria.params = {
|
|
72
72
|
param: values.criteria.params.map(param => {
|
|
73
73
|
let value = param.value;
|
|
74
|
+
if (typeof value === "string") {
|
|
75
|
+
const match = /CTX\{([^}]+)\}/.exec(value);
|
|
76
|
+
if (match) {
|
|
77
|
+
value = ApplicationContext.getContextValue(`__SNK__APPLICATION__FILTER__CONTEXT(${match[1]})__`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
74
80
|
let type = param.dataType;
|
|
75
81
|
if (type === DataType.OBJECT) {
|
|
76
82
|
value = value.value;
|
|
@@ -95,7 +101,7 @@ class PesquisaFetcher {
|
|
|
95
101
|
const reqBody = {
|
|
96
102
|
"serviceName": serviceName,
|
|
97
103
|
"requestBody": {
|
|
98
|
-
"criteria": Object.assign({ "entityName": entityName, "compacted": false, "ignoreEntityCriteria": false, "limit": this._defaultPageSize, "query": { "$": values.argument }, "orderByDesc": false, "externalCriteria": externalCriteria, "localEntityName": (
|
|
104
|
+
"criteria": Object.assign({ "entityName": entityName, "compacted": false, "ignoreEntityCriteria": false, "limit": this._defaultPageSize, "query": { "$": values.argument }, "orderByDesc": false, "externalCriteria": externalCriteria, "localEntityName": (_d = values.searchOptions) === null || _d === void 0 ? void 0 : _d.rootEntity }, { options }),
|
|
99
105
|
"clientEventList": {
|
|
100
106
|
"clientEvent": []
|
|
101
107
|
}
|
|
@@ -396,7 +402,7 @@ class InMemoryLoader {
|
|
|
396
402
|
this.dataUnit.loadMetadata().then(() => this.dataUnit.loadData());
|
|
397
403
|
}
|
|
398
404
|
getRecordsToLoad() {
|
|
399
|
-
if (this._initialRecords == undefined
|
|
405
|
+
if (this._initialRecords == undefined || this.dataUnit.records.length > 0) {
|
|
400
406
|
this._initialRecords = this.dataUnit.records;
|
|
401
407
|
}
|
|
402
408
|
return this._initialRecords;
|
|
@@ -531,30 +537,39 @@ class DatasetStrategy {
|
|
|
531
537
|
canSlice() {
|
|
532
538
|
return false;
|
|
533
539
|
}
|
|
540
|
+
processSortingSide(request, dataUnit, serverSideFilters) {
|
|
541
|
+
const localSorting = [];
|
|
542
|
+
const serverSorting = [];
|
|
543
|
+
if (request.sort != undefined) {
|
|
544
|
+
if (serverSideFilters.length === 0) {
|
|
545
|
+
return { localSorting: request.sort, serverSorting: [] };
|
|
546
|
+
}
|
|
547
|
+
for (const sort of request.sort) {
|
|
548
|
+
const descriptor = dataUnit.getField(sort.field);
|
|
549
|
+
const local = descriptor != undefined
|
|
550
|
+
&& descriptor.properties != undefined
|
|
551
|
+
&& descriptor.properties.calculated === "true";
|
|
552
|
+
if (local) {
|
|
553
|
+
localSorting.push(sort);
|
|
554
|
+
}
|
|
555
|
+
else {
|
|
556
|
+
serverSorting.push(sort);
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
return { localSorting, serverSorting };
|
|
561
|
+
}
|
|
534
562
|
async load(dataUnit, request, loadingInfo) {
|
|
563
|
+
var _a, _b;
|
|
535
564
|
if (dataUnit.metadata == undefined) {
|
|
536
565
|
return Promise.resolve({ records: [], loadingInfo });
|
|
537
566
|
}
|
|
538
567
|
try {
|
|
539
|
-
const
|
|
540
|
-
const serverSorting =
|
|
541
|
-
if (request.sort != undefined) {
|
|
542
|
-
for (const sort of request.sort) {
|
|
543
|
-
const descriptor = dataUnit.getField(sort.field);
|
|
544
|
-
const local = descriptor != undefined
|
|
545
|
-
&& descriptor.properties != undefined
|
|
546
|
-
&& descriptor.properties.calculated === "true";
|
|
547
|
-
if (local) {
|
|
548
|
-
localSorting.push(sort);
|
|
549
|
-
}
|
|
550
|
-
else {
|
|
551
|
-
serverSorting.push(sort);
|
|
552
|
-
}
|
|
553
|
-
}
|
|
554
|
-
}
|
|
568
|
+
const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
|
|
569
|
+
const { localSorting, serverSorting } = this.processSortingSide(request, dataUnit, serverSideFilters);
|
|
555
570
|
const fields = this.getFieldsList(dataUnit);
|
|
556
571
|
const serviceName = "DatasetSP.loadRecords";
|
|
557
|
-
const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting);
|
|
572
|
+
const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
|
|
558
573
|
const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
|
|
559
574
|
const { result: responseRecords, pagerID: pagerId } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
|
|
560
575
|
const records = this.processRecords(dataUnit, fields, responseRecords);
|
|
@@ -598,7 +613,7 @@ class DatasetStrategy {
|
|
|
598
613
|
}
|
|
599
614
|
return [descriptor.name, descriptionField];
|
|
600
615
|
}
|
|
601
|
-
buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting) {
|
|
616
|
+
buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting, serverSideFilters) {
|
|
602
617
|
const dataSetID = dataUnit.dataUnitId;
|
|
603
618
|
const dataUnitName = dataUnit.name;
|
|
604
619
|
const entityName = DataUnitFetcher.parseDataUnitName(dataUnitName).entityName;
|
|
@@ -617,7 +632,7 @@ class DatasetStrategy {
|
|
|
617
632
|
tryJoinedFields: true,
|
|
618
633
|
parallelLoader: useParallelLoader,
|
|
619
634
|
crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
|
|
620
|
-
txProperties: this.getTxProperties(
|
|
635
|
+
txProperties: this.getTxProperties(dataUnit, request, sorting, serverSideFilters),
|
|
621
636
|
useDefaultRowsLimit: false
|
|
622
637
|
}
|
|
623
638
|
};
|
|
@@ -628,12 +643,10 @@ class DatasetStrategy {
|
|
|
628
643
|
const moduleName = app.getModuleName();
|
|
629
644
|
return moduleName.replace("-bff", "");
|
|
630
645
|
}
|
|
631
|
-
getTxProperties(
|
|
632
|
-
var _a, _b;
|
|
646
|
+
getTxProperties(dataUnit, request, sorting, serverSideFilters) {
|
|
633
647
|
const txProperties = {
|
|
634
|
-
"__DATA_UNIT_ADAPTER__[dataUnitName]":
|
|
648
|
+
"__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnit.name
|
|
635
649
|
};
|
|
636
|
-
const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
|
|
637
650
|
if (serverSideFilters.length !== 0) {
|
|
638
651
|
txProperties["__DATA_UNIT_ADAPTER__[criteria]"] = JSON.stringify(serverSideFilters);
|
|
639
652
|
}
|
|
@@ -643,6 +656,13 @@ class DatasetStrategy {
|
|
|
643
656
|
if (request.parentRecordId != undefined) {
|
|
644
657
|
txProperties["__DATA_UNIT_ADAPTER__[parentRecordId]"] = request.parentRecordId;
|
|
645
658
|
}
|
|
659
|
+
const loaderProps = dataUnit.getGlobalLoaderProps();
|
|
660
|
+
if (loaderProps == undefined || loaderProps.size === 0) {
|
|
661
|
+
return txProperties;
|
|
662
|
+
}
|
|
663
|
+
Array.from(loaderProps.entries()).forEach(([name, value]) => {
|
|
664
|
+
txProperties[name] = value;
|
|
665
|
+
});
|
|
646
666
|
return txProperties;
|
|
647
667
|
}
|
|
648
668
|
processRecords(dataUnit, fields, responseRecords) {
|
|
@@ -972,14 +992,41 @@ class DataUnitFetcher {
|
|
|
972
992
|
});
|
|
973
993
|
});
|
|
974
994
|
}
|
|
995
|
+
addTransientProperties(dataUnit, updatingFields) {
|
|
996
|
+
const loaderProps = dataUnit.getGlobalLoaderProps();
|
|
997
|
+
if (loaderProps == undefined || loaderProps.size === 0) {
|
|
998
|
+
return updatingFields;
|
|
999
|
+
}
|
|
1000
|
+
if (updatingFields == undefined) {
|
|
1001
|
+
updatingFields = {};
|
|
1002
|
+
}
|
|
1003
|
+
Array.from(loaderProps.entries()).forEach(([name, value]) => {
|
|
1004
|
+
updatingFields[`transient.${name}`] = value;
|
|
1005
|
+
});
|
|
1006
|
+
return updatingFields;
|
|
1007
|
+
}
|
|
1008
|
+
getUpdatingFields(dataUnit, originalUpdatingFields) {
|
|
1009
|
+
if (originalUpdatingFields == undefined) {
|
|
1010
|
+
return;
|
|
1011
|
+
}
|
|
1012
|
+
const updatingFields = Object.assign({}, originalUpdatingFields);
|
|
1013
|
+
Object.keys(updatingFields).forEach(key => {
|
|
1014
|
+
const descriptor = dataUnit.getField(key);
|
|
1015
|
+
if (descriptor != undefined && descriptor.standAlone) {
|
|
1016
|
+
delete updatingFields[key];
|
|
1017
|
+
}
|
|
1018
|
+
});
|
|
1019
|
+
return this.addTransientProperties(dataUnit, updatingFields);
|
|
1020
|
+
}
|
|
975
1021
|
saveData(dataUnit, duChanges) {
|
|
976
1022
|
const updatedRecordsIds = [];
|
|
977
1023
|
const addedRecordsIds = [];
|
|
978
1024
|
const changes = duChanges.map((change) => {
|
|
979
|
-
const { dataUnit: changeDU, record,
|
|
1025
|
+
const { dataUnit: changeDU, record, operation } = change;
|
|
980
1026
|
const dataUnitInstance = DataUnitStorage.get(changeDU);
|
|
1027
|
+
const updatingFields = this.getUpdatingFields(dataUnitInstance, change.updatingFields);
|
|
981
1028
|
let parsedUpdatingFields;
|
|
982
|
-
if (updatingFields) {
|
|
1029
|
+
if (updatingFields != undefined) {
|
|
983
1030
|
parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
|
|
984
1031
|
const descriptor = dataUnitInstance.getField(fieldName);
|
|
985
1032
|
const dataType = descriptor ? descriptor.dataType : DataType.TEXT;
|
|
@@ -1027,7 +1074,8 @@ class DataUnitFetcher {
|
|
|
1027
1074
|
}
|
|
1028
1075
|
responseRecord.fields.forEach(({ name, value }) => {
|
|
1029
1076
|
var _a;
|
|
1030
|
-
|
|
1077
|
+
const valueFromString = (_a = dataUnitInstance === null || dataUnitInstance === void 0 ? void 0 : dataUnitInstance.valueFromString) === null || _a === void 0 ? void 0 : _a.call(dataUnitInstance, name, value);
|
|
1078
|
+
duRecord[name] = (valueFromString !== undefined) ? valueFromString : value;
|
|
1031
1079
|
});
|
|
1032
1080
|
dataUnitRecords.push(duRecord);
|
|
1033
1081
|
});
|
|
@@ -163,6 +163,7 @@ var SaveErrorsEnum;
|
|
|
163
163
|
SaveErrorsEnum["LINK_AND_FILE_AT_THE_SAME_TIME"] = "LINK_AND_FILE_AT_THE_SAME_TIME";
|
|
164
164
|
SaveErrorsEnum["ANY_LINK_OR_FILE_FILLED"] = "ANY_LINK_OR_FILE_FILLED";
|
|
165
165
|
SaveErrorsEnum["UNKNOWN"] = "UNKNOWN";
|
|
166
|
+
SaveErrorsEnum["DESCRIPTION_CANNOT_BE_CHANGED"] = "DESCRIPTION_CANNOT_BE_CHANGED";
|
|
166
167
|
})(SaveErrorsEnum || (SaveErrorsEnum = {}));
|
|
167
168
|
|
|
168
169
|
const MASTER_ROW_PROPERTY = "__MASTER_ROW__";
|
|
@@ -72,7 +72,22 @@ class TotalsFetcher {
|
|
|
72
72
|
|
|
73
73
|
class ParametersFetcher {
|
|
74
74
|
constructor() {
|
|
75
|
+
this._embeddedParams = new Map();
|
|
75
76
|
this.templateByQuery = new Map();
|
|
77
|
+
try {
|
|
78
|
+
if (window["MGE_PARAMS"] != undefined) {
|
|
79
|
+
const source = atob(window['MGE_PARAMS']);
|
|
80
|
+
const params = source.split('__;__');
|
|
81
|
+
params.forEach(param => {
|
|
82
|
+
const [key, value] = param.split("__=__");
|
|
83
|
+
this._embeddedParams.set(key, value);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
console.error("Problemas ao obter parâmetros embarcados");
|
|
89
|
+
console.error(error);
|
|
90
|
+
}
|
|
76
91
|
this.buldTemplates();
|
|
77
92
|
}
|
|
78
93
|
buldTemplates() {
|
|
@@ -84,6 +99,9 @@ class ParametersFetcher {
|
|
|
84
99
|
}`);
|
|
85
100
|
}
|
|
86
101
|
async getParam(name) {
|
|
102
|
+
if (this._embeddedParams.has(name)) {
|
|
103
|
+
return Promise.resolve(this._embeddedParams.get(name));
|
|
104
|
+
}
|
|
87
105
|
const completPath = `param://application?params=${name}`;
|
|
88
106
|
return DataFetcher.get().callGraphQL({
|
|
89
107
|
values: { name: completPath },
|
|
@@ -121,6 +139,9 @@ class ParametersFetcher {
|
|
|
121
139
|
if (Array.isArray(obj) && obj.length > 0) {
|
|
122
140
|
obj = obj[0];
|
|
123
141
|
}
|
|
142
|
+
if (typeof obj === "string") {
|
|
143
|
+
return obj;
|
|
144
|
+
}
|
|
124
145
|
if (StringUtils.isEmpty(obj.resource))
|
|
125
146
|
return "";
|
|
126
147
|
try {
|
|
@@ -993,6 +1014,15 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
993
1014
|
this._waitingAppReady.push(() => resolve(this));
|
|
994
1015
|
});
|
|
995
1016
|
}
|
|
1017
|
+
/**
|
|
1018
|
+
* Atribui valor para parâmetros de contexto no componente de pesquisa.
|
|
1019
|
+
*
|
|
1020
|
+
* @param name - Nome do parâmetro
|
|
1021
|
+
* @param value - String conversível de acordo com o tipo do parâmetro
|
|
1022
|
+
*/
|
|
1023
|
+
async setSearchFilterContext(name, value) {
|
|
1024
|
+
ApplicationContext.setContextValue(`__SNK__APPLICATION__FILTER__CONTEXT(${name})__`, value);
|
|
1025
|
+
}
|
|
996
1026
|
clearContent(container) {
|
|
997
1027
|
if (container) {
|
|
998
1028
|
Array.from(container.children).forEach(child => {
|
|
@@ -1260,7 +1290,8 @@ const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
1260
1290
|
"getApplicationPath": [64],
|
|
1261
1291
|
"executeSelectDistinct": [64],
|
|
1262
1292
|
"getDataFetcher": [64],
|
|
1263
|
-
"whenApplicationReady": [64]
|
|
1293
|
+
"whenApplicationReady": [64],
|
|
1294
|
+
"setSearchFilterContext": [64]
|
|
1264
1295
|
}]);
|
|
1265
1296
|
class RequestListenerLoadingBar {
|
|
1266
1297
|
constructor() {
|