@sankhyalabs/sankhyablocks 1.3.30 → 1.3.31-beta.10
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/{index-1133bc2a.js → index-c6671817.js} +416 -9
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/sankhyablocks.cjs.js +2 -2
- package/dist/cjs/snk-application.cjs.entry.js +280 -107
- package/dist/cjs/snk-crud.cjs.entry.js +64 -0
- package/dist/cjs/snk-data-unit.cjs.entry.js +218 -0
- package/dist/cjs/snk-form_2.cjs.entry.js +170 -0
- package/dist/cjs/snk-pesquisa.cjs.entry.js +6 -3
- package/dist/cjs/snk-taskbar.cjs.entry.js +140 -0
- package/dist/cjs/taskbar-elements-7f99f0c9.js +70 -0
- package/dist/cjs/teste-pesquisa.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +5 -0
- package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +2 -2
- package/dist/collection/components/snk-application/snk-application.js +237 -62
- package/dist/collection/components/snk-crud/snk-crud.css +5 -0
- package/dist/collection/components/snk-crud/snk-crud.js +149 -0
- package/dist/collection/components/snk-data-unit/snk-data-unit.css +6 -0
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +492 -0
- package/dist/collection/components/snk-form/snk-form.css +34 -0
- package/dist/collection/components/snk-form/snk-form.js +230 -0
- package/dist/collection/components/snk-grid/snk-grid.css +5 -0
- package/dist/collection/components/snk-grid/snk-grid.js +148 -0
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +56 -13
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +5 -1
- package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +65 -0
- package/dist/collection/components/snk-taskbar/snk-taskbar.css +3 -0
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +252 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/dataunit-fetcher.js +52 -21
- package/dist/collection/lib/http/data-fetcher/fetchers/grid-config-fetcher.js +4 -3
- package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +2 -0
- package/dist/components/snk-application2.js +280 -106
- package/dist/components/snk-crud.d.ts +11 -0
- package/dist/components/snk-crud.js +102 -0
- package/dist/components/snk-data-unit.d.ts +11 -0
- package/dist/components/snk-data-unit.js +242 -0
- package/dist/components/snk-form.d.ts +11 -0
- package/dist/components/snk-form.js +6 -0
- package/dist/components/snk-form2.js +134 -0
- package/dist/components/snk-grid.d.ts +11 -0
- package/dist/components/snk-grid.js +6 -0
- package/dist/components/snk-grid2.js +91 -0
- package/dist/components/snk-pesquisa2.js +5 -2
- package/dist/components/snk-taskbar.d.ts +11 -0
- package/dist/components/snk-taskbar.js +6 -0
- package/dist/components/snk-taskbar2.js +221 -0
- package/dist/esm/{index-ffda6382.js → index-6a83ac96.js} +416 -10
- package/dist/esm/loader.js +2 -2
- package/dist/esm/sankhyablocks.js +2 -2
- package/dist/esm/snk-application.entry.js +280 -107
- package/dist/esm/snk-crud.entry.js +60 -0
- package/dist/esm/snk-data-unit.entry.js +214 -0
- package/dist/esm/snk-form_2.entry.js +165 -0
- package/dist/esm/snk-pesquisa.entry.js +6 -3
- package/dist/esm/snk-taskbar.entry.js +136 -0
- package/dist/esm/taskbar-elements-e0b8a285.js +68 -0
- package/dist/esm/teste-pesquisa.entry.js +1 -1
- package/dist/sankhyablocks/p-18fe0469.entry.js +69 -0
- package/dist/sankhyablocks/p-4c7b32d6.entry.js +1 -0
- package/dist/sankhyablocks/p-5b5afdbe.entry.js +1 -0
- package/dist/sankhyablocks/p-7fe9e5c2.entry.js +1 -0
- package/dist/sankhyablocks/p-8650ae26.entry.js +1 -0
- package/dist/sankhyablocks/p-a5439706.js +1 -0
- package/dist/sankhyablocks/p-c3d20542.entry.js +1 -0
- package/dist/sankhyablocks/p-cd1dc099.js +2 -0
- package/dist/sankhyablocks/{p-2a7b4cb3.entry.js → p-d25637c9.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-application/snk-application.d.ts +103 -15
- package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +25 -0
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +45 -0
- package/dist/types/components.d.ts +381 -6
- package/dist/types/lib/http/data-fetcher/fetchers/dataunit-fetcher.d.ts +2 -0
- package/dist/types/lib/http/data-fetcher/fetchers/grid-config-fetcher.d.ts +3 -3
- package/package.json +5 -5
- package/react/components.d.ts +5 -0
- package/react/components.js +5 -0
- package/react/components.js.map +1 -1
- package/dist/sankhyablocks/p-d62412bb.entry.js +0 -1
- package/dist/sankhyablocks/p-e6e91d5f.entry.js +0 -69
- package/dist/sankhyablocks/p-edcb9d8e.js +0 -2
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import { ApplicationContext } from '@sankhyalabs/core';
|
|
2
|
+
import { Component, Event, h, Host, Prop, State, Watch } from '@stencil/core';
|
|
3
|
+
import { TaskbarElement, buildElem, AuthorizationElements } from './elements/taskbar-elements';
|
|
4
|
+
export class SnkTaskbar {
|
|
5
|
+
observeButtons() {
|
|
6
|
+
this._definitions = undefined;
|
|
7
|
+
}
|
|
8
|
+
// Internal methods
|
|
9
|
+
elementsFromString(strButtons) {
|
|
10
|
+
const elements = [];
|
|
11
|
+
if (strButtons) {
|
|
12
|
+
strButtons.split(",").forEach(buttonName => {
|
|
13
|
+
buttonName = buttonName.trim();
|
|
14
|
+
if (this.isAllowed(buttonName)) {
|
|
15
|
+
elements.push(buttonName.trim());
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return elements;
|
|
20
|
+
}
|
|
21
|
+
isAllowed(buttonName) {
|
|
22
|
+
if (AuthorizationElements[buttonName]) {
|
|
23
|
+
return this._permissions ? this._permissions.isSup || this._permissions[buttonName] : false;
|
|
24
|
+
}
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
getTitle(element) {
|
|
28
|
+
const pt_br = {
|
|
29
|
+
[TaskbarElement.UPDATE]: "Editar",
|
|
30
|
+
[TaskbarElement.PREVIOUS]: "Anterior",
|
|
31
|
+
[TaskbarElement.NEXT]: "Próximo",
|
|
32
|
+
[TaskbarElement.REFRESH]: "Atualizar",
|
|
33
|
+
[TaskbarElement.CLONE]: "Duplicar",
|
|
34
|
+
[TaskbarElement.REMOVE]: "Excluir",
|
|
35
|
+
[TaskbarElement.MORE_OPTIONS]: "Mais Opções",
|
|
36
|
+
[TaskbarElement.INSERT]: "Cadastrar",
|
|
37
|
+
[TaskbarElement.CANCEL]: "Cancelar",
|
|
38
|
+
[TaskbarElement.SAVE]: "Salvar",
|
|
39
|
+
[TaskbarElement.GRID_MODE]: "Modo Grade",
|
|
40
|
+
[TaskbarElement.CONFIG_GRID]: "Configuração da grade",
|
|
41
|
+
[TaskbarElement.FORM_MODE]: "Modo Formulário"
|
|
42
|
+
};
|
|
43
|
+
return pt_br[element] ? pt_br[element] : "";
|
|
44
|
+
}
|
|
45
|
+
elementClick(elem) {
|
|
46
|
+
if (this.dataUnit) {
|
|
47
|
+
switch (elem) {
|
|
48
|
+
case TaskbarElement.PREVIOUS:
|
|
49
|
+
this.dataUnit.previousRecord();
|
|
50
|
+
break;
|
|
51
|
+
case TaskbarElement.NEXT:
|
|
52
|
+
this.dataUnit.nextRecord();
|
|
53
|
+
break;
|
|
54
|
+
case TaskbarElement.REFRESH:
|
|
55
|
+
this.dataUnit.loadData();
|
|
56
|
+
break;
|
|
57
|
+
case TaskbarElement.CLONE:
|
|
58
|
+
this.dataUnit.copySelected();
|
|
59
|
+
break;
|
|
60
|
+
case TaskbarElement.REMOVE:
|
|
61
|
+
this.dataUnit.removeSelectedRecords();
|
|
62
|
+
break;
|
|
63
|
+
case TaskbarElement.INSERT:
|
|
64
|
+
this.dataUnit.addRecord();
|
|
65
|
+
break;
|
|
66
|
+
case TaskbarElement.CANCEL:
|
|
67
|
+
this.dataUnit.cancelEdition();
|
|
68
|
+
break;
|
|
69
|
+
case TaskbarElement.SAVE:
|
|
70
|
+
this.dataUnit.saveData();
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
this.actionClick.emit(elem);
|
|
75
|
+
}
|
|
76
|
+
isEnabled(elem) {
|
|
77
|
+
return !(this.disabledButtons && this.disabledButtons.includes(elem));
|
|
78
|
+
}
|
|
79
|
+
getElement(index, def) {
|
|
80
|
+
let element;
|
|
81
|
+
let className = def === this.primaryButton ? "ez-button--primary " : "";
|
|
82
|
+
if (index > 1) {
|
|
83
|
+
className += "ez-padding-left--medium";
|
|
84
|
+
}
|
|
85
|
+
element = buildElem(def, className, elem => this.getTitle(elem), elem => this.elementClick(elem), elem => this.isEnabled(elem), this.actionsList);
|
|
86
|
+
return element;
|
|
87
|
+
}
|
|
88
|
+
// Lifecycle
|
|
89
|
+
componentWillLoad() {
|
|
90
|
+
const snkApplication = ApplicationContext.getContextValue("__SNK__APPLICATION__");
|
|
91
|
+
if (snkApplication) {
|
|
92
|
+
snkApplication.getAllAccess().then(access => this._permissions = access);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
this._permissions = {};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
componentWillRender() {
|
|
99
|
+
if (this._definitions == undefined && this._permissions) {
|
|
100
|
+
this._definitions = this.elementsFromString(this.buttons);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
render() {
|
|
104
|
+
if (this._definitions === undefined) {
|
|
105
|
+
return undefined;
|
|
106
|
+
}
|
|
107
|
+
let index = 0;
|
|
108
|
+
return (h(Host, null, this._definitions.map((btn) => {
|
|
109
|
+
if (btn === TaskbarElement.DIVIDER) {
|
|
110
|
+
index = 0;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
index++;
|
|
114
|
+
}
|
|
115
|
+
if (TaskbarElement[btn]) {
|
|
116
|
+
return this.getElement(index, TaskbarElement[btn]);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
index;
|
|
120
|
+
return h("slot", { name: btn });
|
|
121
|
+
}
|
|
122
|
+
})));
|
|
123
|
+
}
|
|
124
|
+
static get is() { return "snk-taskbar"; }
|
|
125
|
+
static get encapsulation() { return "scoped"; }
|
|
126
|
+
static get originalStyleUrls() { return {
|
|
127
|
+
"$": ["snk-taskbar.css"]
|
|
128
|
+
}; }
|
|
129
|
+
static get styleUrls() { return {
|
|
130
|
+
"$": ["snk-taskbar.css"]
|
|
131
|
+
}; }
|
|
132
|
+
static get properties() { return {
|
|
133
|
+
"buttons": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"mutable": false,
|
|
136
|
+
"complexType": {
|
|
137
|
+
"original": "string",
|
|
138
|
+
"resolved": "string",
|
|
139
|
+
"references": {}
|
|
140
|
+
},
|
|
141
|
+
"required": false,
|
|
142
|
+
"optional": false,
|
|
143
|
+
"docs": {
|
|
144
|
+
"tags": [],
|
|
145
|
+
"text": "Lista separada por virgula, contendo todos os elementos a serem criados"
|
|
146
|
+
},
|
|
147
|
+
"attribute": "buttons",
|
|
148
|
+
"reflect": false
|
|
149
|
+
},
|
|
150
|
+
"actionsList": {
|
|
151
|
+
"type": "unknown",
|
|
152
|
+
"mutable": false,
|
|
153
|
+
"complexType": {
|
|
154
|
+
"original": "Array<Action>",
|
|
155
|
+
"resolved": "Action[]",
|
|
156
|
+
"references": {
|
|
157
|
+
"Array": {
|
|
158
|
+
"location": "global"
|
|
159
|
+
},
|
|
160
|
+
"Action": {
|
|
161
|
+
"location": "local"
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"required": false,
|
|
166
|
+
"optional": false,
|
|
167
|
+
"docs": {
|
|
168
|
+
"tags": [],
|
|
169
|
+
"text": "Lista de a\u00E7\u00F5es que devem ser usadas no bot\u00E3o \"Mais op\u00E7\u00F5es\""
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
"primaryButton": {
|
|
173
|
+
"type": "string",
|
|
174
|
+
"mutable": false,
|
|
175
|
+
"complexType": {
|
|
176
|
+
"original": "string",
|
|
177
|
+
"resolved": "string",
|
|
178
|
+
"references": {}
|
|
179
|
+
},
|
|
180
|
+
"required": false,
|
|
181
|
+
"optional": false,
|
|
182
|
+
"docs": {
|
|
183
|
+
"tags": [],
|
|
184
|
+
"text": "Qual bot\u00E3o deve ter apar\u00EAncia prim\u00E1ria"
|
|
185
|
+
},
|
|
186
|
+
"attribute": "primary-button",
|
|
187
|
+
"reflect": false
|
|
188
|
+
},
|
|
189
|
+
"disabledButtons": {
|
|
190
|
+
"type": "unknown",
|
|
191
|
+
"mutable": false,
|
|
192
|
+
"complexType": {
|
|
193
|
+
"original": "Array<string>",
|
|
194
|
+
"resolved": "string[]",
|
|
195
|
+
"references": {
|
|
196
|
+
"Array": {
|
|
197
|
+
"location": "global"
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
"required": false,
|
|
202
|
+
"optional": false,
|
|
203
|
+
"docs": {
|
|
204
|
+
"tags": [],
|
|
205
|
+
"text": "Array contendo todos os bot\u00F5es a serem desabilitados"
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
"dataUnit": {
|
|
209
|
+
"type": "unknown",
|
|
210
|
+
"mutable": false,
|
|
211
|
+
"complexType": {
|
|
212
|
+
"original": "DataUnit",
|
|
213
|
+
"resolved": "DataUnit",
|
|
214
|
+
"references": {
|
|
215
|
+
"DataUnit": {
|
|
216
|
+
"location": "import",
|
|
217
|
+
"path": "@sankhyalabs/core"
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
"required": false,
|
|
222
|
+
"optional": false,
|
|
223
|
+
"docs": {
|
|
224
|
+
"tags": [],
|
|
225
|
+
"text": "Inst\u00E2ncia do DataUnit"
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}; }
|
|
229
|
+
static get states() { return {
|
|
230
|
+
"_permissions": {}
|
|
231
|
+
}; }
|
|
232
|
+
static get events() { return [{
|
|
233
|
+
"method": "actionClick",
|
|
234
|
+
"name": "actionClick",
|
|
235
|
+
"bubbles": true,
|
|
236
|
+
"cancelable": true,
|
|
237
|
+
"composed": true,
|
|
238
|
+
"docs": {
|
|
239
|
+
"tags": [],
|
|
240
|
+
"text": "Emitido sempre que houver click de bot\u00E3o ou a\u00E7\u00E3o"
|
|
241
|
+
},
|
|
242
|
+
"complexType": {
|
|
243
|
+
"original": "string",
|
|
244
|
+
"resolved": "string",
|
|
245
|
+
"references": {}
|
|
246
|
+
}
|
|
247
|
+
}]; }
|
|
248
|
+
static get watchers() { return [{
|
|
249
|
+
"propName": "buttons",
|
|
250
|
+
"methodName": "observeButtons"
|
|
251
|
+
}]; }
|
|
252
|
+
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { DataFetcher } from "../DataFetcher";
|
|
1
|
+
import { ChangeOperation, DataType, DataUnit, StringUtils } from "@sankhyalabs/core";
|
|
3
2
|
import { gql } from "graphql-request";
|
|
3
|
+
import { DataFetcher } from "../DataFetcher";
|
|
4
4
|
export default class DataUnitFetcher {
|
|
5
5
|
constructor() {
|
|
6
6
|
this.templateByQuery = new Map();
|
|
7
|
+
this._loadDataTimeout = {};
|
|
7
8
|
this.buldTemplates();
|
|
8
9
|
}
|
|
9
10
|
buldTemplates() {
|
|
@@ -32,9 +33,9 @@ export default class DataUnitFetcher {
|
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
}`);
|
|
35
|
-
this.templateByQuery.set("fetchData", gql `query($dataunit: String! $limit: Int $offset:Int $
|
|
36
|
+
this.templateByQuery.set("fetchData", gql `query($dataunit: String! $limit: Int $offset:Int $filters: [InputFilter!] $sort: [InputSort!]) {
|
|
36
37
|
$queryAlias$: fetchDataUnit(name: $dataunit){
|
|
37
|
-
data(limit: $limit offset: $offset filters: $
|
|
38
|
+
data(limit: $limit offset: $offset filters: $filters sort: $sort){
|
|
38
39
|
limit
|
|
39
40
|
offset
|
|
40
41
|
total
|
|
@@ -63,7 +64,7 @@ export default class DataUnitFetcher {
|
|
|
63
64
|
getDataUnit(entityName, resourceID) {
|
|
64
65
|
const dataUnit = new DataUnit(`dd://${entityName}/${resourceID}`);
|
|
65
66
|
dataUnit.metadataLoader = (dataUnit) => this.loadMetadata(dataUnit);
|
|
66
|
-
dataUnit.dataLoader = (dataUnit,
|
|
67
|
+
dataUnit.dataLoader = (dataUnit, request) => this.loadData(dataUnit, request);
|
|
67
68
|
dataUnit.saveLoader = (dataUnit, changes) => this.saveData(dataUnit, changes);
|
|
68
69
|
dataUnit.removeLoader = (dataUnit, recordIds) => this.removeRecords(dataUnit, recordIds);
|
|
69
70
|
return dataUnit;
|
|
@@ -100,25 +101,39 @@ export default class DataUnitFetcher {
|
|
|
100
101
|
});
|
|
101
102
|
});
|
|
102
103
|
}
|
|
103
|
-
loadData(dataUnit,
|
|
104
|
+
loadData(dataUnit, request) {
|
|
105
|
+
const duName = dataUnit.name;
|
|
106
|
+
if (this._loadDataTimeout[duName]) {
|
|
107
|
+
clearTimeout(this._loadDataTimeout[duName]);
|
|
108
|
+
delete this._loadDataTimeout[duName];
|
|
109
|
+
}
|
|
104
110
|
return new Promise((resolve, reject) => {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
|
|
111
|
+
this._loadDataTimeout[duName] = setTimeout(() => {
|
|
112
|
+
delete this._loadDataTimeout[duName];
|
|
113
|
+
this.doLoadData(dataUnit, request)
|
|
114
|
+
.then(result => resolve(result))
|
|
115
|
+
.catch(reason => reject(reason));
|
|
116
|
+
}, 200);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
doLoadData(dataUnit, request) {
|
|
120
|
+
return new Promise((resolve, reject) => {
|
|
121
|
+
var _a;
|
|
122
|
+
const { sort, filters, limit, offset, quickFilter } = request;
|
|
123
|
+
const variables = { dataunit: dataUnit.name, sort, filters };
|
|
124
|
+
variables.limit = limit;
|
|
125
|
+
variables.offset = offset;
|
|
126
|
+
if (!StringUtils.isEmpty(quickFilter === null || quickFilter === void 0 ? void 0 : quickFilter.term)) {
|
|
112
127
|
if (variables.filter === undefined) {
|
|
113
128
|
variables.filter = [];
|
|
114
129
|
}
|
|
115
130
|
const quickFilterCriteria = {
|
|
116
131
|
name: "__QUICK_FILTER__",
|
|
117
132
|
expression: "__QUICK_FILTER__",
|
|
118
|
-
params: [{ name: "term", dataType: DataType.TEXT, value:
|
|
133
|
+
params: [{ name: "term", dataType: DataType.TEXT, value: quickFilter.term }]
|
|
119
134
|
};
|
|
120
|
-
if (((
|
|
121
|
-
quickFilterCriteria.params.push({ name: "fields", dataType: DataType.OBJECT, value:
|
|
135
|
+
if (((_a = quickFilter === null || quickFilter === void 0 ? void 0 : quickFilter.fields) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
136
|
+
quickFilterCriteria.params.push({ name: "fields", dataType: DataType.OBJECT, value: quickFilter.fields });
|
|
122
137
|
}
|
|
123
138
|
variables.filter.push(quickFilterCriteria);
|
|
124
139
|
}
|
|
@@ -128,16 +143,32 @@ export default class DataUnitFetcher {
|
|
|
128
143
|
query: this.templateByQuery.get("fetchData"),
|
|
129
144
|
})
|
|
130
145
|
.then((resp) => {
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
|
|
146
|
+
const { limit, offset, total, hasMore, records } = resp.data;
|
|
147
|
+
let paginationInfo;
|
|
148
|
+
if (limit) {
|
|
149
|
+
const firstRecord = offset + 1;
|
|
150
|
+
const lastRecord = offset + Math.min(records.length, limit);
|
|
151
|
+
const currentPage = offset / limit;
|
|
152
|
+
paginationInfo = {
|
|
153
|
+
firstRecord,
|
|
154
|
+
lastRecord,
|
|
155
|
+
total,
|
|
156
|
+
currentPage,
|
|
157
|
+
hasMore
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
const processedRecords = [];
|
|
161
|
+
records.forEach((responseRecord) => {
|
|
134
162
|
const duRecord = { __record__id__: responseRecord.id };
|
|
135
163
|
responseRecord.fields.forEach(({ name, value }) => {
|
|
136
164
|
duRecord[name] = dataUnit.valueFromString(name, value);
|
|
137
165
|
});
|
|
138
|
-
|
|
166
|
+
processedRecords.push(duRecord);
|
|
167
|
+
});
|
|
168
|
+
resolve({
|
|
169
|
+
paginationInfo,
|
|
170
|
+
records: processedRecords
|
|
139
171
|
});
|
|
140
|
-
resolve(Object.assign(Object.assign({}, pageResult), { records }));
|
|
141
172
|
})
|
|
142
173
|
.catch((error) => {
|
|
143
174
|
reject(error);
|
|
@@ -4,15 +4,16 @@ export default class GridConfigFetcher extends ResourceFetcher {
|
|
|
4
4
|
super(...arguments);
|
|
5
5
|
this.GRID_CONFIG_VERSION = "V3:";
|
|
6
6
|
}
|
|
7
|
-
getConfig(resourceID) {
|
|
7
|
+
getConfig(_gridName, resourceID) {
|
|
8
8
|
const completePath = `cfg://grid/${this.GRID_CONFIG_VERSION}${resourceID}`;
|
|
9
9
|
return new Promise((resolve, reject) => {
|
|
10
10
|
this.loadResource(completePath)
|
|
11
11
|
.then(loadedResource => {
|
|
12
|
+
let config = undefined;
|
|
12
13
|
if (loadedResource) {
|
|
13
|
-
|
|
14
|
-
resolve(config);
|
|
14
|
+
config = JSON.parse(loadedResource);
|
|
15
15
|
}
|
|
16
|
+
resolve(config);
|
|
16
17
|
}).catch((error) => {
|
|
17
18
|
reject(error);
|
|
18
19
|
});
|
|
@@ -16,6 +16,8 @@ export class PesquisaFetcher {
|
|
|
16
16
|
}`);
|
|
17
17
|
}
|
|
18
18
|
loadSearchOptions(entityName, argument, criteria, options) {
|
|
19
|
+
const cleanText = (argument === null || argument === void 0 ? void 0 : argument.trim()) || undefined;
|
|
20
|
+
argument = isNaN(Number(cleanText)) && cleanText ? `%${cleanText}` : cleanText;
|
|
19
21
|
return new Promise((resolve, reject) => {
|
|
20
22
|
DataFetcher.get()
|
|
21
23
|
.callGraphQL({
|