@sankhyalabs/sankhyablocks 1.3.2 → 1.3.3
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-4720dab8.js → index-8272993f.js} +439 -7
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/sankhyablocks.cjs.js +2 -2
- package/dist/cjs/snk-application.cjs.entry.js +227 -57
- package/dist/cjs/snk-pesquisa.cjs.entry.js +19 -0
- package/dist/cjs/teste-pesquisa.cjs.entry.js +37 -0
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/snk-application/snk-application.js +104 -3
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +3 -0
- package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +74 -0
- package/dist/collection/components/teste-pesquisa/teste-pesquisa.css +3 -0
- package/dist/collection/components/teste-pesquisa/teste-pesquisa.js +33 -0
- package/dist/collection/lib/http/data-fetcher/DataFetcher.js +47 -0
- package/dist/collection/lib/http/data-fetcher/fetchers/dataunit-fetcher.js +17 -16
- package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +82 -0
- package/dist/collection/lib/workspace/workspace.js +2 -1
- package/dist/components/snk-application.js +1 -7089
- package/dist/components/snk-application2.js +7269 -0
- package/dist/components/snk-pesquisa.d.ts +11 -0
- package/dist/components/snk-pesquisa.js +6 -0
- package/dist/components/snk-pesquisa2.js +34 -0
- package/dist/components/teste-pesquisa.d.ts +11 -0
- package/dist/components/teste-pesquisa.js +63 -0
- package/dist/esm/{index-72d4e2e0.js → index-427447f8.js} +439 -8
- package/dist/esm/loader.js +2 -2
- package/dist/esm/sankhyablocks.js +2 -2
- package/dist/esm/snk-application.entry.js +228 -58
- package/dist/esm/snk-pesquisa.entry.js +15 -0
- package/dist/esm/teste-pesquisa.entry.js +33 -0
- package/dist/sankhyablocks/p-106c4d7b.entry.js +63 -0
- package/dist/sankhyablocks/p-91ca1a98.entry.js +1 -0
- package/dist/sankhyablocks/p-e6ba985e.entry.js +1 -0
- package/dist/sankhyablocks/p-ee5a384b.js +2 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-application/snk-application.d.ts +8 -0
- package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +7 -0
- package/dist/types/components/teste-pesquisa/teste-pesquisa.d.ts +6 -0
- package/dist/types/components.d.ts +34 -0
- package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +3 -0
- package/dist/types/lib/http/data-fetcher/fetchers/dataunit-fetcher.d.ts +1 -1
- package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +17 -0
- 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/sankhyablocks/p-76b95007.entry.js +0 -57
- package/dist/sankhyablocks/p-a33afc3b.js +0 -2
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { DataType, DataUnit, UserInterface } from '@sankhyalabs/core';
|
|
2
|
+
import { Component, h } from '@stencil/core';
|
|
3
|
+
export class TestePesquisa {
|
|
4
|
+
componentWillLoad() {
|
|
5
|
+
this.dataUnit = new DataUnit("testes_com_formulario");
|
|
6
|
+
this.dataUnit.metadata = {
|
|
7
|
+
name: "dd://br.com.sankhya.fin.cad.movimentacaoFinanceira/Financeiro",
|
|
8
|
+
label: "Parceiro",
|
|
9
|
+
fields: [
|
|
10
|
+
{
|
|
11
|
+
name: "CODPARC",
|
|
12
|
+
label: "Parceiro",
|
|
13
|
+
dataType: DataType.NUMBER,
|
|
14
|
+
userInterface: UserInterface.SEARCH,
|
|
15
|
+
required: true,
|
|
16
|
+
properties: { ENTITYNAME: "Parceiro" }
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
render() {
|
|
22
|
+
return (h("snk-application", null,
|
|
23
|
+
h("ez-form", { dataUnit: this.dataUnit })));
|
|
24
|
+
}
|
|
25
|
+
static get is() { return "teste-pesquisa"; }
|
|
26
|
+
static get encapsulation() { return "shadow"; }
|
|
27
|
+
static get originalStyleUrls() { return {
|
|
28
|
+
"$": ["teste-pesquisa.css"]
|
|
29
|
+
}; }
|
|
30
|
+
static get styleUrls() { return {
|
|
31
|
+
"$": ["teste-pesquisa.css"]
|
|
32
|
+
}; }
|
|
33
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { batchRequests } from 'graphql-request';
|
|
2
|
+
import UrlUtils from "../../../lib/utils/urlutils";
|
|
2
3
|
export class HttpFetcher {
|
|
3
4
|
constructor() {
|
|
4
5
|
this.watingRequestsById = new Map();
|
|
@@ -45,6 +46,52 @@ export class HttpFetcher {
|
|
|
45
46
|
return (_a = this.getWatingRequest(reqKey)) === null || _a === void 0 ? void 0 : _a.promise;
|
|
46
47
|
}
|
|
47
48
|
}
|
|
49
|
+
resolveURL() {
|
|
50
|
+
if (window['mock_url'])
|
|
51
|
+
return window['mock_url'];
|
|
52
|
+
return UrlUtils.getUrlBase();
|
|
53
|
+
}
|
|
54
|
+
getContext() {
|
|
55
|
+
const urlParams = UrlUtils.getQueryParams(location.search);
|
|
56
|
+
return {
|
|
57
|
+
baseUrl: `${this.resolveURL()}/mge/service.sbr`,
|
|
58
|
+
appName: "SankhyaBlocks",
|
|
59
|
+
mgeSession: `${window['skw_session'] || urlParams.mgeSession}`,
|
|
60
|
+
globalID: "85C0093DFA240EAB699B4E47A10215BD",
|
|
61
|
+
resourceID: "br.com.sankhya.mov.bancaria"
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
async callServiceBroker(serviceName, payload) {
|
|
65
|
+
return new Promise((accept, reject) => {
|
|
66
|
+
const ctx = this.getContext();
|
|
67
|
+
const url = `${ctx.baseUrl}?serviceName=${serviceName}&counter=21&application=${ctx.appName}&outputType=json&preventTransform=false&mgeSession=${ctx.mgeSession}&resourceID=${ctx.resourceID}&globalID=${ctx.globalID}&allowConcurrentCalls=true`;
|
|
68
|
+
document.cookie = `JSESSIONID=${ctx.mgeSession};`;
|
|
69
|
+
const http = new XMLHttpRequest();
|
|
70
|
+
http.open("POST", url, true);
|
|
71
|
+
http.withCredentials = true;
|
|
72
|
+
http.send(payload);
|
|
73
|
+
http.onreadystatechange = function () {
|
|
74
|
+
if (this.readyState == 4 && this.status == 200) {
|
|
75
|
+
try {
|
|
76
|
+
const jsonResp = JSON.parse(this.responseText);
|
|
77
|
+
if (jsonResp.status == 1) {
|
|
78
|
+
accept(jsonResp.responseBody);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
reject(jsonResp);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch (e) {
|
|
85
|
+
console.warn(`callServiceBroker error to parser response to JSON ${e}`);
|
|
86
|
+
reject(this.responseText);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else if (this.readyState == 4 && this.status != 200) {
|
|
90
|
+
reject(this.responseText);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
});
|
|
94
|
+
}
|
|
48
95
|
getReqKey(req) {
|
|
49
96
|
return window.btoa(this.hashCode(`${req.query}${JSON.stringify(req.values || "")}`)).replace(/=/g, "");
|
|
50
97
|
}
|
|
@@ -14,6 +14,7 @@ export default class DataUnitFetcher {
|
|
|
14
14
|
name
|
|
15
15
|
defaultValue
|
|
16
16
|
label
|
|
17
|
+
visible
|
|
17
18
|
readOnly
|
|
18
19
|
required
|
|
19
20
|
dataType
|
|
@@ -123,7 +124,7 @@ export default class DataUnitFetcher {
|
|
|
123
124
|
const changes = duChanges.map((change) => {
|
|
124
125
|
const { dataUnit: changeDU, record, updatingFields, operation } = change;
|
|
125
126
|
const parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
|
|
126
|
-
return { fieldName, value:
|
|
127
|
+
return { fieldName, value: formatValueToServer(value) };
|
|
127
128
|
});
|
|
128
129
|
return { dataUnit: changeDU, updatingFields: parsedUpdatingFields, operation, recordId: record.__record__id__ };
|
|
129
130
|
});
|
|
@@ -152,21 +153,6 @@ export default class DataUnitFetcher {
|
|
|
152
153
|
});
|
|
153
154
|
});
|
|
154
155
|
}
|
|
155
|
-
formatValueToServer(value) {
|
|
156
|
-
if (value === undefined)
|
|
157
|
-
return value;
|
|
158
|
-
try {
|
|
159
|
-
if (value instanceof Date || typeof value === 'string') {
|
|
160
|
-
return value.toString();
|
|
161
|
-
}
|
|
162
|
-
//Any others objects
|
|
163
|
-
value = JSON.stringify(value);
|
|
164
|
-
}
|
|
165
|
-
catch (_a) {
|
|
166
|
-
value = value.toString();
|
|
167
|
-
}
|
|
168
|
-
return value;
|
|
169
|
-
}
|
|
170
156
|
removeRecords(dataUnit, recordIds) {
|
|
171
157
|
const changes = recordIds.map((recordId) => {
|
|
172
158
|
return { dataUnit: dataUnit.name, operation: ChangeOperation.DELETE, recordId };
|
|
@@ -186,3 +172,18 @@ export default class DataUnitFetcher {
|
|
|
186
172
|
});
|
|
187
173
|
}
|
|
188
174
|
}
|
|
175
|
+
export const formatValueToServer = (value) => {
|
|
176
|
+
if (value === undefined)
|
|
177
|
+
return value;
|
|
178
|
+
try {
|
|
179
|
+
if (value instanceof Date) {
|
|
180
|
+
return value.toString();
|
|
181
|
+
}
|
|
182
|
+
//Any others objects
|
|
183
|
+
value = JSON.stringify(value);
|
|
184
|
+
}
|
|
185
|
+
catch (_a) {
|
|
186
|
+
value = value.toString();
|
|
187
|
+
}
|
|
188
|
+
return value;
|
|
189
|
+
};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { DataType } from "@sankhyalabs/core";
|
|
2
|
+
import { gql } from "graphql-request";
|
|
3
|
+
import { HttpFetcher } from "../DataFetcher";
|
|
4
|
+
export class PesquisaFetcher {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.templateByQuery = new Map();
|
|
7
|
+
this.buldTemplates();
|
|
8
|
+
}
|
|
9
|
+
buldTemplates() {
|
|
10
|
+
this.templateByQuery.set("search", gql `query($entityName: String! $argument: String $criteria: SearchCriteria) {
|
|
11
|
+
$queryAlias$: search(entityName: $entityName argument: $argument criteria: $criteria){
|
|
12
|
+
value
|
|
13
|
+
label
|
|
14
|
+
}
|
|
15
|
+
}`);
|
|
16
|
+
}
|
|
17
|
+
loadSearchOptions(entityName, argument, criteria) {
|
|
18
|
+
return new Promise((resolve, reject) => {
|
|
19
|
+
HttpFetcher.get()
|
|
20
|
+
.callGraphQL({
|
|
21
|
+
values: { argument, entityName, criteria },
|
|
22
|
+
query: this.templateByQuery.get("search"),
|
|
23
|
+
})
|
|
24
|
+
.then((result) => {
|
|
25
|
+
resolve(result);
|
|
26
|
+
})
|
|
27
|
+
.catch((error) => {
|
|
28
|
+
reject(error);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
loadAdvancedSearch(entityName, argument, criteria) {
|
|
33
|
+
const serviceName = "PesquisaSP.getSuggestion";
|
|
34
|
+
const externalCriteria = {
|
|
35
|
+
query: {
|
|
36
|
+
$: criteria === null || criteria === void 0 ? void 0 : criteria.expression
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
if ((criteria === null || criteria === void 0 ? void 0 : criteria.params.length) > 0) {
|
|
40
|
+
externalCriteria.params = {
|
|
41
|
+
param: criteria.params.map(p => { return { $: p.value, type: convertParamType(p.dataType) }; })
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
const reqBody = {
|
|
45
|
+
"serviceName": serviceName,
|
|
46
|
+
"requestBody": {
|
|
47
|
+
"criteria": {
|
|
48
|
+
"entityName": entityName,
|
|
49
|
+
"compacted": false,
|
|
50
|
+
"ignoreEntityCriteria": false,
|
|
51
|
+
"limit": "5",
|
|
52
|
+
"query": { "$": argument },
|
|
53
|
+
"orderByDesc": false,
|
|
54
|
+
"options": { "showInactives": false },
|
|
55
|
+
"externalCriteria": externalCriteria
|
|
56
|
+
},
|
|
57
|
+
"clientEventList": {
|
|
58
|
+
"clientEvent": []
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
return new Promise((resolve, reject) => {
|
|
63
|
+
HttpFetcher.get()
|
|
64
|
+
.callServiceBroker("PesquisaSP.getSuggestion", JSON.stringify(reqBody))
|
|
65
|
+
.then(result => resolve(result))
|
|
66
|
+
.catch(error => reject(error));
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function convertParamType(dataType) {
|
|
71
|
+
//Alerta: Cuidado pra não contaminar o DataType com a implementação
|
|
72
|
+
//atual da pesquisa... em geral, somente inteiros,
|
|
73
|
+
//data (com ou sem hora) e string são realmente relevantes
|
|
74
|
+
switch (dataType) {
|
|
75
|
+
case DataType.NUMBER:
|
|
76
|
+
return "I";
|
|
77
|
+
case DataType.DATE:
|
|
78
|
+
return "D";
|
|
79
|
+
default:
|
|
80
|
+
return "S";
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
var _a;
|
|
1
2
|
export default class Workspace {
|
|
2
3
|
static openAppActivity(resourceId, pkObject) {
|
|
3
4
|
var _a;
|
|
4
5
|
(_a = window["workspace"]) === null || _a === void 0 ? void 0 : _a.openAppActivity(resourceId, pkObject);
|
|
5
6
|
}
|
|
6
7
|
}
|
|
7
|
-
Workspace.resourceID = window["workspace"].resourceID;
|
|
8
|
+
Workspace.resourceID = (_a = window["workspace"]) === null || _a === void 0 ? void 0 : _a.resourceID;
|