@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-38407.0 → 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/{SnkFormConfigManager-71c4768e.js → SnkFormConfigManager-3621bfc4.js} +2 -2
- 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/{pesquisa-fetcher-977c90b1.js → pesquisa-fetcher-c416a6b7.js} +22 -8
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-actions-button_2.cjs.entry.js +6 -4
- package/dist/cjs/snk-application.cjs.entry.js +26 -5
- package/dist/cjs/snk-attach.cjs.entry.js +4 -4
- package/dist/cjs/snk-crud.cjs.entry.js +10 -7
- package/dist/cjs/snk-data-exporter.cjs.entry.js +1 -1
- package/dist/cjs/snk-detail-view.cjs.entry.js +6 -6
- 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-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-5803fe92.js → snk-guides-viewer-3ab9623e.js} +7 -7
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +6 -6
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
- package/dist/cjs/snk-simple-crud.cjs.entry.js +16 -4
- package/dist/cjs/snk-taskbar.cjs.entry.js +51 -3
- package/dist/collection/components/snk-application/__mocks__/snk-application.js +7 -0
- 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-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-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-simple-crud/snk-simple-crud.js +53 -1
- package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +3 -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/data-unit/dataunit-fetcher.js +17 -3
- package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +21 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +3 -3
- package/dist/components/DataFetcher.js +5 -3
- package/dist/components/dataunit-fetcher.js +21 -7
- package/dist/components/snk-application2.js +21 -0
- package/dist/components/snk-crud.js +7 -3
- 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-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-simple-crud2.js +15 -1
- package/dist/components/snk-taskbar2.js +55 -4
- package/dist/components/taskbar-actions-button2.js +3 -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/{SnkFormConfigManager-5c7d3771.js → SnkFormConfigManager-692e20c7.js} +2 -2
- 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/{pesquisa-fetcher-5e228b5a.js → pesquisa-fetcher-ab16a2e8.js} +22 -8
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-actions-button_2.entry.js +6 -4
- package/dist/esm/snk-application.entry.js +26 -5
- package/dist/esm/snk-attach.entry.js +4 -4
- package/dist/esm/snk-crud.entry.js +10 -7
- package/dist/esm/snk-data-exporter.entry.js +1 -1
- package/dist/esm/snk-detail-view.entry.js +6 -6
- 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-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-c77e1c8f.js → snk-guides-viewer-462b4c9e.js} +7 -7
- package/dist/esm/snk-guides-viewer.entry.js +6 -6
- package/dist/esm/snk-personalized-filter.entry.js +3 -3
- package/dist/esm/snk-simple-crud.entry.js +16 -4
- 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-2dd38000.entry.js → p-0ae89faa.entry.js} +1 -1
- package/dist/sankhyablocks/{p-cb7419e0.entry.js → p-0b0b36ac.entry.js} +1 -1
- package/dist/sankhyablocks/p-33718dfc.entry.js +1 -0
- package/dist/sankhyablocks/{p-59ce706a.entry.js → p-33bc44a6.entry.js} +1 -1
- package/dist/sankhyablocks/{p-3efca291.entry.js → p-48afb1d3.entry.js} +1 -1
- 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-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-ce4bca21.js → p-a3a9d37d.js} +1 -1
- package/dist/sankhyablocks/{p-9695f78b.js → p-be75153c.js} +1 -1
- package/dist/sankhyablocks/p-bf2acf72.entry.js +1 -0
- package/dist/sankhyablocks/{p-34156b41.entry.js → p-c093edc7.entry.js} +1 -1
- package/dist/sankhyablocks/p-c6247955.js +65 -0
- 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-1d75d9f9.entry.js → p-fcdcb0e2.entry.js} +1 -1
- package/dist/sankhyablocks/{p-86164061.entry.js → p-fd0a8d68.entry.js} +3 -3
- package/dist/sankhyablocks/{p-40915359.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-crud/snk-crud.d.ts +5 -0
- 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/snk-taskbar.d.ts +20 -1
- package/dist/types/components.d.ts +64 -0
- package/dist/types/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.d.ts +1 -0
- package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
- package/package.json +9 -2
- package/dist/sankhyablocks/p-20726710.entry.js +0 -1
- package/dist/sankhyablocks/p-25c77ddb.js +0 -65
- package/dist/sankhyablocks/p-69efa80d.entry.js +0 -1
- package/dist/sankhyablocks/p-7d8d7fe9.entry.js +0 -1
- package/dist/sankhyablocks/p-a9e5b094.entry.js +0 -1
- package/dist/sankhyablocks/p-ab568a2e.entry.js +0 -1
- package/dist/sankhyablocks/p-b05ab13d.entry.js +0 -1
- package/dist/sankhyablocks/p-d4f9ee17.entry.js +0 -1
- package/dist/sankhyablocks/p-e6380c60.js +0 -1
- package/dist/sankhyablocks/p-f39f48c2.entry.js +0 -1
|
@@ -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 {
|
|
@@ -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,7 +63,7 @@ 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;
|
|
@@ -97,7 +97,7 @@ export class PesquisaFetcher {
|
|
|
97
97
|
const reqBody = {
|
|
98
98
|
"serviceName": serviceName,
|
|
99
99
|
"requestBody": {
|
|
100
|
-
"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 }),
|
|
101
101
|
"clientEventList": {
|
|
102
102
|
"clientEvent": []
|
|
103
103
|
}
|
|
@@ -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}`);
|
|
@@ -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,7 +67,7 @@ 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;
|
|
@@ -101,7 +101,7 @@ class PesquisaFetcher {
|
|
|
101
101
|
const reqBody = {
|
|
102
102
|
"serviceName": serviceName,
|
|
103
103
|
"requestBody": {
|
|
104
|
-
"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 }),
|
|
105
105
|
"clientEventList": {
|
|
106
106
|
"clientEvent": []
|
|
107
107
|
}
|
|
@@ -402,7 +402,7 @@ class InMemoryLoader {
|
|
|
402
402
|
this.dataUnit.loadMetadata().then(() => this.dataUnit.loadData());
|
|
403
403
|
}
|
|
404
404
|
getRecordsToLoad() {
|
|
405
|
-
if (this._initialRecords == undefined
|
|
405
|
+
if (this._initialRecords == undefined || this.dataUnit.records.length > 0) {
|
|
406
406
|
this._initialRecords = this.dataUnit.records;
|
|
407
407
|
}
|
|
408
408
|
return this._initialRecords;
|
|
@@ -1005,15 +1005,29 @@ class DataUnitFetcher {
|
|
|
1005
1005
|
});
|
|
1006
1006
|
return updatingFields;
|
|
1007
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
|
+
}
|
|
1008
1021
|
saveData(dataUnit, duChanges) {
|
|
1009
1022
|
const updatedRecordsIds = [];
|
|
1010
1023
|
const addedRecordsIds = [];
|
|
1011
1024
|
const changes = duChanges.map((change) => {
|
|
1012
|
-
const { dataUnit: changeDU, record,
|
|
1025
|
+
const { dataUnit: changeDU, record, operation } = change;
|
|
1013
1026
|
const dataUnitInstance = DataUnitStorage.get(changeDU);
|
|
1027
|
+
const updatingFields = this.getUpdatingFields(dataUnitInstance, change.updatingFields);
|
|
1014
1028
|
let parsedUpdatingFields;
|
|
1015
|
-
if (updatingFields) {
|
|
1016
|
-
parsedUpdatingFields = Object.entries(
|
|
1029
|
+
if (updatingFields != undefined) {
|
|
1030
|
+
parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
|
|
1017
1031
|
const descriptor = dataUnitInstance.getField(fieldName);
|
|
1018
1032
|
const dataType = descriptor ? descriptor.dataType : DataType.TEXT;
|
|
1019
1033
|
return { fieldName, dataType, value: dataUnitInstance.valueToString(fieldName, value) };
|
|
@@ -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 {
|
|
@@ -69,6 +69,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
69
69
|
this.presentationMode = PresentationMode.PRIMARY;
|
|
70
70
|
this.messagesBuilder = undefined;
|
|
71
71
|
this.useEnterLikeTab = false;
|
|
72
|
+
this.disablePersonalizedFilter = undefined;
|
|
72
73
|
this.customContainerId = `SNK-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
|
|
73
74
|
}
|
|
74
75
|
/**
|
|
@@ -201,7 +202,8 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
201
202
|
window.removeEventListener("keydown", this._keyDownHandler);
|
|
202
203
|
}
|
|
203
204
|
async initKeyboardManager() {
|
|
204
|
-
|
|
205
|
+
var _a;
|
|
206
|
+
const keyboardManager = await ((_a = this._application) === null || _a === void 0 ? void 0 : _a.getKeyboardManager());
|
|
205
207
|
if (keyboardManager) {
|
|
206
208
|
const dataUnit = this._dataUnit || await this._snkDataUnit.getDataUnit();
|
|
207
209
|
async function saveDataUnitHandlingFocus() {
|
|
@@ -250,7 +252,8 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
250
252
|
}
|
|
251
253
|
}
|
|
252
254
|
async removeShortcuts() {
|
|
253
|
-
|
|
255
|
+
var _a;
|
|
256
|
+
const keyboardManager = await ((_a = this._application) === null || _a === void 0 ? void 0 : _a.getKeyboardManager());
|
|
254
257
|
if (keyboardManager) {
|
|
255
258
|
keyboardManager
|
|
256
259
|
.unbind("F6")
|
|
@@ -317,7 +320,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
317
320
|
return;
|
|
318
321
|
}
|
|
319
322
|
this._snkDataUnit.ignoreSaveMessage = this._currentViewMode === VIEW_MODE.GRID;
|
|
320
|
-
return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", null, h("snk-grid", { ref: (ref) => this._snkGrid = ref, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkFormTaskBar" }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId })), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
|
|
323
|
+
return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", null, h("snk-grid", { ref: (ref) => this._snkGrid = ref, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkFormTaskBar" }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId })), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
|
|
321
324
|
}
|
|
322
325
|
get _element() { return this; }
|
|
323
326
|
static get watchers() { return {
|
|
@@ -336,6 +339,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
336
339
|
"presentationMode": [1, "presentation-mode"],
|
|
337
340
|
"messagesBuilder": [1040],
|
|
338
341
|
"useEnterLikeTab": [4, "use-enter-like-tab"],
|
|
342
|
+
"disablePersonalizedFilter": [4, "disable-personalized-filter"],
|
|
339
343
|
"_dataUnit": [32],
|
|
340
344
|
"_dataState": [32],
|
|
341
345
|
"attachmentRegisterKey": [32],
|
|
@@ -43,7 +43,7 @@ import { d as defineCustomElement$l } from './snk-field-config2.js';
|
|
|
43
43
|
import { d as defineCustomElement$d } from './snk-form-config2.js';
|
|
44
44
|
import { d as defineCustomElement$4 } from './snk-tab-config2.js';
|
|
45
45
|
|
|
46
|
-
const snkGuidesViewerCss = ".sc-snk-guides-viewer-h{--snk-guides-viewer--space-large:var(--space--large, 24px);--snk-guides-viewer--space-medium:var(--space--medium, 12px);--snk-guides-viewer__header--min-height:94px;--snk-guides-viewer__header--z-index:var(--more-visible, 2);--snk-guides-viewer__header--background-color:var(--background--body, #fafcff);--snk-guides-viewer__guide-navigator--width:340px;display:block}snk-form-view.sc-snk-guides-viewer{width:100%}.snk-guides-viewer.sc-snk-guides-viewer{position:relative;padding-left:0px;padding-top:0px;padding-right:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__detail-container.sc-snk-guides-viewer{display:flex;row-gap:24px;flex-direction:column}.snk-guides-viewer__header.sc-snk-guides-viewer{position:sticky;align-items:center;top:0;z-index:var(--snk-guides-viewer__header--z-index);background-color:var(--snk-guides-viewer__header--background-color);min-height:var(--snk-guides-viewer__header--min-height);width:calc(100% + (var(--snk-guides-viewer--space-large) * 2));padding-left:var(--snk-guides-viewer--space-large);padding-right:var(--snk-guides-viewer--space-large);padding-top:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-medium);margin-left:calc(var(--snk-guides-viewer--space-large) * -1);margin-right:calc(var(--snk-guides-viewer--space-large) * -1);margin-bottom:var(--snk-guides-viewer--space-medium)}.snk-guides-viewer__container.sc-snk-guides-viewer{display:grid;grid-template-columns:minmax(0, auto) minmax(0, 100%);height:100%;column-gap:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__guide-navigator.sc-snk-guides-viewer{position:sticky;top:calc(var(--snk-guides-viewer__header--min-height) + var(--snk-guides-viewer--space-medium));height:calc(100vh - var(--snk-guides-viewer__header--min-height) - var(--snk-guides-viewer--space-large) - var(--snk-guides-viewer--space-medium))}.snk-guides-viewer__guide-navigator[open].sc-snk-guides-viewer{width:var(--snk-guides-viewer__guide-navigator--width);max-width:var(--snk-guides-viewer__guide-navigator--width);min-width:var(--snk-guides-viewer__guide-navigator--width)}.snk-guides-viewer__detail-content.sc-snk-guides-viewer{min-height:100%;align-items:flex-start;align-content:flex-start}";
|
|
46
|
+
const snkGuidesViewerCss = ".sc-snk-guides-viewer-h{--snk-guides-viewer--space-large:var(--space--large, 24px);--snk-guides-viewer--space-medium:var(--space--medium, 12px);--snk-guides-viewer__header--min-height:94px;--snk-guides-viewer__header--z-index:var(--more-visible, 2);--snk-guides-viewer__header--background-color:var(--background--body, #fafcff);--snk-guides-viewer__guide-navigator--width:340px;display:block}snk-form-view.sc-snk-guides-viewer{width:100%}.snk-guides-viewer.sc-snk-guides-viewer{position:relative;padding-left:0px;padding-top:0px;padding-right:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__detail-container.sc-snk-guides-viewer{display:flex;row-gap:24px;flex-direction:column}.snk-guides-viewer__header.sc-snk-guides-viewer{position:sticky;align-items:center;top:0;z-index:var(--snk-guides-viewer__header--z-index);background-color:var(--snk-guides-viewer__header--background-color);min-height:var(--snk-guides-viewer__header--min-height);width:calc(100% + (var(--snk-guides-viewer--space-large) * 2));padding-left:var(--snk-guides-viewer--space-large);padding-right:var(--snk-guides-viewer--space-large);padding-top:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-medium);margin-left:calc(var(--snk-guides-viewer--space-large) * -1);margin-right:calc(var(--snk-guides-viewer--space-large) * -1);margin-bottom:var(--snk-guides-viewer--space-medium)}.snk-guides-viewer__header-breadcrumb.sc-snk-guides-viewer{width:25%;display:flex}.snk-guides-viewer__header-taskbar.sc-snk-guides-viewer{width:75%}.snk-guides-viewer__container.sc-snk-guides-viewer{display:grid;grid-template-columns:minmax(0, auto) minmax(0, 100%);height:100%;column-gap:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__guide-navigator.sc-snk-guides-viewer{position:sticky;top:calc(var(--snk-guides-viewer__header--min-height) + var(--snk-guides-viewer--space-medium));height:calc(100vh - var(--snk-guides-viewer__header--min-height) - var(--snk-guides-viewer--space-large) - var(--snk-guides-viewer--space-medium))}.snk-guides-viewer__guide-navigator[open].sc-snk-guides-viewer{width:var(--snk-guides-viewer__guide-navigator--width);max-width:var(--snk-guides-viewer__guide-navigator--width);min-width:var(--snk-guides-viewer__guide-navigator--width)}.snk-guides-viewer__detail-content.sc-snk-guides-viewer{min-height:100%;align-items:flex-start;align-content:flex-start}";
|
|
47
47
|
|
|
48
48
|
const FORM_NAME_PREFIX = "__FORM:";
|
|
49
49
|
const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
@@ -425,7 +425,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
425
425
|
}
|
|
426
426
|
buildTaskBar() {
|
|
427
427
|
var _a;
|
|
428
|
-
return h("div", { class: `
|
|
428
|
+
return h("div", { class: `snk-guides-viewer__header-taskbar ${this.presentationMode != PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.getActionsList(), messagesBuilder: this.messagesBuilder, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-taskbar-owner": "master", dataUnit: this.dataUnit, resourceID: this.resourceID, customSlotId: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS", alignRigth: true }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" })));
|
|
429
429
|
}
|
|
430
430
|
async dataUnitActionHandler(action) {
|
|
431
431
|
var _a;
|
|
@@ -484,7 +484,7 @@ const SnkGuidesViewer = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
484
484
|
}
|
|
485
485
|
this.loadTaskbarProcessor();
|
|
486
486
|
const showGuides = this._guides && (this._guides.length > 1);
|
|
487
|
-
return (h("section", { class: "snk-guides-viewer" }, h("div", { class: "ez-row snk-guides-viewer__header" }, h("div", { class: "
|
|
487
|
+
return (h("section", { class: "snk-guides-viewer" }, h("div", { class: "ez-row snk-guides-viewer__header" }, h("div", { class: "snk-guides-viewer__header-breadcrumb ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, h("ez-button", { onClick: () => this.exitViewer(), title: this.getMessage("snkCrud.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, h("h1", { class: "ez-title ez-title--primary ez-title--xlarge" }, this.getMessage("snkCrud.title")), ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
|
|
488
488
|
h("div", { class: "ez-margin-top--extra-small" }, h("ez-breadcrumb", Object.assign({ items: this._breadcrumbItems, onSelectedItem: (evt) => this.onBreadcrumbClickHandler(evt === null || evt === void 0 ? void 0 : evt.detail) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${ElementIDUtils.getInternalIDInfo("breadcrumb")}` }))))), this.presentationMode != PresentationMode.SECONDARY && this.buildTaskBar()), h("div", { class: "snk-guides-viewer__container" }, showGuides ?
|
|
489
489
|
h("ez-guide-navigator", { ref: (ref) => this._guideNavigator = ref, class: "snk-guides-viewer__guide-navigator", items: this._guides, selectedId: this.selectedGuide ? this.selectedGuide.id : undefined, onEzSelectionChange: evt => this.updateSelectedGuideHandler(evt.detail) })
|
|
490
490
|
:
|
|
@@ -62,16 +62,18 @@ const SnkEntityList$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
62
62
|
this.loadListSource();
|
|
63
63
|
}
|
|
64
64
|
optionLoader(searchArgument) {
|
|
65
|
-
var _a, _b, _c, _d;
|
|
65
|
+
var _a, _b, _c, _d, _e, _f;
|
|
66
66
|
const { mode, argument } = searchArgument;
|
|
67
67
|
if (this._application === undefined) {
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
70
|
const searchOptions = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.searchContext) === null || _c === void 0 ? void 0 : _c.searchOptions;
|
|
71
|
+
const criteria = (_e = (_d = this.config) === null || _d === void 0 ? void 0 : _d.props) === null || _e === void 0 ? void 0 : _e.criteria;
|
|
71
72
|
const options = {
|
|
72
|
-
entityDescription: (
|
|
73
|
+
entityDescription: (_f = this.config) === null || _f === void 0 ? void 0 : _f.label,
|
|
73
74
|
entity: this._entityName,
|
|
74
|
-
searchOptions: searchOptions
|
|
75
|
+
searchOptions: searchOptions,
|
|
76
|
+
criteria,
|
|
75
77
|
};
|
|
76
78
|
return this._application.executePreparedSearch(mode, argument, options);
|
|
77
79
|
}
|
|
@@ -209,11 +209,12 @@ function buildPersonalized(item) {
|
|
|
209
209
|
}
|
|
210
210
|
|
|
211
211
|
class SnkFilterModalFactory {
|
|
212
|
-
constructor({ filterConfig, configName, onComplete, getMessage, onAddPersonalizedFilter, onEditPersonalizedFilter, onDeletePersonalizedFilter }) {
|
|
212
|
+
constructor({ filterConfig, configName, onComplete, getMessage, disablePersonalizedFilter, onAddPersonalizedFilter, onEditPersonalizedFilter, onDeletePersonalizedFilter }) {
|
|
213
213
|
this._filterConfig = filterConfig;
|
|
214
214
|
this._configName = configName;
|
|
215
215
|
this._onComplete = onComplete;
|
|
216
216
|
this._getMessage = getMessage;
|
|
217
|
+
this._disablePersonalizedFilter = disablePersonalizedFilter;
|
|
217
218
|
this._addPersonalizedFilterFn = onAddPersonalizedFilter;
|
|
218
219
|
this._editPersonalizedFilterFn = onEditPersonalizedFilter;
|
|
219
220
|
this._onDeletePersonalizedFilter = onDeletePersonalizedFilter;
|
|
@@ -227,6 +228,7 @@ class SnkFilterModalFactory {
|
|
|
227
228
|
filterModal.className = "ez-size-height--full";
|
|
228
229
|
filterModal.filters = this._filterConfig;
|
|
229
230
|
filterModal.configName = this._configName;
|
|
231
|
+
filterModal.disablePersonalizedFilter = this._disablePersonalizedFilter;
|
|
230
232
|
filterModal.getMessage = this._getMessage.bind(this);
|
|
231
233
|
filterModal.applyFilters = this.applyFilters.bind(this);
|
|
232
234
|
filterModal.closeModal = () => this._closeModal();
|
|
@@ -261,6 +263,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
261
263
|
this._updateSequence = [];
|
|
262
264
|
this._loadingPending = false;
|
|
263
265
|
this._configUpdated = false;
|
|
266
|
+
this._firstLoad = true;
|
|
264
267
|
this._pendingVariables = false;
|
|
265
268
|
this._customfiltersToBeUpdated = [];
|
|
266
269
|
this._calculateSortIndex = (item) => {
|
|
@@ -281,6 +284,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
281
284
|
this.resourceID = undefined;
|
|
282
285
|
this.filterConfig = undefined;
|
|
283
286
|
this.messagesBuilder = undefined;
|
|
287
|
+
this.disablePersonalizedFilter = undefined;
|
|
284
288
|
this.allowDefault = undefined;
|
|
285
289
|
this.scrollerLocked = false;
|
|
286
290
|
this.showPersonalizedFilter = false;
|
|
@@ -413,13 +417,27 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
413
417
|
return;
|
|
414
418
|
}
|
|
415
419
|
this._loadingPending = false;
|
|
416
|
-
this.dataUnit.
|
|
420
|
+
this.doLoadData(this.dataUnit.getLastLoadRequest() != undefined);
|
|
417
421
|
}
|
|
418
422
|
if (this._configUpdated) {
|
|
419
423
|
this._configUpdated = false;
|
|
420
424
|
ConfigStorage.saveFilterBarConfig(this.filterConfig, this.configName, this.resourceID);
|
|
421
425
|
}
|
|
422
426
|
}
|
|
427
|
+
async doLoadData(forceReload = false) {
|
|
428
|
+
try {
|
|
429
|
+
if (this._firstLoad && !forceReload) {
|
|
430
|
+
let autoLoad = await this._application.getBooleanParam("global.carregar.registros.iniciar.tela");
|
|
431
|
+
if (!autoLoad) {
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
this.dataUnit.loadData(undefined, undefined, true);
|
|
436
|
+
}
|
|
437
|
+
finally {
|
|
438
|
+
this._firstLoad = false;
|
|
439
|
+
}
|
|
440
|
+
}
|
|
423
441
|
/**
|
|
424
442
|
* Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
|
|
425
443
|
* através de um pequeno modulo na estrutura da aplicação:
|
|
@@ -428,6 +446,9 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
428
446
|
*/
|
|
429
447
|
getMessage(key, params, defaultValue) {
|
|
430
448
|
var _a;
|
|
449
|
+
if (this.messagesBuilder == undefined && this._application) {
|
|
450
|
+
this.messagesBuilder = this._application.messagesBuilder;
|
|
451
|
+
}
|
|
431
452
|
return ((_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage(key, params)) || defaultValue;
|
|
432
453
|
}
|
|
433
454
|
getFilter(_dataUnit) {
|
|
@@ -454,7 +475,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
454
475
|
registryFilterProvider() {
|
|
455
476
|
this.dataUnit.addFilterProvider(this);
|
|
456
477
|
if (this.filterConfig) {
|
|
457
|
-
this.
|
|
478
|
+
this.doLoadData();
|
|
458
479
|
}
|
|
459
480
|
}
|
|
460
481
|
itemFocused(selectedItem) {
|
|
@@ -589,6 +610,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
589
610
|
filterConfig: filtersConfigCopy,
|
|
590
611
|
configName: this.configName,
|
|
591
612
|
onComplete: callbackOnApplyFilter,
|
|
613
|
+
disablePersonalizedFilter: this.disablePersonalizedFilter,
|
|
592
614
|
getMessage: (key, props) => this.getMessage(key, props),
|
|
593
615
|
onAddPersonalizedFilter: () => this.addPersonalizedFilter(),
|
|
594
616
|
onEditPersonalizedFilter: (id) => this.editPersonalizedFilter(id),
|
|
@@ -660,6 +682,7 @@ const SnkFilterBar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
660
682
|
"resourceID": [1, "resource-i-d"],
|
|
661
683
|
"filterConfig": [1040],
|
|
662
684
|
"messagesBuilder": [1040],
|
|
685
|
+
"disablePersonalizedFilter": [4, "disable-personalized-filter"],
|
|
663
686
|
"allowDefault": [32],
|
|
664
687
|
"scrollerLocked": [32],
|
|
665
688
|
"showPersonalizedFilter": [32],
|
|
@@ -22,6 +22,7 @@ const SnkFilterModal$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
22
22
|
this.editPersonalizedFilter = undefined;
|
|
23
23
|
this.deletePersonalizedFilter = undefined;
|
|
24
24
|
this.filtersToDelete = [];
|
|
25
|
+
this.disablePersonalizedFilter = undefined;
|
|
25
26
|
}
|
|
26
27
|
/**
|
|
27
28
|
* Emitido quando um filtro personalizado é deletado.
|
|
@@ -236,7 +237,7 @@ const SnkFilterModal$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
236
237
|
const customFilters = this.filters.filter(filter => filter.filterType === FilterType.CUSTOM_FILTER);
|
|
237
238
|
const quickFilters = this.filters.filter(filter => filter.filterType === FilterType.QUICK_FILTER);
|
|
238
239
|
const otherFilters = this.filters.filter(filter => filter.filterType === FilterType.OTHER_FILTERS);
|
|
239
|
-
return (h("ez-modal-container", { class: "snk-filter-modal__container", modalTitle: this._modalTitle, cancelButtonLabel: this._cancelButtonLabel, okButtonLabel: this._okButtonLabel, onEzModalAction: this.modalActionListener.bind(this) }, h("div", { class: "snk-filter-modal__content ez-col--sd-12" }, this.renderCollapsibleFilterBox(this.getCustomMessage('customFilters'), customFilters, false, false), this.renderCollapsibleFilterBox(this.getCustomMessage('quickFilters'), quickFilters, false), otherFilters.map(filter => this.renderCollapsibleFilterBox(filter.label, [filter], true)))));
|
|
240
|
+
return (h("ez-modal-container", { class: "snk-filter-modal__container", modalTitle: this._modalTitle, cancelButtonLabel: this._cancelButtonLabel, okButtonLabel: this._okButtonLabel, onEzModalAction: this.modalActionListener.bind(this) }, h("div", { class: "snk-filter-modal__content ez-col--sd-12" }, !this.disablePersonalizedFilter && this.renderCollapsibleFilterBox(this.getCustomMessage('customFilters'), customFilters, false, false), this.renderCollapsibleFilterBox(this.getCustomMessage('quickFilters'), quickFilters, false), otherFilters.map(filter => this.renderCollapsibleFilterBox(filter.label, [filter], true)))));
|
|
240
241
|
}
|
|
241
242
|
static get style() { return snkFilterModalCss; }
|
|
242
243
|
}, [0, "snk-filter-modal", {
|
|
@@ -248,7 +249,8 @@ const SnkFilterModal$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
|
|
|
248
249
|
"addPersonalizedFilter": [16],
|
|
249
250
|
"editPersonalizedFilter": [16],
|
|
250
251
|
"deletePersonalizedFilter": [16],
|
|
251
|
-
"filtersToDelete": [16]
|
|
252
|
+
"filtersToDelete": [16],
|
|
253
|
+
"disablePersonalizedFilter": [4, "disable-personalized-filter"]
|
|
252
254
|
}, [[0, "deleteFilter", "deletePersonalizedFilterListener"]]]);
|
|
253
255
|
function defineCustomElement$1() {
|
|
254
256
|
if (typeof customElements === "undefined") {
|
|
@@ -14,7 +14,8 @@ const SnkFilterMultiSelect$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
|
|
|
14
14
|
* Emitido quando acontece a alteração de valor do componente snk-filter-multi-select
|
|
15
15
|
*/
|
|
16
16
|
ezChangeListener(evt) {
|
|
17
|
-
|
|
17
|
+
var _a;
|
|
18
|
+
this.value = (_a = evt.detail) === null || _a === void 0 ? void 0 : _a.value;
|
|
18
19
|
this.valueChanged.emit(this.value);
|
|
19
20
|
}
|
|
20
21
|
/**
|
|
@@ -74,6 +74,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
74
74
|
this.taskbarCustomContainerId = undefined;
|
|
75
75
|
this.gridHeaderCustomSlotId = 'GRID_HEADER_CUSTOM_ELEMENTS';
|
|
76
76
|
this.topTaskbarCustomSlotId = 'GRID_TASKBAR_CUSTOM_ELEMENTS';
|
|
77
|
+
this.disablePersonalizedFilter = undefined;
|
|
77
78
|
}
|
|
78
79
|
/**
|
|
79
80
|
* Exibe a janela de configurações da grade.
|
|
@@ -421,7 +422,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
421
422
|
return undefined;
|
|
422
423
|
}
|
|
423
424
|
return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-margin-bottom--medium" }, this._showSnkFilterBar &&
|
|
424
|
-
h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail) }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit }, h("snk-taskbar", { dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, presentationMode: this.presentationMode, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), application: this._application, selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
|
|
425
|
+
h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId, overflowStrategy: 'none' }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit }, h("snk-taskbar", { id: 'teste', dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, presentationMode: this.presentationMode, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), application: this._application, selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
|
|
425
426
|
}
|
|
426
427
|
get _element() { return this; }
|
|
427
428
|
static get style() { return snkGridCss; }
|
|
@@ -443,6 +444,7 @@ const SnkGrid = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
443
444
|
"taskbarCustomContainerId": [1, "taskbar-custom-container-id"],
|
|
444
445
|
"gridHeaderCustomSlotId": [1, "grid-header-custom-slot-id"],
|
|
445
446
|
"topTaskbarCustomSlotId": [1, "top-taskbar-custom-slot-id"],
|
|
447
|
+
"disablePersonalizedFilter": [4, "disable-personalized-filter"],
|
|
446
448
|
"_dataUnit": [32],
|
|
447
449
|
"_dataState": [32],
|
|
448
450
|
"_gridConfig": [32],
|
|
@@ -51,6 +51,8 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
51
51
|
this.taskbarManager = undefined;
|
|
52
52
|
this.messagesBuilder = undefined;
|
|
53
53
|
this.useEnterLikeTab = false;
|
|
54
|
+
this.actionsList = undefined;
|
|
55
|
+
this.configName = undefined;
|
|
54
56
|
}
|
|
55
57
|
resolveInMemoryBtns(taskbarButtons) {
|
|
56
58
|
const newTaskBarConfig = [...taskbarButtons];
|
|
@@ -249,7 +251,7 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
249
251
|
}
|
|
250
252
|
getActionsList() {
|
|
251
253
|
var _a, _b;
|
|
252
|
-
|
|
254
|
+
const hardList = [{
|
|
253
255
|
value: StringUtils.generateUUID(),
|
|
254
256
|
label: (_b = (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage("snkSimpleCrud.findColumn", undefined)) !== null && _b !== void 0 ? _b : "Buscar",
|
|
255
257
|
disableCloseOnSelect: true,
|
|
@@ -258,6 +260,16 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
258
260
|
? this.getColumnSearch(actionButton, item)
|
|
259
261
|
: this.getFieldSearch(actionButton, item)
|
|
260
262
|
}];
|
|
263
|
+
if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
|
|
264
|
+
const taskbarID = this.getTopTaskBarId();
|
|
265
|
+
return hardList.concat(this.taskbarManager.getMoreOptions(taskbarID, this.configName, this.dataState, this.actionsList));
|
|
266
|
+
}
|
|
267
|
+
return hardList.concat(this.actionsList);
|
|
268
|
+
}
|
|
269
|
+
getTopTaskBarId() {
|
|
270
|
+
var _a;
|
|
271
|
+
return ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? `snkGridTopTaskbar.finish_edition${PresentationMode.PRIMARY}` :
|
|
272
|
+
`snkGridTopTaskbar.regular${PresentationMode.PRIMARY}`;
|
|
261
273
|
}
|
|
262
274
|
async keyDownListener(event) {
|
|
263
275
|
if (!event.ctrlKey || event.key == undefined || event.key.toUpperCase() !== "F") {
|
|
@@ -319,6 +331,8 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
319
331
|
"taskbarManager": [16],
|
|
320
332
|
"messagesBuilder": [1040],
|
|
321
333
|
"useEnterLikeTab": [4, "use-enter-like-tab"],
|
|
334
|
+
"actionsList": [16],
|
|
335
|
+
"configName": [1025, "config-name"],
|
|
322
336
|
"_currentViewMode": [32],
|
|
323
337
|
"_config": [32],
|
|
324
338
|
"_fieldToGetFocus": [32],
|