@sankhyalabs/sankhyablocks 6.10.0 → 7.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{ConfigStorage-da2bf3bf.js → ConfigStorage-97468a0f.js} +28 -22
- package/dist/cjs/{PersonalizedFilterUtils-cfcd9af2.js → PersonalizedFilterUtils-9848e09b.js} +18 -64
- package/dist/cjs/{SnkFormConfigManager-d7cc9118.js → SnkFormConfigManager-bef6e022.js} +1 -1
- package/dist/cjs/{SnkMessageBuilder-a5a9b437.js → SnkMessageBuilder-f40df6d4.js} +18 -2
- package/dist/cjs/{filter-bar-config-fetcher-58cfc12e.js → filter-bar-config-fetcher-a7747f69.js} +22 -5
- package/dist/cjs/index-8d94b7e0.js +7 -0
- package/dist/cjs/index-c5771aba.js +44 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-application.cjs.entry.js +3 -3
- package/dist/cjs/snk-data-exporter.cjs.entry.js +2 -2
- package/dist/cjs/{snk-data-unit-9d03800c.js → snk-data-unit-b14563fc.js} +4 -2
- package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
- package/dist/cjs/snk-detail-view.cjs.entry.js +5 -5
- package/dist/cjs/snk-expression-group_2.cjs.entry.js +542 -0
- package/dist/cjs/snk-filter-advanced-mode_2.cjs.entry.js +66 -0
- package/dist/cjs/snk-filter-bar.cjs.entry.js +14 -14
- package/dist/cjs/snk-filter-detail.cjs.entry.js +3 -3
- package/dist/cjs/{snk-expression-item_3.cjs.entry.js → snk-filter-field-search_2.cjs.entry.js} +23 -315
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +2 -2
- package/dist/cjs/snk-filter-modal.cjs.entry.js +2 -2
- package/dist/cjs/snk-form.cjs.entry.js +3 -3
- package/dist/cjs/snk-grid-config.cjs.entry.js +2 -2
- package/dist/cjs/snk-grid.cjs.entry.js +8 -2
- package/dist/cjs/{snk-guides-viewer-36766466.js → snk-guides-viewer-897368ea.js} +1 -1
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +4 -4
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +122 -31
- package/dist/cjs/snk-simple-crud.cjs.entry.js +12 -2
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +3 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +1 -1
- package/dist/collection/components/snk-grid/snk-grid.js +6 -0
- package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.css +5 -1
- package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +114 -23
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.js +4 -6
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item.js +2 -1
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-advanced-mode/snk-filter-advanced-mode.css +10 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-advanced-mode/snk-filter-advanced-mode.js +95 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode.css +66 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode.js +158 -0
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.js +8 -2
- package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.js +14 -23
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +14 -4
- package/dist/collection/lib/configs/ConfigStorage.js +5 -3
- package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +22 -5
- package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +22 -18
- package/dist/collection/lib/message/resources/snk-personalized-filter.msg.js +18 -2
- package/dist/components/ConfigStorage.js +27 -21
- package/dist/components/PersonalizedFilterUtils.js +14 -23
- package/dist/components/SnkMessageBuilder.js +18 -2
- package/dist/components/filter-bar-config-fetcher.js +22 -5
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +2 -0
- package/dist/components/snk-crud.js +34 -22
- package/dist/components/snk-data-unit2.js +3 -1
- package/dist/components/snk-detail-view2.js +49 -27
- package/dist/components/snk-expression-group2.js +4 -6
- package/dist/components/snk-expression-item2.js +2 -1
- package/dist/components/snk-filter-advanced-mode.d.ts +11 -0
- package/dist/components/snk-filter-advanced-mode.js +6 -0
- package/dist/components/snk-filter-advanced-mode2.js +46 -0
- package/dist/components/snk-filter-assistent-mode.d.ts +11 -0
- package/dist/components/snk-filter-assistent-mode.js +6 -0
- package/dist/components/snk-filter-assistent-mode2.js +77 -0
- package/dist/components/snk-filter-bar2.js +17 -5
- package/dist/components/snk-filter-param-config2.js +6 -0
- package/dist/components/snk-grid2.js +28 -10
- package/dist/components/snk-personalized-filter2.js +131 -28
- package/dist/components/snk-simple-crud2.js +12 -2
- package/dist/esm/{ConfigStorage-f1e805a0.js → ConfigStorage-02f17a26.js} +28 -22
- package/dist/esm/{PersonalizedFilterUtils-1a167d89.js → PersonalizedFilterUtils-731cae01.js} +16 -62
- package/dist/esm/{SnkFormConfigManager-324f6dc7.js → SnkFormConfigManager-cd9e6cab.js} +1 -1
- package/dist/esm/{SnkMessageBuilder-76f62087.js → SnkMessageBuilder-5be56185.js} +18 -2
- package/dist/esm/{filter-bar-config-fetcher-a358b8e0.js → filter-bar-config-fetcher-790283d8.js} +22 -5
- package/dist/esm/index-620ac460.js +7 -0
- package/dist/esm/index-ae591a44.js +44 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-application.entry.js +3 -3
- package/dist/esm/snk-data-exporter.entry.js +2 -2
- package/dist/esm/{snk-data-unit-0ff2d644.js → snk-data-unit-d44b6bc0.js} +4 -2
- package/dist/esm/snk-data-unit.entry.js +2 -2
- package/dist/esm/snk-detail-view.entry.js +5 -5
- package/dist/esm/snk-expression-group_2.entry.js +537 -0
- package/dist/esm/snk-filter-advanced-mode_2.entry.js +61 -0
- package/dist/esm/snk-filter-bar.entry.js +5 -5
- package/dist/esm/snk-filter-detail.entry.js +3 -3
- package/dist/esm/{snk-expression-item_3.entry.js → snk-filter-field-search_2.entry.js} +12 -303
- package/dist/esm/snk-filter-modal-item.entry.js +2 -2
- package/dist/esm/snk-filter-modal.entry.js +2 -2
- package/dist/esm/snk-form.entry.js +3 -3
- package/dist/esm/snk-grid-config.entry.js +2 -2
- package/dist/esm/snk-grid.entry.js +8 -2
- package/dist/esm/{snk-guides-viewer-e7209909.js → snk-guides-viewer-579c70cc.js} +1 -1
- package/dist/esm/snk-guides-viewer.entry.js +4 -4
- package/dist/esm/snk-personalized-filter.entry.js +119 -28
- package/dist/esm/snk-simple-crud.entry.js +12 -2
- package/dist/sankhyablocks/{p-522172e1.entry.js → p-1005cf8e.entry.js} +1 -1
- package/dist/sankhyablocks/{p-8f6575c8.entry.js → p-19fdcf88.entry.js} +1 -1
- package/dist/sankhyablocks/{p-18b74675.entry.js → p-1fe2976e.entry.js} +1 -1
- package/dist/sankhyablocks/p-2227bb94.js +1 -0
- package/dist/sankhyablocks/p-386102a7.entry.js +1 -0
- package/dist/sankhyablocks/{p-7a075ae6.js → p-3b059f4e.js} +1 -1
- package/dist/sankhyablocks/p-48156672.entry.js +1 -0
- package/dist/sankhyablocks/p-4af6cbef.entry.js +1 -0
- package/dist/sankhyablocks/p-4bbc7aac.entry.js +1 -0
- package/dist/sankhyablocks/{p-3251999f.entry.js → p-4f687570.entry.js} +1 -1
- package/dist/sankhyablocks/p-5098f618.js +1 -0
- package/dist/sankhyablocks/{p-652b9081.js → p-7e486ac9.js} +1 -1
- package/dist/sankhyablocks/p-7e636457.entry.js +1 -0
- package/dist/sankhyablocks/p-7f1c4687.js +56 -0
- package/dist/sankhyablocks/{p-ed9e1e52.entry.js → p-88f4ef73.entry.js} +1 -1
- package/dist/sankhyablocks/{p-4f3df9b6.js → p-90a926c7.js} +1 -1
- package/dist/sankhyablocks/{p-eef26a01.entry.js → p-90e7c3a2.entry.js} +1 -1
- package/dist/sankhyablocks/p-933c0c0b.js +1 -0
- package/dist/sankhyablocks/p-97720467.entry.js +1 -0
- package/dist/sankhyablocks/{p-bd840081.entry.js → p-9fa9331b.entry.js} +1 -1
- package/dist/sankhyablocks/{p-40a5d35e.entry.js → p-ad6673fb.entry.js} +1 -1
- package/dist/sankhyablocks/p-bd86c9d3.entry.js +1 -0
- package/dist/sankhyablocks/{p-8d583a79.entry.js → p-c39b27a3.entry.js} +1 -1
- package/dist/sankhyablocks/p-f4184ce7.js +1 -0
- package/dist/sankhyablocks/{p-56378a3b.js → p-fb1e5b6d.js} +1 -1
- package/dist/sankhyablocks/p-fcc487ea.entry.js +1 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +1 -0
- package/dist/types/components/snk-personalized-filter/interfaces/IPersonalizedFilter.d.ts +4 -0
- package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +17 -6
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group.d.ts +2 -2
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-advanced-mode/snk-filter-advanced-mode.d.ts +20 -0
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode.d.ts +31 -0
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.d.ts +6 -0
- package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.d.ts +2 -2
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +2 -1
- package/dist/types/components.d.ts +103 -2
- package/dist/types/lib/configs/ConfigStorage.d.ts +3 -2
- package/dist/types/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.d.ts +2 -1
- package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +2 -1
- package/package.json +1 -1
- package/react/components.d.ts +2 -0
- package/react/components.js +2 -0
- package/react/components.js.map +1 -1
- package/dist/cjs/IExpressionItem-0e32ebb7.js +0 -7
- package/dist/cjs/snk-expression-group.cjs.entry.js +0 -250
- package/dist/esm/IExpressionItem-21f225bf.js +0 -7
- package/dist/esm/snk-expression-group.entry.js +0 -246
- package/dist/sankhyablocks/p-432a73a8.js +0 -1
- package/dist/sankhyablocks/p-63bff2a8.js +0 -1
- package/dist/sankhyablocks/p-6490021d.entry.js +0 -1
- package/dist/sankhyablocks/p-7d68a43a.js +0 -1
- package/dist/sankhyablocks/p-7fd8a0ab.entry.js +0 -1
- package/dist/sankhyablocks/p-9f34a127.entry.js +0 -1
- package/dist/sankhyablocks/p-a357d13c.entry.js +0 -1
- package/dist/sankhyablocks/p-d4adf773.js +0 -68
- package/dist/sankhyablocks/p-d9586ead.entry.js +0 -1
- package/dist/sankhyablocks/p-eb30a52a.entry.js +0 -1
- package/dist/sankhyablocks/p-f8ce17d3.entry.js +0 -1
@@ -49,24 +49,6 @@ export default class PersonalizedFilterFetcher {
|
|
49
49
|
active
|
50
50
|
expression
|
51
51
|
warningMessage
|
52
|
-
parameters {
|
53
|
-
entityName
|
54
|
-
fieldName
|
55
|
-
dataType
|
56
|
-
description
|
57
|
-
userInterface
|
58
|
-
label
|
59
|
-
searchContext {
|
60
|
-
entity
|
61
|
-
entityDescription
|
62
|
-
searchOptions {
|
63
|
-
rootEntity
|
64
|
-
descriptionFieldName
|
65
|
-
codeFieldName
|
66
|
-
showInactives
|
67
|
-
}
|
68
|
-
}
|
69
|
-
}
|
70
52
|
assistent
|
71
53
|
}
|
72
54
|
}`);
|
@@ -84,6 +66,13 @@ export default class PersonalizedFilterFetcher {
|
|
84
66
|
name
|
85
67
|
}
|
86
68
|
}`);
|
69
|
+
this.templateByQuery.set("validateExpression", gql `
|
70
|
+
query($dataUnitName: String!, $expression: String!) {
|
71
|
+
$queryAlias$: validateExpression(dataUnitName: $dataUnitName, expression: $expression) {
|
72
|
+
valid
|
73
|
+
message
|
74
|
+
}
|
75
|
+
}`);
|
87
76
|
}
|
88
77
|
async loadPersonalizedFilter(resourceID, filterID, configName) {
|
89
78
|
return new Promise((resolve, reject) => {
|
@@ -133,6 +122,21 @@ export default class PersonalizedFilterFetcher {
|
|
133
122
|
});
|
134
123
|
});
|
135
124
|
}
|
125
|
+
async validatePersonalizedFilter(dataUnitName, expression) {
|
126
|
+
return new Promise((resolve, reject) => {
|
127
|
+
DataFetcher.get()
|
128
|
+
.callGraphQL({
|
129
|
+
values: { dataUnitName: dataUnitName, expression: expression },
|
130
|
+
query: this.templateByQuery.get("validateExpression"),
|
131
|
+
})
|
132
|
+
.then((resp) => {
|
133
|
+
resolve(resp);
|
134
|
+
})
|
135
|
+
.catch((error) => {
|
136
|
+
reject(error);
|
137
|
+
});
|
138
|
+
});
|
139
|
+
}
|
136
140
|
loadFields(uri) {
|
137
141
|
return new Promise((resolve, reject) => {
|
138
142
|
DataFetcher.get()
|
@@ -15,12 +15,16 @@ export const snkPersonalizedFilterMessages = {
|
|
15
15
|
labelCancel: "Cancelar",
|
16
16
|
labelSave: "Salvar",
|
17
17
|
labelNameFilter: "Nome do filtro",
|
18
|
-
labelExpression: "Expressão
|
18
|
+
labelExpression: "Expressão",
|
19
19
|
badgeVariable: "variável",
|
20
20
|
noDataFound: "Nenhum filtro encontrado",
|
21
21
|
condition: "Condição",
|
22
22
|
addGroup: "Adicionar grupo",
|
23
|
-
|
23
|
+
addField: "Adicionar campo",
|
24
|
+
applyExpression: "Expressão a ser aplicada:",
|
25
|
+
tooltipDisabledAssistentMode: "Expressão não suportada pelo assistente.",
|
26
|
+
activeModeAdvanced: "Ativar modo avançado",
|
27
|
+
activeModeAssistent: "Ativar modo assistente"
|
24
28
|
},
|
25
29
|
confirmExpression: {
|
26
30
|
title: "Aviso",
|
@@ -34,6 +38,18 @@ export const snkPersonalizedFilterMessages = {
|
|
34
38
|
title: "Aviso",
|
35
39
|
description: `As alterações realizadas serão descartadas.</br></br><b>Gostaria de continuar?</b>`
|
36
40
|
},
|
41
|
+
confirmChangeModeAssistent: {
|
42
|
+
title: "Aviso",
|
43
|
+
description: `Ao modificar a expressão, o modo assistente será desabilitado.</br></br><b>Gostaria de continuar?</b>`
|
44
|
+
},
|
45
|
+
confirmChangeModeAdvanced: {
|
46
|
+
title: "Aviso",
|
47
|
+
description: `Ao retornar ao modo assistente suas alterações serão perdidas.</br></br><b>Gostaria de continuar?</b>`
|
48
|
+
},
|
49
|
+
confirmSaveModeAdvanced: {
|
50
|
+
title: "Aviso",
|
51
|
+
description: `Ao modificar a expressão, o modo assistente será desabilitado.</br></br><b>Gostaria de continuar?</b>`
|
52
|
+
},
|
37
53
|
operador: {
|
38
54
|
firstLevel: "A seleção será habilitada a partir da adição da segunda linha de regras.",
|
39
55
|
and: "Será verdadeiro se todas as condições forem obedecidas.",
|
@@ -93,24 +93,6 @@ class PersonalizedFilterFetcher {
|
|
93
93
|
active
|
94
94
|
expression
|
95
95
|
warningMessage
|
96
|
-
parameters {
|
97
|
-
entityName
|
98
|
-
fieldName
|
99
|
-
dataType
|
100
|
-
description
|
101
|
-
userInterface
|
102
|
-
label
|
103
|
-
searchContext {
|
104
|
-
entity
|
105
|
-
entityDescription
|
106
|
-
searchOptions {
|
107
|
-
rootEntity
|
108
|
-
descriptionFieldName
|
109
|
-
codeFieldName
|
110
|
-
showInactives
|
111
|
-
}
|
112
|
-
}
|
113
|
-
}
|
114
96
|
assistent
|
115
97
|
}
|
116
98
|
}`);
|
@@ -128,6 +110,13 @@ class PersonalizedFilterFetcher {
|
|
128
110
|
name
|
129
111
|
}
|
130
112
|
}`);
|
113
|
+
this.templateByQuery.set("validateExpression", dist.gql `
|
114
|
+
query($dataUnitName: String!, $expression: String!) {
|
115
|
+
$queryAlias$: validateExpression(dataUnitName: $dataUnitName, expression: $expression) {
|
116
|
+
valid
|
117
|
+
message
|
118
|
+
}
|
119
|
+
}`);
|
131
120
|
}
|
132
121
|
async loadPersonalizedFilter(resourceID, filterID, configName) {
|
133
122
|
return new Promise((resolve, reject) => {
|
@@ -177,6 +166,21 @@ class PersonalizedFilterFetcher {
|
|
177
166
|
});
|
178
167
|
});
|
179
168
|
}
|
169
|
+
async validatePersonalizedFilter(dataUnitName, expression) {
|
170
|
+
return new Promise((resolve, reject) => {
|
171
|
+
DataFetcher.get()
|
172
|
+
.callGraphQL({
|
173
|
+
values: { dataUnitName: dataUnitName, expression: expression },
|
174
|
+
query: this.templateByQuery.get("validateExpression"),
|
175
|
+
})
|
176
|
+
.then((resp) => {
|
177
|
+
resolve(resp);
|
178
|
+
})
|
179
|
+
.catch((error) => {
|
180
|
+
reject(error);
|
181
|
+
});
|
182
|
+
});
|
183
|
+
}
|
180
184
|
loadFields(uri) {
|
181
185
|
return new Promise((resolve, reject) => {
|
182
186
|
DataFetcher.get()
|
@@ -222,17 +226,16 @@ class ConfigStorage {
|
|
222
226
|
const resourceID = await application.getResourceID();
|
223
227
|
ConfigStorage.instance = new ConfigStorage();
|
224
228
|
ConfigStorage.resourceID = resourceID;
|
225
|
-
ConfigStorage.instance.loadFilterBarConfig(configName);
|
226
229
|
ConfigStorage.instance.loadFormConfig(configName);
|
227
230
|
ConfigStorage.instance.loadGridConfig(configName);
|
228
231
|
}
|
229
232
|
}
|
230
233
|
return this.instance;
|
231
234
|
}
|
232
|
-
async loadFilterBarConfig(name) {
|
235
|
+
async loadFilterBarConfig(name, urlParams) {
|
233
236
|
const cacheID = ConfigStorage.buildCacheID(name, CONFIG_SOURCE.filterBar);
|
234
237
|
if (!ConfigStorage.configById.has(cacheID)) {
|
235
|
-
ConfigStorage.configById.set(cacheID, ConfigStorage.filterBarConfigFetcher.getConfig(ConfigStorage.resourceID, name));
|
238
|
+
ConfigStorage.configById.set(cacheID, ConfigStorage.filterBarConfigFetcher.getConfig(ConfigStorage.resourceID, name, urlParams));
|
236
239
|
}
|
237
240
|
return ConfigStorage.configById.get(cacheID);
|
238
241
|
}
|
@@ -284,6 +287,9 @@ class ConfigStorage {
|
|
284
287
|
static async removePersonalizedFilter(personalizedFilter, configName) {
|
285
288
|
return this.personalizedFilterFetcher.removePersonalizedFilter(personalizedFilter, this.resourceID, configName);
|
286
289
|
}
|
290
|
+
static async validatePersonalizedFilter(dataUnitName, expression) {
|
291
|
+
return this.personalizedFilterFetcher.validatePersonalizedFilter(dataUnitName, expression);
|
292
|
+
}
|
287
293
|
static buildCacheID(name, source) {
|
288
294
|
if (name == undefined) {
|
289
295
|
return `req_${source}_${this.resourceID}`;
|
@@ -50,14 +50,12 @@ class PersonalizedFilterUtils {
|
|
50
50
|
* @param expressionItem - Objeto com os parâmetros necessários para montar a expressão.
|
51
51
|
* @returns Retorna a expressão de filtro.
|
52
52
|
*/
|
53
|
-
static buildFilterExpression(expressionItem
|
53
|
+
static buildFilterExpression(expressionItem) {
|
54
|
+
var _a;
|
54
55
|
if (expressionItem == undefined) {
|
55
56
|
return;
|
56
57
|
}
|
57
|
-
|
58
|
-
return "";
|
59
|
-
}
|
60
|
-
let value = this.buildVariableParameterValue(expressionItem);
|
58
|
+
let value = (_a = this.buildVariableParameterValue(expressionItem)) !== null && _a !== void 0 ? _a : undefined;
|
61
59
|
let expression = expressionItem.expression || "";
|
62
60
|
let commas = "'";
|
63
61
|
if (expressionItem.paramVariable) {
|
@@ -81,8 +79,13 @@ class PersonalizedFilterUtils {
|
|
81
79
|
expression += ` LIKE '%${value}'`;
|
82
80
|
break;
|
83
81
|
default:
|
84
|
-
|
85
|
-
|
82
|
+
if (expressionItem.operand) {
|
83
|
+
expression += ` ${FilterOperand[expressionItem.operand]}`;
|
84
|
+
}
|
85
|
+
if (value) {
|
86
|
+
value = isNaN(value) ? `${commas}${value}${commas}` : value;
|
87
|
+
expression += ` ${value}`;
|
88
|
+
}
|
86
89
|
}
|
87
90
|
return expression;
|
88
91
|
}
|
@@ -106,7 +109,7 @@ class PersonalizedFilterUtils {
|
|
106
109
|
pois para filtros herdados do HTML5 não temos o tipo OBJECT, fazendo com que a expressão
|
107
110
|
fique inválida para campos do tipo pesquisa.
|
108
111
|
*/
|
109
|
-
if (UserInterface.SEARCH === expressionItem.userInterface || DataType.OBJECT == type) {
|
112
|
+
if (UserInterface.SEARCH === expressionItem.userInterface || expressionItem.userInterface === UserInterface.OPTIONSELECTOR || DataType.OBJECT == type) {
|
110
113
|
value = (_a = value === null || value === void 0 ? void 0 : value.value) !== null && _a !== void 0 ? _a : value;
|
111
114
|
}
|
112
115
|
if (DataType.NUMBER == type && value != undefined) {
|
@@ -148,11 +151,11 @@ class PersonalizedFilterUtils {
|
|
148
151
|
/*
|
149
152
|
* Cria uma expressão de filtro para um grupo de itens.
|
150
153
|
*/
|
151
|
-
static buildGroupExpression(expressionGroup
|
154
|
+
static buildGroupExpression(expressionGroup) {
|
152
155
|
var _a, _b;
|
153
156
|
if (!((_a = expressionGroup === null || expressionGroup === void 0 ? void 0 : expressionGroup.items) === null || _a === void 0 ? void 0 : _a.length))
|
154
157
|
return "";
|
155
|
-
const itemExpressions = expressionGroup.items.map((item) => this.buildFilterExpression(item
|
158
|
+
const itemExpressions = expressionGroup.items.map((item) => this.buildFilterExpression(item)).join(` ${expressionGroup.operand} `);
|
156
159
|
if (((_b = expressionGroup === null || expressionGroup === void 0 ? void 0 : expressionGroup.childrenGroups) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
157
160
|
const childGroupExpressions = expressionGroup.childrenGroups.map((children) => this.buildGroupExpression(children)).join(` ${expressionGroup.operand} `);
|
158
161
|
return `(${itemExpressions} ${expressionGroup.operand} (${childGroupExpressions}))`;
|
@@ -239,7 +242,6 @@ class PersonalizedFilterUtils {
|
|
239
242
|
* do tipo variavel;
|
240
243
|
*/
|
241
244
|
static buildVariableParameters(expressionGroup) {
|
242
|
-
var _a, _b, _c, _d;
|
243
245
|
const allItems = this.buildPlainExpressionItems(expressionGroup);
|
244
246
|
const allParams = [];
|
245
247
|
for (const item of allItems) {
|
@@ -248,18 +250,7 @@ class PersonalizedFilterUtils {
|
|
248
250
|
}
|
249
251
|
allParams.push({
|
250
252
|
entityName: item.entityName,
|
251
|
-
fieldName: item.fieldName
|
252
|
-
dataType: item.type,
|
253
|
-
description: item.description,
|
254
|
-
userInterface: item.userInterface,
|
255
|
-
label: item.fieldLabel,
|
256
|
-
searchContext: {
|
257
|
-
entity: (_b = (_a = item.props) === null || _a === void 0 ? void 0 : _a.find(prop => prop.name == "ENTITYNAME")) === null || _b === void 0 ? void 0 : _b.value,
|
258
|
-
entityDescription: (_d = (_c = item.props) === null || _c === void 0 ? void 0 : _c.find(prop => prop.name == "DESCRIPTIONENTITY")) === null || _d === void 0 ? void 0 : _d.value,
|
259
|
-
searchOptions: {
|
260
|
-
showInactives: false
|
261
|
-
}
|
262
|
-
}
|
253
|
+
fieldName: item.fieldName
|
263
254
|
});
|
264
255
|
}
|
265
256
|
return allParams;
|
@@ -359,12 +359,16 @@ const snkPersonalizedFilterMessages = {
|
|
359
359
|
labelCancel: "Cancelar",
|
360
360
|
labelSave: "Salvar",
|
361
361
|
labelNameFilter: "Nome do filtro",
|
362
|
-
labelExpression: "Expressão
|
362
|
+
labelExpression: "Expressão",
|
363
363
|
badgeVariable: "variável",
|
364
364
|
noDataFound: "Nenhum filtro encontrado",
|
365
365
|
condition: "Condição",
|
366
366
|
addGroup: "Adicionar grupo",
|
367
|
-
|
367
|
+
addField: "Adicionar campo",
|
368
|
+
applyExpression: "Expressão a ser aplicada:",
|
369
|
+
tooltipDisabledAssistentMode: "Expressão não suportada pelo assistente.",
|
370
|
+
activeModeAdvanced: "Ativar modo avançado",
|
371
|
+
activeModeAssistent: "Ativar modo assistente"
|
368
372
|
},
|
369
373
|
confirmExpression: {
|
370
374
|
title: "Aviso",
|
@@ -378,6 +382,18 @@ const snkPersonalizedFilterMessages = {
|
|
378
382
|
title: "Aviso",
|
379
383
|
description: `As alterações realizadas serão descartadas.</br></br><b>Gostaria de continuar?</b>`
|
380
384
|
},
|
385
|
+
confirmChangeModeAssistent: {
|
386
|
+
title: "Aviso",
|
387
|
+
description: `Ao modificar a expressão, o modo assistente será desabilitado.</br></br><b>Gostaria de continuar?</b>`
|
388
|
+
},
|
389
|
+
confirmChangeModeAdvanced: {
|
390
|
+
title: "Aviso",
|
391
|
+
description: `Ao retornar ao modo assistente suas alterações serão perdidas.</br></br><b>Gostaria de continuar?</b>`
|
392
|
+
},
|
393
|
+
confirmSaveModeAdvanced: {
|
394
|
+
title: "Aviso",
|
395
|
+
description: `Ao modificar a expressão, o modo assistente será desabilitado.</br></br><b>Gostaria de continuar?</b>`
|
396
|
+
},
|
381
397
|
operador: {
|
382
398
|
firstLevel: "A seleção será habilitada a partir da adição da segunda linha de regras.",
|
383
399
|
and: "Será verdadeiro se todas as condições forem obedecidas.",
|
@@ -75,9 +75,9 @@ class FilterBarConfigFetcher extends ResourceFetcher {
|
|
75
75
|
saveConfig(items, resourceID, configName) {
|
76
76
|
return this.saveResource(this.normalize(items), this.getPath(resourceID, configName));
|
77
77
|
}
|
78
|
-
getConfig(resourceID, configName) {
|
78
|
+
getConfig(resourceID, configName, urlParams) {
|
79
79
|
return new Promise((accept, reject) => {
|
80
|
-
this.loadResource(this.getPath(resourceID, configName))
|
80
|
+
this.loadResource(this.getPath(resourceID, configName, urlParams))
|
81
81
|
.then((configAsString) => {
|
82
82
|
let fieldsList;
|
83
83
|
if (configAsString) {
|
@@ -125,11 +125,28 @@ class FilterBarConfigFetcher extends ResourceFetcher {
|
|
125
125
|
return item;
|
126
126
|
});
|
127
127
|
}
|
128
|
-
getPath(resourceID, name) {
|
128
|
+
getPath(resourceID, name, urlParams) {
|
129
|
+
let path = `cfg://filter/FilterBarState:${resourceID}`;
|
129
130
|
if (name) {
|
130
|
-
|
131
|
+
path += `.${name}`;
|
131
132
|
}
|
132
|
-
|
133
|
+
if (urlParams) {
|
134
|
+
path += this.buildQueryString(urlParams);
|
135
|
+
}
|
136
|
+
return path;
|
137
|
+
}
|
138
|
+
buildQueryString(urlParams) {
|
139
|
+
let queryString = '?';
|
140
|
+
for (let key in urlParams) {
|
141
|
+
if (!urlParams.hasOwnProperty(key)) {
|
142
|
+
continue;
|
143
|
+
}
|
144
|
+
if (queryString.length > 1) {
|
145
|
+
queryString += '&';
|
146
|
+
}
|
147
|
+
queryString += key + '=' + urlParams[key];
|
148
|
+
}
|
149
|
+
return queryString;
|
133
150
|
}
|
134
151
|
}
|
135
152
|
|
@@ -15,6 +15,8 @@ export { SnkExporterEmailSender as SnkExporterEmailSender } from '../types/compo
|
|
15
15
|
export { SnkExpressionGroup as SnkExpressionGroup } from '../types/components/snk-personalized-filter/subcomponents/snk-expression-group/snk-expression-group';
|
16
16
|
export { SnkExpressionItem as SnkExpressionItem } from '../types/components/snk-personalized-filter/subcomponents/snk-expression-item/snk-expression-item';
|
17
17
|
export { SnkFieldConfig as SnkFieldConfig } from '../types/components/snk-form/subcomponents/snk-field-config/snk-field-config';
|
18
|
+
export { SnkFilterAdvancedMode as SnkFilterAdvancedMode } from '../types/components/snk-personalized-filter/subcomponents/snk-filter-advanced-mode/snk-filter-advanced-mode';
|
19
|
+
export { SnkFilterAssistentMode as SnkFilterAssistentMode } from '../types/components/snk-personalized-filter/subcomponents/snk-filter-assistent-mode/snk-filter-assistent-mode';
|
18
20
|
export { SnkFilterBar as SnkFilterBar } from '../types/components/snk-filter-bar/snk-filter-bar';
|
19
21
|
export { SnkFilterBinarySelect as SnkFilterBinarySelect } from '../types/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select';
|
20
22
|
export { SnkFilterDetail as SnkFilterDetail } from '../types/components/snk-filter-bar/filter-item/snk-filter-detail';
|
package/dist/components/index.js
CHANGED
@@ -15,6 +15,8 @@ export { SnkExporterEmailSender, defineCustomElement as defineCustomElementSnkEx
|
|
15
15
|
export { SnkExpressionGroup, defineCustomElement as defineCustomElementSnkExpressionGroup } from './snk-expression-group.js';
|
16
16
|
export { SnkExpressionItem, defineCustomElement as defineCustomElementSnkExpressionItem } from './snk-expression-item.js';
|
17
17
|
export { SnkFieldConfig, defineCustomElement as defineCustomElementSnkFieldConfig } from './snk-field-config.js';
|
18
|
+
export { SnkFilterAdvancedMode, defineCustomElement as defineCustomElementSnkFilterAdvancedMode } from './snk-filter-advanced-mode.js';
|
19
|
+
export { SnkFilterAssistentMode, defineCustomElement as defineCustomElementSnkFilterAssistentMode } from './snk-filter-assistent-mode.js';
|
18
20
|
export { SnkFilterBar, defineCustomElement as defineCustomElementSnkFilterBar } from './snk-filter-bar.js';
|
19
21
|
export { SnkFilterBinarySelect, defineCustomElement as defineCustomElementSnkFilterBinarySelect } from './snk-filter-binary-select.js';
|
20
22
|
export { SnkFilterDetail, defineCustomElement as defineCustomElementSnkFilterDetail } from './snk-filter-detail.js';
|
@@ -5,17 +5,19 @@ import './DataFetcher.js';
|
|
5
5
|
import './pesquisa-fetcher.js';
|
6
6
|
import { P as PresentationMode } from './index2.js';
|
7
7
|
import { V as VIEW_MODE } from './constants.js';
|
8
|
-
import { d as defineCustomElement$
|
9
|
-
import { d as defineCustomElement$
|
10
|
-
import { d as defineCustomElement$
|
11
|
-
import { d as defineCustomElement$
|
12
|
-
import { d as defineCustomElement$
|
13
|
-
import { d as defineCustomElement$
|
14
|
-
import { d as defineCustomElement$8, a as defineCustomElement$
|
15
|
-
import { d as defineCustomElement$
|
16
|
-
import { d as defineCustomElement$
|
17
|
-
import { d as defineCustomElement$
|
18
|
-
import { d as defineCustomElement$
|
8
|
+
import { d as defineCustomElement$v } from './snk-actions-button2.js';
|
9
|
+
import { d as defineCustomElement$u } from './snk-attach2.js';
|
10
|
+
import { d as defineCustomElement$t } from './snk-config-options2.js';
|
11
|
+
import { d as defineCustomElement$s } from './snk-configurator2.js';
|
12
|
+
import { d as defineCustomElement$r } from './snk-data-exporter2.js';
|
13
|
+
import { d as defineCustomElement$q } from './snk-data-unit2.js';
|
14
|
+
import { d as defineCustomElement$8, a as defineCustomElement$p } from './snk-detail-view2.js';
|
15
|
+
import { d as defineCustomElement$o } from './snk-exporter-email-sender2.js';
|
16
|
+
import { d as defineCustomElement$n } from './snk-expression-group2.js';
|
17
|
+
import { d as defineCustomElement$m } from './snk-expression-item2.js';
|
18
|
+
import { d as defineCustomElement$l } from './snk-field-config2.js';
|
19
|
+
import { d as defineCustomElement$k } from './snk-filter-advanced-mode2.js';
|
20
|
+
import { d as defineCustomElement$j } from './snk-filter-assistent-mode2.js';
|
19
21
|
import { d as defineCustomElement$i } from './snk-filter-bar2.js';
|
20
22
|
import { d as defineCustomElement$h } from './snk-filter-detail2.js';
|
21
23
|
import { d as defineCustomElement$g } from './snk-filter-field-search2.js';
|
@@ -216,7 +218,7 @@ function defineCustomElement$1() {
|
|
216
218
|
if (typeof customElements === "undefined") {
|
217
219
|
return;
|
218
220
|
}
|
219
|
-
const components = ["snk-crud", "snk-actions-button", "snk-attach", "snk-config-options", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-detail-view", "snk-exporter-email-sender", "snk-expression-group", "snk-expression-item", "snk-field-config", "snk-filter-bar", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-param-config", "snk-form-config", "snk-form-summary", "snk-form-view", "snk-grid", "snk-grid-config", "snk-guides-viewer", "snk-personalized-filter", "snk-select-box", "snk-simple-bar", "snk-simple-crud", "snk-tab-config", "snk-taskbar"];
|
221
|
+
const components = ["snk-crud", "snk-actions-button", "snk-attach", "snk-config-options", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-detail-view", "snk-exporter-email-sender", "snk-expression-group", "snk-expression-item", "snk-field-config", "snk-filter-advanced-mode", "snk-filter-assistent-mode", "snk-filter-bar", "snk-filter-detail", "snk-filter-field-search", "snk-filter-item", "snk-filter-param-config", "snk-form-config", "snk-form-summary", "snk-form-view", "snk-grid", "snk-grid-config", "snk-guides-viewer", "snk-personalized-filter", "snk-select-box", "snk-simple-bar", "snk-simple-crud", "snk-tab-config", "snk-taskbar"];
|
220
222
|
components.forEach(tagName => { switch (tagName) {
|
221
223
|
case "snk-crud":
|
222
224
|
if (!customElements.get(tagName)) {
|
@@ -225,55 +227,65 @@ function defineCustomElement$1() {
|
|
225
227
|
break;
|
226
228
|
case "snk-actions-button":
|
227
229
|
if (!customElements.get(tagName)) {
|
228
|
-
defineCustomElement$
|
230
|
+
defineCustomElement$v();
|
229
231
|
}
|
230
232
|
break;
|
231
233
|
case "snk-attach":
|
232
234
|
if (!customElements.get(tagName)) {
|
233
|
-
defineCustomElement$
|
235
|
+
defineCustomElement$u();
|
234
236
|
}
|
235
237
|
break;
|
236
238
|
case "snk-config-options":
|
237
239
|
if (!customElements.get(tagName)) {
|
238
|
-
defineCustomElement$
|
240
|
+
defineCustomElement$t();
|
239
241
|
}
|
240
242
|
break;
|
241
243
|
case "snk-configurator":
|
242
244
|
if (!customElements.get(tagName)) {
|
243
|
-
defineCustomElement$
|
245
|
+
defineCustomElement$s();
|
244
246
|
}
|
245
247
|
break;
|
246
248
|
case "snk-data-exporter":
|
247
249
|
if (!customElements.get(tagName)) {
|
248
|
-
defineCustomElement$
|
250
|
+
defineCustomElement$r();
|
249
251
|
}
|
250
252
|
break;
|
251
253
|
case "snk-data-unit":
|
252
254
|
if (!customElements.get(tagName)) {
|
253
|
-
defineCustomElement$
|
255
|
+
defineCustomElement$q();
|
254
256
|
}
|
255
257
|
break;
|
256
258
|
case "snk-detail-view":
|
257
259
|
if (!customElements.get(tagName)) {
|
258
|
-
defineCustomElement$
|
260
|
+
defineCustomElement$p();
|
259
261
|
}
|
260
262
|
break;
|
261
263
|
case "snk-exporter-email-sender":
|
262
264
|
if (!customElements.get(tagName)) {
|
263
|
-
defineCustomElement$
|
265
|
+
defineCustomElement$o();
|
264
266
|
}
|
265
267
|
break;
|
266
268
|
case "snk-expression-group":
|
267
269
|
if (!customElements.get(tagName)) {
|
268
|
-
defineCustomElement$
|
270
|
+
defineCustomElement$n();
|
269
271
|
}
|
270
272
|
break;
|
271
273
|
case "snk-expression-item":
|
272
274
|
if (!customElements.get(tagName)) {
|
273
|
-
defineCustomElement$
|
275
|
+
defineCustomElement$m();
|
274
276
|
}
|
275
277
|
break;
|
276
278
|
case "snk-field-config":
|
279
|
+
if (!customElements.get(tagName)) {
|
280
|
+
defineCustomElement$l();
|
281
|
+
}
|
282
|
+
break;
|
283
|
+
case "snk-filter-advanced-mode":
|
284
|
+
if (!customElements.get(tagName)) {
|
285
|
+
defineCustomElement$k();
|
286
|
+
}
|
287
|
+
break;
|
288
|
+
case "snk-filter-assistent-mode":
|
277
289
|
if (!customElements.get(tagName)) {
|
278
290
|
defineCustomElement$j();
|
279
291
|
}
|
@@ -291,7 +291,8 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
291
291
|
hasDirtyRecords: this.dataUnit.hasDirtyRecords(),
|
292
292
|
selectedRecords: undefined,
|
293
293
|
selectionInfo,
|
294
|
-
selectedRecord: this.dataUnit.getSelectedRecord()
|
294
|
+
selectedRecord: this.dataUnit.getSelectedRecord(),
|
295
|
+
recordsIsEmpty: this.dataUnit.records.length === 0
|
295
296
|
});
|
296
297
|
}
|
297
298
|
/**
|
@@ -442,6 +443,7 @@ class DataStateImpl {
|
|
442
443
|
this.hasPrevious = datastate.hasPrevious;
|
443
444
|
this.selectionInfo = datastate.selectionInfo;
|
444
445
|
this.selectedRecord = datastate.selectedRecord;
|
446
|
+
this.recordsIsEmpty = datastate.recordsIsEmpty;
|
445
447
|
}
|
446
448
|
get selectedRecords() {
|
447
449
|
var _a;
|