@sankhyalabs/core 1.0.24 → 1.0.27
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/application/Application.d.ts +8 -0
- package/dist/application/Application.js +19 -0
- package/dist/application/Application.js.map +1 -0
- package/dist/dataunit/DataUnit.js.map +1 -1
- package/dist/http/data-fetcher/HttpFetcher.d.ts +13 -0
- package/dist/http/data-fetcher/HttpFetcher.js +174 -0
- package/dist/http/data-fetcher/HttpFetcher.js.map +1 -0
- package/dist/http/data-fetcher/default/application-config-fetcher.d.ts +6 -0
- package/dist/http/data-fetcher/default/application-config-fetcher.js +21 -0
- package/dist/http/data-fetcher/default/application-config-fetcher.js.map +1 -0
- package/dist/http/data-fetcher/default/dataunit-fetcher.d.ts +9 -0
- package/dist/http/data-fetcher/default/dataunit-fetcher.js +45 -0
- package/dist/http/data-fetcher/default/dataunit-fetcher.js.map +1 -0
- package/dist/http/data-fetcher/default/form-config-fetcher.d.ts +2 -0
- package/dist/http/data-fetcher/default/form-config-fetcher.js +3 -0
- package/dist/http/data-fetcher/default/form-config-fetcher.js.map +1 -0
- package/dist/http/data-fetcher/default/grid-config-fetcher.d.ts +2 -0
- package/dist/http/data-fetcher/default/grid-config-fetcher.js +3 -0
- package/dist/http/data-fetcher/default/grid-config-fetcher.js.map +1 -0
- package/dist/http/data-fetcher/state/LoadStateManager.d.ts +23 -0
- package/dist/http/data-fetcher/state/LoadStateManager.js +74 -0
- package/dist/http/data-fetcher/state/LoadStateManager.js.map +1 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/StringUtils.d.ts +6 -0
- package/dist/utils/StringUtils.js +31 -0
- package/dist/utils/StringUtils.js.map +1 -1
- package/package.json +5 -2
- package/src/application/Application.ts +22 -0
- package/src/dataunit/DataUnit.ts +0 -1
- package/src/http/data-fetcher/HttpFetcher.ts +174 -0
- package/src/http/data-fetcher/default/application-config-fetcher.ts +26 -0
- package/src/http/data-fetcher/default/dataunit-fetcher.ts +52 -0
- package/src/http/data-fetcher/default/form-config-fetcher.ts +3 -0
- package/src/http/data-fetcher/default/grid-config-fetcher.ts +3 -0
- package/src/http/data-fetcher/state/LoadStateManager.ts +74 -0
- package/src/index.ts +11 -0
- package/src/utils/StringUtils.ts +36 -3
- package/test/util/StringUtils.spec.ts +42 -33
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export class Application {
|
|
2
|
+
constructor() { }
|
|
3
|
+
static get() {
|
|
4
|
+
if (Application.instance === undefined) {
|
|
5
|
+
Application.instance = new Application();
|
|
6
|
+
Application.element = document.querySelector('ez-application');
|
|
7
|
+
}
|
|
8
|
+
return Application.instance;
|
|
9
|
+
}
|
|
10
|
+
onLoaded(listener) {
|
|
11
|
+
var _a;
|
|
12
|
+
(_a = Application.element) === null || _a === void 0 ? void 0 : _a.addEventListener('applicationLoaded', () => listener());
|
|
13
|
+
}
|
|
14
|
+
getResourceID() {
|
|
15
|
+
return "br.com.sankhya.mge.cad.parceiro"; //TODO: Remover mock
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
Application.element = null;
|
|
19
|
+
//# sourceMappingURL=Application.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Application.js","sourceRoot":"","sources":["../../src/application/Application.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IAGpB,gBAAsB,CAAC;IAEhB,MAAM,CAAC,GAAG;QACb,IAAG,WAAW,CAAC,QAAQ,KAAK,SAAS,EAAC;YAClC,WAAW,CAAC,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;YACzC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;SAClE;QACD,OAAO,WAAW,CAAC,QAAQ,CAAC;IAChC,CAAC;IAEM,QAAQ,CAAC,QAAiB;;QAC7B,MAAA,WAAW,CAAC,OAAO,0CAAE,gBAAgB,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjF,CAAC;IAEM,aAAa;QAChB,OAAO,iCAAiC,CAAC,CAAC,oBAAoB;IAClE,CAAC;;AAjBc,mBAAO,GAAkB,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataUnit.js","sourceRoot":"","sources":["../../src/dataunit/DataUnit.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DataUnit.js","sourceRoot":"","sources":["../../src/dataunit/DataUnit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class HttpFetcher {
|
|
2
|
+
private static instance;
|
|
3
|
+
private static loadStateManager;
|
|
4
|
+
private static watingRequestsById;
|
|
5
|
+
private constructor();
|
|
6
|
+
static get(): HttpFetcher;
|
|
7
|
+
callGraphQL(req: any): Promise<any>;
|
|
8
|
+
private getReqKey;
|
|
9
|
+
private static getQueryTemplate;
|
|
10
|
+
private static getWatingRequest;
|
|
11
|
+
private onApplicationLoaded;
|
|
12
|
+
private hashCode;
|
|
13
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { LoadStateManager, LoadType } from "./state/LoadStateManager";
|
|
11
|
+
import { DataType } from "./../../dataunit/metadata/DataType";
|
|
12
|
+
import { UserInterface } from "./../../dataunit/metadata/UnitMetadata";
|
|
13
|
+
import { batchRequests } from 'graphql-request';
|
|
14
|
+
export class HttpFetcher {
|
|
15
|
+
constructor() {
|
|
16
|
+
HttpFetcher.loadStateManager = LoadStateManager.get(LoadType.APP_LOAD);
|
|
17
|
+
HttpFetcher.loadStateManager.onLoaded(this.onApplicationLoaded);
|
|
18
|
+
}
|
|
19
|
+
static get() {
|
|
20
|
+
if (!HttpFetcher.instance) {
|
|
21
|
+
HttpFetcher.instance = new HttpFetcher();
|
|
22
|
+
}
|
|
23
|
+
return HttpFetcher.instance;
|
|
24
|
+
}
|
|
25
|
+
callGraphQL(req) {
|
|
26
|
+
var _a;
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
if (HttpFetcher.loadStateManager.isPreInitialize()) {
|
|
29
|
+
const reqKey = this.getReqKey(req);
|
|
30
|
+
req.queryID = reqKey;
|
|
31
|
+
req.values.queryID = reqKey;
|
|
32
|
+
if (!HttpFetcher.watingRequestsById.has(reqKey)) {
|
|
33
|
+
HttpFetcher.watingRequestsById.set(reqKey, new WaitingRequest(req));
|
|
34
|
+
}
|
|
35
|
+
return (_a = HttpFetcher.getWatingRequest(reqKey)) === null || _a === void 0 ? void 0 : _a.promise;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
//TODO: fazer chamada direta para graphQL
|
|
39
|
+
return new Promise(function (resolve) {
|
|
40
|
+
const md = {
|
|
41
|
+
name: "dd://br.com.sankhya.cad.parceiro/Parceiro",
|
|
42
|
+
label: "Parceiro",
|
|
43
|
+
fields: [
|
|
44
|
+
{
|
|
45
|
+
name: "CODPARC",
|
|
46
|
+
label: "Cód. Parceiro",
|
|
47
|
+
dataType: DataType.NUMBER
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: "NOMEPARC",
|
|
51
|
+
label: "Nome",
|
|
52
|
+
dataType: DataType.TEXT,
|
|
53
|
+
userInterface: UserInterface.LONGTEXT,
|
|
54
|
+
required: true
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: "P",
|
|
58
|
+
label: "pera",
|
|
59
|
+
dataType: DataType.TEXT,
|
|
60
|
+
userInterface: UserInterface.OPTIONSELECTOR,
|
|
61
|
+
properties: { options: `{"M": "Madura", "V": "Verde", "P": "Passada"}` }
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: "ME",
|
|
65
|
+
label: "ME",
|
|
66
|
+
dataType: DataType.NUMBER,
|
|
67
|
+
userInterface: UserInterface.DECIMALNUMBER,
|
|
68
|
+
properties: { precision: 4, prettyPrecision: 1 }
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
};
|
|
72
|
+
setTimeout(() => resolve(md));
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
getReqKey(req) {
|
|
78
|
+
return window.btoa(this.hashCode(`${req.query}${JSON.stringify(req.values || "")}`)).replaceAll("=", "");
|
|
79
|
+
}
|
|
80
|
+
static getQueryTemplate(re) {
|
|
81
|
+
return (re.query || "").replaceAll("$queryAlias$", re.queryID);
|
|
82
|
+
}
|
|
83
|
+
static getWatingRequest(reqID) {
|
|
84
|
+
return HttpFetcher.watingRequestsById.get(reqID);
|
|
85
|
+
}
|
|
86
|
+
onApplicationLoaded() {
|
|
87
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
const requestsBatch = [];
|
|
89
|
+
HttpFetcher.watingRequestsById.forEach((waitingReq) => __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
let query = HttpFetcher.getQueryTemplate(waitingReq.request);
|
|
91
|
+
requestsBatch.push({ document: query, variables: Object.assign({}, waitingReq.request.values) });
|
|
92
|
+
}));
|
|
93
|
+
let res = undefined;
|
|
94
|
+
let dataResponse = [];
|
|
95
|
+
let errorsResponse = [];
|
|
96
|
+
try {
|
|
97
|
+
res = yield batchRequests('http://localhost:8082/', requestsBatch);
|
|
98
|
+
res.forEach((resItem) => {
|
|
99
|
+
dataResponse.push(resItem.data);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
res = err.response;
|
|
104
|
+
const req = err.request;
|
|
105
|
+
Object.entries(res).forEach(([key, val]) => {
|
|
106
|
+
if (val.errors) {
|
|
107
|
+
errorsResponse.push(val.errors.map((item) => {
|
|
108
|
+
item.request = req;
|
|
109
|
+
item.index = Number(key);
|
|
110
|
+
return item;
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
113
|
+
else if (val.data) {
|
|
114
|
+
dataResponse.push(val.data);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
//Reject primises with errors from query
|
|
119
|
+
errorsResponse.forEach((errorResponse) => {
|
|
120
|
+
Object.entries(errorResponse).forEach(([key, val]) => {
|
|
121
|
+
var _a;
|
|
122
|
+
(((_a = HttpFetcher.getWatingRequest(val.request.variables[val.index].queryID)) === null || _a === void 0 ? void 0 : _a.reject) || Promise.reject)(val);
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
//Resolve primises with data from query
|
|
126
|
+
dataResponse.forEach((data) => {
|
|
127
|
+
Object.entries(data).forEach(([key, val]) => {
|
|
128
|
+
var _a;
|
|
129
|
+
(((_a = HttpFetcher.getWatingRequest(key)) === null || _a === void 0 ? void 0 : _a.resolve) || Promise.resolve)(val);
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
HttpFetcher.watingRequestsById.clear();
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
//TODO: Mover este metodo para o @sankhyalabs/core classe string utils.
|
|
136
|
+
hashCode(txt) {
|
|
137
|
+
var hash = 0, i, chr;
|
|
138
|
+
if (txt.length === 0)
|
|
139
|
+
return hash.toString();
|
|
140
|
+
for (i = 0; i < txt.length; i++) {
|
|
141
|
+
chr = txt.charCodeAt(i);
|
|
142
|
+
hash = ((hash << 5) - hash) + chr;
|
|
143
|
+
hash |= 0; // Convert to 32bit integer
|
|
144
|
+
}
|
|
145
|
+
return hash.toString();
|
|
146
|
+
}
|
|
147
|
+
;
|
|
148
|
+
}
|
|
149
|
+
HttpFetcher.watingRequestsById = new Map();
|
|
150
|
+
class WaitingRequest {
|
|
151
|
+
constructor(req) {
|
|
152
|
+
this._resolve = () => { };
|
|
153
|
+
this._reject = () => { };
|
|
154
|
+
this._request = undefined;
|
|
155
|
+
this._request = req;
|
|
156
|
+
this._promisse = new Promise((resolve, reject) => {
|
|
157
|
+
this._resolve = resolve;
|
|
158
|
+
this._reject = reject;
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
get resolve() {
|
|
162
|
+
return this._resolve;
|
|
163
|
+
}
|
|
164
|
+
get reject() {
|
|
165
|
+
return this._reject;
|
|
166
|
+
}
|
|
167
|
+
get promise() {
|
|
168
|
+
return this._promisse;
|
|
169
|
+
}
|
|
170
|
+
get request() {
|
|
171
|
+
return this._request;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=HttpFetcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpFetcher.js","sourceRoot":"","sources":["../../../src/http/data-fetcher/HttpFetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { gql } from 'graphql-request';
|
|
2
|
+
import { HttpFetcher } from '../HttpFetcher';
|
|
3
|
+
export class ApplicationConfigFetcher {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.templateByQuery = new Map();
|
|
6
|
+
this.buldTemplates();
|
|
7
|
+
}
|
|
8
|
+
buldTemplates() {
|
|
9
|
+
this.templateByQuery.set('getResource', gql `query($name: String!) {
|
|
10
|
+
$queryAlias$: getResource(name: $name){
|
|
11
|
+
name
|
|
12
|
+
resource
|
|
13
|
+
}
|
|
14
|
+
}`);
|
|
15
|
+
}
|
|
16
|
+
getResource(name, resourceID) {
|
|
17
|
+
const completPath = `cfg://app/${resourceID}/${name}`;
|
|
18
|
+
return HttpFetcher.get().callGraphQL({ values: { "name": completPath }, query: this.templateByQuery.get("getResource") });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=application-config-fetcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application-config-fetcher.js","sourceRoot":"","sources":["../../../../src/http/data-fetcher/default/application-config-fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,OAAO,wBAAwB;IAIjC;QAFQ,oBAAe,GAAuB,IAAI,GAAG,EAAkB,CAAC;QAGpE,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAEO,aAAa;QACjB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC;;;;;UAK1C,CAAC,CAAC;IACR,CAAC;IAEM,WAAW,CAAC,IAAW,EAAE,UAAiB;QAC7C,MAAM,WAAW,GAAG,aAAa,UAAU,IAAI,IAAI,EAAE,CAAC;QACtD,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,EAAG,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,EAAC,CAAC,CAAC;IAC9H,CAAC;CAEJ"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { UnitMetadata } from "../../../dataunit/metadata/UnitMetadata";
|
|
2
|
+
import DataUnit from "../../../dataunit/DataUnit";
|
|
3
|
+
export declare class DataUnitFetcher {
|
|
4
|
+
private templateByQuery;
|
|
5
|
+
constructor();
|
|
6
|
+
private buldTemplates;
|
|
7
|
+
getDataUnit(name: string, resourceID: string): Promise<UnitMetadata>;
|
|
8
|
+
static bindTo(dataUnit: DataUnit, resourceID: string): DataUnitFetcher;
|
|
9
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { HttpFetcher } from "../HttpFetcher";
|
|
2
|
+
import { gql } from 'graphql-request';
|
|
3
|
+
export class DataUnitFetcher {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.templateByQuery = new Map();
|
|
6
|
+
this.buldTemplates();
|
|
7
|
+
}
|
|
8
|
+
buldTemplates() {
|
|
9
|
+
this.templateByQuery.set('getDataUnit', gql `query($name: String!) {
|
|
10
|
+
$queryAlias$: getDataUnit(name: $name){
|
|
11
|
+
name,
|
|
12
|
+
cardinality,
|
|
13
|
+
fields{
|
|
14
|
+
name,
|
|
15
|
+
defaultValue,
|
|
16
|
+
label,
|
|
17
|
+
readOnly,
|
|
18
|
+
required,
|
|
19
|
+
dataType,
|
|
20
|
+
userInterface,
|
|
21
|
+
properties{
|
|
22
|
+
name,
|
|
23
|
+
value
|
|
24
|
+
},
|
|
25
|
+
dependencies{
|
|
26
|
+
masterFields,
|
|
27
|
+
type,
|
|
28
|
+
expression
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}`);
|
|
33
|
+
}
|
|
34
|
+
getDataUnit(name, resourceID) {
|
|
35
|
+
const completPath = `dd://${resourceID}/${name}`;
|
|
36
|
+
return HttpFetcher.get().callGraphQL({ values: { "name": completPath }, query: this.templateByQuery.get("getDataUnit") });
|
|
37
|
+
}
|
|
38
|
+
static bindTo(dataUnit, resourceID) {
|
|
39
|
+
const du = new DataUnitFetcher();
|
|
40
|
+
dataUnit.metadataLoader = (name) => du.getDataUnit(name, resourceID);
|
|
41
|
+
//TODO: Implementar bind dos demais métodos.
|
|
42
|
+
return du;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=dataunit-fetcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataunit-fetcher.js","sourceRoot":"","sources":["../../../../src/http/data-fetcher/default/dataunit-fetcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAGtC,MAAM,OAAO,eAAe;IAIxB;QAFQ,oBAAe,GAAuB,IAAI,GAAG,EAAkB,CAAC;QAGpE,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAEO,aAAa;QACjB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;YAuBxC,CAAC,CAAC;IACV,CAAC;IAEM,WAAW,CAAC,IAAW,EAAE,UAAiB;QAC7C,MAAM,WAAW,GAAG,QAAQ,UAAU,IAAI,IAAI,EAAE,CAAC;QACjD,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,EAAG,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,EAAC,CAAC,CAAC;IAC9H,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,QAAiB,EAAE,UAAiB;QACrD,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,QAAQ,CAAC,cAAc,GAAG,CAAC,IAAW,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5E,4CAA4C;QAC5C,OAAO,EAAE,CAAC;IACd,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-config-fetcher.js","sourceRoot":"","sources":["../../../../src/http/data-fetcher/default/form-config-fetcher.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAiB;CAE7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-config-fetcher.js","sourceRoot":"","sources":["../../../../src/http/data-fetcher/default/grid-config-fetcher.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAiB;CAE7B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare class LoadStateManager {
|
|
2
|
+
private static instanceByStatus;
|
|
3
|
+
private _state;
|
|
4
|
+
private _application;
|
|
5
|
+
private static listenersByType;
|
|
6
|
+
private constructor();
|
|
7
|
+
private onStatusChange;
|
|
8
|
+
private addListener;
|
|
9
|
+
onPreInitialize(listener: () => void): LoadStateManager;
|
|
10
|
+
onLoaded(listener: () => void): LoadStateManager;
|
|
11
|
+
getStatus(): LoadStatus;
|
|
12
|
+
isPreInitialize(): boolean;
|
|
13
|
+
isLoaded(): boolean;
|
|
14
|
+
static get(type?: LoadType): LoadStateManager;
|
|
15
|
+
}
|
|
16
|
+
export declare enum LoadStatus {
|
|
17
|
+
DOM_LOADED = "DOM_LOADED",
|
|
18
|
+
PRE_INITIALIZE = "PRE_INITIALIZE",
|
|
19
|
+
LOADED = "LOADED"
|
|
20
|
+
}
|
|
21
|
+
export declare enum LoadType {
|
|
22
|
+
APP_LOAD = "APP_LOAD"
|
|
23
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { Application } from './../../../application/Application';
|
|
11
|
+
export class LoadStateManager {
|
|
12
|
+
constructor() {
|
|
13
|
+
this._state = LoadStatus.DOM_LOADED;
|
|
14
|
+
this._application = Application.get();
|
|
15
|
+
this._application.onLoaded(() => {
|
|
16
|
+
this.onStatusChange(LoadStatus.LOADED);
|
|
17
|
+
});
|
|
18
|
+
this.onStatusChange(LoadStatus.PRE_INITIALIZE);
|
|
19
|
+
}
|
|
20
|
+
onStatusChange(newStatus) {
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
this._state = newStatus;
|
|
23
|
+
(LoadStateManager.listenersByType.get(newStatus) || []).forEach((listener) => {
|
|
24
|
+
listener();
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
addListener(status, listener) {
|
|
29
|
+
var _a;
|
|
30
|
+
if (!LoadStateManager.listenersByType.has(status)) {
|
|
31
|
+
LoadStateManager.listenersByType.set(status, []);
|
|
32
|
+
}
|
|
33
|
+
(_a = LoadStateManager.listenersByType.get(status)) === null || _a === void 0 ? void 0 : _a.push(listener);
|
|
34
|
+
if (status === this._state) {
|
|
35
|
+
listener();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
onPreInitialize(listener) {
|
|
39
|
+
this.addListener(LoadStatus.PRE_INITIALIZE, listener);
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
onLoaded(listener) {
|
|
43
|
+
this.addListener(LoadStatus.LOADED, listener);
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
getStatus() {
|
|
47
|
+
return this._state;
|
|
48
|
+
}
|
|
49
|
+
isPreInitialize() {
|
|
50
|
+
return this._state === LoadStatus.PRE_INITIALIZE;
|
|
51
|
+
}
|
|
52
|
+
isLoaded() {
|
|
53
|
+
return this._state === LoadStatus.LOADED;
|
|
54
|
+
}
|
|
55
|
+
static get(type = LoadType.APP_LOAD) {
|
|
56
|
+
if (!LoadStateManager.instanceByStatus.has(type)) {
|
|
57
|
+
LoadStateManager.instanceByStatus.set(type, new LoadStateManager());
|
|
58
|
+
}
|
|
59
|
+
return LoadStateManager.instanceByStatus.get(type) || new LoadStateManager();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
LoadStateManager.instanceByStatus = new Map();
|
|
63
|
+
LoadStateManager.listenersByType = new Map();
|
|
64
|
+
export var LoadStatus;
|
|
65
|
+
(function (LoadStatus) {
|
|
66
|
+
LoadStatus["DOM_LOADED"] = "DOM_LOADED";
|
|
67
|
+
LoadStatus["PRE_INITIALIZE"] = "PRE_INITIALIZE";
|
|
68
|
+
LoadStatus["LOADED"] = "LOADED";
|
|
69
|
+
})(LoadStatus || (LoadStatus = {}));
|
|
70
|
+
export var LoadType;
|
|
71
|
+
(function (LoadType) {
|
|
72
|
+
LoadType["APP_LOAD"] = "APP_LOAD";
|
|
73
|
+
})(LoadType || (LoadType = {}));
|
|
74
|
+
//# sourceMappingURL=LoadStateManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoadStateManager.js","sourceRoot":"","sources":["../../../../src/http/data-fetcher/state/LoadStateManager.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAEjE,MAAM,OAAO,gBAAgB;IAMzB;QAJQ,WAAM,GAAc,UAAU,CAAC,UAAU,CAAC;QAK9C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEtC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;IAEa,cAAc,CAAC,SAAoB;;YAC7C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,CAAC,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,QAAmB,EAAE,EAAE;gBACpF,QAAQ,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEO,WAAW,CAAC,MAAiB,EAAE,QAAmB;;QACtD,IAAG,CAAC,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAC;YAC7C,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACpD;QACD,MAAA,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,0CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAG,MAAM,KAAK,IAAI,CAAC,MAAM,EAAC;YACtB,QAAQ,EAAE,CAAC;SACd;IACL,CAAC;IAEM,eAAe,CAAC,QAAmB;QACtC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,QAAQ,CAAC,QAAmB;QAC/B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,cAAc,CAAC;IACrD,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,CAAC;IAC7C,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,OAAgB,QAAQ,CAAC,QAAQ;QAC/C,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC9C,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,gBAAgB,EAAE,CAAC,CAAC;SACvE;QACD,OAAO,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,gBAAgB,EAAE,CAAC;IACjF,CAAC;;AA3Dc,iCAAgB,GAAoC,IAAI,GAAG,EAA8B,CAAC;AAG1F,gCAAe,GAAuC,IAAI,GAAG,EAAiC,CAAC;AA2DlH,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,uCAAyB,CAAA;IACzB,+CAAiC,CAAA;IACjC,+BAAiB,CAAA;AACrB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,MAAM,CAAN,IAAY,QAEX;AAFD,WAAY,QAAQ;IAChB,iCAAqB,CAAA;AACzB,CAAC,EAFW,QAAQ,KAAR,QAAQ,QAEnB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,5 +11,10 @@ import { AuthorizedServiceCaller } from "./http/AuthorizedServiceCaller";
|
|
|
11
11
|
import DataUnit, { Record } from "./dataunit/DataUnit";
|
|
12
12
|
import { DataType } from "./dataunit/metadata/DataType";
|
|
13
13
|
import { UnitMetadata, FieldDescriptor, UserInterface } from "./dataunit/metadata/UnitMetadata";
|
|
14
|
+
import { HttpFetcher } from "./http/data-fetcher/HttpFetcher";
|
|
15
|
+
import { DataUnitFetcher } from "./http/data-fetcher/default/dataunit-fetcher";
|
|
16
|
+
import { ApplicationConfigFetcher } from "./http/data-fetcher/default/application-config-fetcher";
|
|
17
|
+
import { LoadStateManager, LoadStatus } from "./http/data-fetcher/state/LoadStateManager";
|
|
18
|
+
import { Application } from './application/Application';
|
|
14
19
|
import { DataUnitAction, Action } from "./dataunit/state/action/DataUnitAction";
|
|
15
|
-
export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, Record, DataType, UnitMetadata, FieldDescriptor, UserInterface, DataUnitAction, Action };
|
|
20
|
+
export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, Record, DataType, UnitMetadata, FieldDescriptor, UserInterface, HttpFetcher, LoadStateManager, LoadStatus, Application, DataUnitFetcher, ApplicationConfigFetcher, DataUnitAction, Action };
|
package/dist/index.js
CHANGED
|
@@ -11,7 +11,12 @@ import { AuthorizedServiceCaller } from "./http/AuthorizedServiceCaller";
|
|
|
11
11
|
import DataUnit from "./dataunit/DataUnit";
|
|
12
12
|
import { DataType } from "./dataunit/metadata/DataType";
|
|
13
13
|
import { UserInterface } from "./dataunit/metadata/UnitMetadata";
|
|
14
|
+
import { HttpFetcher } from "./http/data-fetcher/HttpFetcher";
|
|
15
|
+
import { DataUnitFetcher } from "./http/data-fetcher/default/dataunit-fetcher";
|
|
16
|
+
import { ApplicationConfigFetcher } from "./http/data-fetcher/default/application-config-fetcher";
|
|
17
|
+
import { LoadStateManager, LoadStatus } from "./http/data-fetcher/state/LoadStateManager";
|
|
18
|
+
import { Application } from './application/Application';
|
|
14
19
|
import { DataUnitAction, Action } from "./dataunit/state/action/DataUnitAction";
|
|
15
20
|
/*Classes públicas no pacote*/
|
|
16
|
-
export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, DataType, UserInterface, DataUnitAction, Action };
|
|
21
|
+
export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, DataType, UserInterface, HttpFetcher, LoadStateManager, LoadStatus, Application, DataUnitFetcher, ApplicationConfigFetcher, DataUnitAction, Action };
|
|
17
22
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,QAAkB,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAiC,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,wCAAwC,CAAC;AAEhF,8BAA8B;AAC9B,OAAO,EACH,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EACf,SAAS,EACT,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,QAAQ,EAER,QAAQ,EAGR,aAAa,EACb,cAAc,EACd,MAAM,EACT,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,QAAkB,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAiC,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,wCAAwC,CAAC;AAEhF,8BAA8B;AAC9B,OAAO,EACH,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EACf,SAAS,EACT,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,QAAQ,EAER,QAAQ,EAGR,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,cAAc,EACd,MAAM,EACT,CAAC"}
|
|
@@ -9,4 +9,10 @@ export declare class StringUtils {
|
|
|
9
9
|
* @param value String para ser validada.
|
|
10
10
|
*/
|
|
11
11
|
static isEmpty(value: any): Boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Remove acentos de vogais, substitui Ç por c e retorna a string em caixa alta.
|
|
14
|
+
*
|
|
15
|
+
* @param value String para ser transformada.
|
|
16
|
+
*/
|
|
17
|
+
static replaceAccentuatedChars(text: string): string;
|
|
12
18
|
}
|
|
@@ -19,5 +19,36 @@ export class StringUtils {
|
|
|
19
19
|
}
|
|
20
20
|
return false;
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Remove acentos de vogais, substitui Ç por c e retorna a string em caixa alta.
|
|
24
|
+
*
|
|
25
|
+
* @param value String para ser transformada.
|
|
26
|
+
*/
|
|
27
|
+
static replaceAccentuatedChars(text) {
|
|
28
|
+
text = text.toUpperCase();
|
|
29
|
+
text = text.replace(/[À]/, "A");
|
|
30
|
+
text = text.replace(/[Á]/, "A");
|
|
31
|
+
text = text.replace(/[Â]/, "A");
|
|
32
|
+
text = text.replace(/[Ã]/, "A");
|
|
33
|
+
text = text.replace(/[Ä]/, "A");
|
|
34
|
+
text = text.replace(/[È]/, "E");
|
|
35
|
+
text = text.replace(/[É]/, "E");
|
|
36
|
+
text = text.replace(/[Ê]/, "E");
|
|
37
|
+
text = text.replace(/[Ë]/, "E");
|
|
38
|
+
text = text.replace(/[Ì]/, "I");
|
|
39
|
+
text = text.replace(/[Í]/, "I");
|
|
40
|
+
text = text.replace(/[Î]/, "I");
|
|
41
|
+
text = text.replace(/[Ï]/, "I");
|
|
42
|
+
text = text.replace(/[Ò]/, "O");
|
|
43
|
+
text = text.replace(/[Ó]/, "O");
|
|
44
|
+
text = text.replace(/[Ô]/, "O");
|
|
45
|
+
text = text.replace(/[Ö]/, "O");
|
|
46
|
+
text = text.replace(/[Ù]/, "U");
|
|
47
|
+
text = text.replace(/[Ú]/, "U");
|
|
48
|
+
text = text.replace(/[Û]/, "U");
|
|
49
|
+
text = text.replace(/[Ü]/, "U");
|
|
50
|
+
text = text.replace(/[Ç]/, "C");
|
|
51
|
+
return text.replace(/[^a-z0-9]/gi, '');
|
|
52
|
+
}
|
|
22
53
|
}
|
|
23
54
|
//# sourceMappingURL=StringUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringUtils.js","sourceRoot":"","sources":["../../src/utils/StringUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,WAAW;IAEpB;;;;;MAKE;IACF,MAAM,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"StringUtils.js","sourceRoot":"","sources":["../../src/utils/StringUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,WAAW;IAEpB;;;;;MAKE;IACF,MAAM,CAAC,OAAO,CAAC,KAAU;QAErB,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YACtC,OAAO,IAAI,CAAC;SACf;QAED,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACzB,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAErB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD;;;;MAIE;IACF,MAAM,CAAC,uBAAuB,CAAC,IAAY;QACvC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;CAEJ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sankhyalabs/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.27",
|
|
4
4
|
"description": "Modulo core JavaScript da Sankhya.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
},
|
|
16
16
|
"author": "leonardo.jorge",
|
|
17
17
|
"license": "ISC",
|
|
18
|
-
"dependencies": {
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"graphql": "^16.3.0",
|
|
20
|
+
"graphql-request": "^4.2.0"
|
|
21
|
+
},
|
|
19
22
|
"devDependencies": {
|
|
20
23
|
"@types/jest": "^26.0.20",
|
|
21
24
|
"es-dev-server": "^1.60.2",
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export class Application{
|
|
2
|
+
private static instance:Application;
|
|
3
|
+
private static element:Element | null = null;
|
|
4
|
+
private constructor(){}
|
|
5
|
+
|
|
6
|
+
public static get():Application{
|
|
7
|
+
if(Application.instance === undefined){
|
|
8
|
+
Application.instance = new Application();
|
|
9
|
+
Application.element = document.querySelector('ez-application');
|
|
10
|
+
}
|
|
11
|
+
return Application.instance;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
public onLoaded(listener:Function):void{
|
|
15
|
+
Application.element?.addEventListener('applicationLoaded', () => listener());
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
public getResourceID():string{
|
|
19
|
+
return "br.com.sankhya.mge.cad.parceiro"; //TODO: Remover mock
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
}
|
package/src/dataunit/DataUnit.ts
CHANGED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { LoadStateManager, LoadType } from "./state/LoadStateManager";
|
|
2
|
+
import { DataType } from "./../../dataunit/metadata/DataType";
|
|
3
|
+
import { UserInterface } from "./../../dataunit/metadata/UnitMetadata";
|
|
4
|
+
import { batchRequests, BatchRequestDocument } from 'graphql-request';
|
|
5
|
+
|
|
6
|
+
export class HttpFetcher{
|
|
7
|
+
private static instance: HttpFetcher;
|
|
8
|
+
private static loadStateManager: LoadStateManager;
|
|
9
|
+
private static watingRequestsById: Map<string, WaitingRequest >= new Map<string, WaitingRequest>();
|
|
10
|
+
|
|
11
|
+
private constructor() {
|
|
12
|
+
HttpFetcher.loadStateManager = LoadStateManager.get(LoadType.APP_LOAD);
|
|
13
|
+
HttpFetcher.loadStateManager.onLoaded(this.onApplicationLoaded);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
public static get(): HttpFetcher {
|
|
17
|
+
if (!HttpFetcher.instance) {
|
|
18
|
+
HttpFetcher.instance = new HttpFetcher();
|
|
19
|
+
}
|
|
20
|
+
return HttpFetcher.instance;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public async callGraphQL(req:any):Promise<any>{
|
|
24
|
+
if(HttpFetcher.loadStateManager.isPreInitialize()){
|
|
25
|
+
const reqKey = this.getReqKey(req);
|
|
26
|
+
req.queryID = reqKey;
|
|
27
|
+
req.values.queryID = reqKey;
|
|
28
|
+
|
|
29
|
+
if(!HttpFetcher.watingRequestsById.has(reqKey)){
|
|
30
|
+
HttpFetcher.watingRequestsById.set(reqKey, new WaitingRequest(req));
|
|
31
|
+
}
|
|
32
|
+
return HttpFetcher.getWatingRequest(reqKey)?.promise;
|
|
33
|
+
}else{
|
|
34
|
+
//TODO: fazer chamada direta para graphQL
|
|
35
|
+
return new Promise(function(resolve){
|
|
36
|
+
const md = {
|
|
37
|
+
name: "dd://br.com.sankhya.cad.parceiro/Parceiro",
|
|
38
|
+
label: "Parceiro",
|
|
39
|
+
fields: [
|
|
40
|
+
{
|
|
41
|
+
name: "CODPARC",
|
|
42
|
+
label: "Cód. Parceiro",
|
|
43
|
+
dataType: DataType.NUMBER
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: "NOMEPARC",
|
|
47
|
+
label: "Nome",
|
|
48
|
+
dataType: DataType.TEXT,
|
|
49
|
+
userInterface: UserInterface.LONGTEXT,
|
|
50
|
+
required: true
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "P",
|
|
54
|
+
label: "pera",
|
|
55
|
+
dataType: DataType.TEXT,
|
|
56
|
+
userInterface: UserInterface.OPTIONSELECTOR,
|
|
57
|
+
properties: {options: `{"M": "Madura", "V": "Verde", "P": "Passada"}`}
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: "ME",
|
|
61
|
+
label: "ME",
|
|
62
|
+
dataType: DataType.NUMBER,
|
|
63
|
+
userInterface: UserInterface.DECIMALNUMBER,
|
|
64
|
+
properties: {precision: 4, prettyPrecision: 1}
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
setTimeout(() => resolve(md));
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
private getReqKey(req:any):string{
|
|
74
|
+
return window.btoa(this.hashCode(`${req.query}${JSON.stringify(req.values || "")}`)).replaceAll("=", "");
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
private static getQueryTemplate(re:any):string{
|
|
78
|
+
return (re.query || "").replaceAll("$queryAlias$", re.queryID);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
private static getWatingRequest(reqID:string):WaitingRequest|undefined{
|
|
82
|
+
return HttpFetcher.watingRequestsById.get(reqID);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
private async onApplicationLoaded():Promise<any>{
|
|
86
|
+
const requestsBatch:Array<BatchRequestDocument> = [];
|
|
87
|
+
|
|
88
|
+
HttpFetcher.watingRequestsById.forEach(async (waitingReq:WaitingRequest) => {
|
|
89
|
+
let query = HttpFetcher.getQueryTemplate(waitingReq.request);
|
|
90
|
+
requestsBatch.push({ document: query, variables: {...waitingReq.request.values } });
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
let res:any = undefined;
|
|
94
|
+
let dataResponse:Array<any> = [];
|
|
95
|
+
let errorsResponse:Array<any> = [];
|
|
96
|
+
|
|
97
|
+
try{
|
|
98
|
+
res = await batchRequests('http://localhost:8082/', requestsBatch);
|
|
99
|
+
res.forEach((resItem:any) => {
|
|
100
|
+
dataResponse.push(resItem.data);
|
|
101
|
+
});
|
|
102
|
+
}catch(err:any){
|
|
103
|
+
res = err.response;
|
|
104
|
+
const req:any = err.request;
|
|
105
|
+
Object.entries(res).forEach(([key, val]:Array<any>) => {
|
|
106
|
+
if(val.errors){
|
|
107
|
+
errorsResponse.push(val.errors.map((item:any) => {
|
|
108
|
+
item.request = req;
|
|
109
|
+
item.index = Number(key);
|
|
110
|
+
return item;
|
|
111
|
+
}));
|
|
112
|
+
}else if(val.data){
|
|
113
|
+
dataResponse.push(val.data);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
//Reject primises with errors from query
|
|
118
|
+
errorsResponse.forEach((errorResponse:any) => {
|
|
119
|
+
Object.entries(errorResponse).forEach(([key, val]:Array<any>) => {
|
|
120
|
+
(HttpFetcher.getWatingRequest(val.request.variables[val.index].queryID)?.reject || Promise.reject)(val);
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
//Resolve primises with data from query
|
|
124
|
+
dataResponse.forEach((data:any) => {
|
|
125
|
+
Object.entries(data).forEach(([key, val]:Array<any>) => {
|
|
126
|
+
(HttpFetcher.getWatingRequest(key)?.resolve || Promise.resolve)(val);
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
HttpFetcher.watingRequestsById.clear();
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
//TODO: Mover este metodo para o @sankhyalabs/core classe string utils.
|
|
133
|
+
private hashCode (txt:string):string {
|
|
134
|
+
var hash = 0, i, chr;
|
|
135
|
+
if (txt.length === 0) return hash.toString();
|
|
136
|
+
for (i = 0; i < txt.length; i++) {
|
|
137
|
+
chr = txt.charCodeAt(i);
|
|
138
|
+
hash = ((hash << 5) - hash) + chr;
|
|
139
|
+
hash |= 0; // Convert to 32bit integer
|
|
140
|
+
}
|
|
141
|
+
return hash.toString();
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
class WaitingRequest {
|
|
146
|
+
private _resolve: Function = () => {};
|
|
147
|
+
private _reject: Function = () => {};
|
|
148
|
+
private _promisse: Promise<any>;
|
|
149
|
+
private _request: any = undefined;
|
|
150
|
+
|
|
151
|
+
constructor(req:any){
|
|
152
|
+
this._request = req;
|
|
153
|
+
this._promisse = new Promise((resolve, reject) => {
|
|
154
|
+
this._resolve = resolve;
|
|
155
|
+
this._reject = reject;
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
public get resolve():Function{
|
|
160
|
+
return this._resolve;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
public get reject():Function{
|
|
164
|
+
return this._reject;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
public get promise():Promise<any>{
|
|
168
|
+
return this._promisse;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
public get request():any{
|
|
172
|
+
return this._request;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { gql } from 'graphql-request';
|
|
2
|
+
import { HttpFetcher } from '../HttpFetcher';
|
|
3
|
+
|
|
4
|
+
export class ApplicationConfigFetcher {
|
|
5
|
+
|
|
6
|
+
private templateByQuery:Map<string, string >= new Map<string, string>();
|
|
7
|
+
|
|
8
|
+
constructor(){
|
|
9
|
+
this.buldTemplates();
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
private buldTemplates():void{
|
|
13
|
+
this.templateByQuery.set('getResource', gql `query($name: String!) {
|
|
14
|
+
$queryAlias$: getResource(name: $name){
|
|
15
|
+
name
|
|
16
|
+
resource
|
|
17
|
+
}
|
|
18
|
+
}`);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
public getResource(name:string, resourceID:string):Promise<any>{
|
|
22
|
+
const completPath = `cfg://app/${resourceID}/${name}`;
|
|
23
|
+
return HttpFetcher.get().callGraphQL({ values : { "name": completPath }, query: this.templateByQuery.get("getResource")});
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { UnitMetadata } from "../../../dataunit/metadata/UnitMetadata";
|
|
2
|
+
import { HttpFetcher } from "../HttpFetcher";
|
|
3
|
+
import { gql } from 'graphql-request';
|
|
4
|
+
import DataUnit from "../../../dataunit/DataUnit";
|
|
5
|
+
|
|
6
|
+
export class DataUnitFetcher{
|
|
7
|
+
|
|
8
|
+
private templateByQuery:Map<string, string >= new Map<string, string>();
|
|
9
|
+
|
|
10
|
+
constructor(){
|
|
11
|
+
this.buldTemplates();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
private buldTemplates():void{
|
|
15
|
+
this.templateByQuery.set('getDataUnit', gql `query($name: String!) {
|
|
16
|
+
$queryAlias$: getDataUnit(name: $name){
|
|
17
|
+
name,
|
|
18
|
+
cardinality,
|
|
19
|
+
fields{
|
|
20
|
+
name,
|
|
21
|
+
defaultValue,
|
|
22
|
+
label,
|
|
23
|
+
readOnly,
|
|
24
|
+
required,
|
|
25
|
+
dataType,
|
|
26
|
+
userInterface,
|
|
27
|
+
properties{
|
|
28
|
+
name,
|
|
29
|
+
value
|
|
30
|
+
},
|
|
31
|
+
dependencies{
|
|
32
|
+
masterFields,
|
|
33
|
+
type,
|
|
34
|
+
expression
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}`);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public getDataUnit(name:string, resourceID:string):Promise<UnitMetadata>{
|
|
42
|
+
const completPath = `dd://${resourceID}/${name}`;
|
|
43
|
+
return HttpFetcher.get().callGraphQL({ values : { "name": completPath }, query: this.templateByQuery.get("getDataUnit")});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public static bindTo(dataUnit:DataUnit, resourceID:string):DataUnitFetcher{
|
|
47
|
+
const du = new DataUnitFetcher();
|
|
48
|
+
dataUnit.metadataLoader = (name:string) => du.getDataUnit(name, resourceID);
|
|
49
|
+
//TODO: Implementar bind dos demais métodos.
|
|
50
|
+
return du;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Application } from './../../../application/Application';
|
|
2
|
+
|
|
3
|
+
export class LoadStateManager {
|
|
4
|
+
private static instanceByStatus: Map<LoadType, LoadStateManager> = new Map<LoadType, LoadStateManager>();
|
|
5
|
+
private _state:LoadStatus = LoadStatus.DOM_LOADED;
|
|
6
|
+
private _application:Application;
|
|
7
|
+
private static listenersByType: Map<LoadStatus, Array<() => void>> = new Map<LoadStatus, Array<() => void>>();
|
|
8
|
+
|
|
9
|
+
private constructor() {
|
|
10
|
+
this._application = Application.get();
|
|
11
|
+
|
|
12
|
+
this._application.onLoaded(() => {
|
|
13
|
+
this.onStatusChange(LoadStatus.LOADED);
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
this.onStatusChange(LoadStatus.PRE_INITIALIZE);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
private async onStatusChange(newStatus:LoadStatus){
|
|
20
|
+
this._state = newStatus;
|
|
21
|
+
(LoadStateManager.listenersByType.get(newStatus) || []).forEach((listener:() => void) => {
|
|
22
|
+
listener();
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
private addListener(status:LoadStatus, listener:() => void){
|
|
27
|
+
if(!LoadStateManager.listenersByType.has(status)){
|
|
28
|
+
LoadStateManager.listenersByType.set(status, []);
|
|
29
|
+
}
|
|
30
|
+
LoadStateManager.listenersByType.get(status)?.push(listener);
|
|
31
|
+
if(status === this._state){
|
|
32
|
+
listener();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
public onPreInitialize(listener:() => void):LoadStateManager{
|
|
37
|
+
this.addListener(LoadStatus.PRE_INITIALIZE, listener);
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public onLoaded(listener:() => void):LoadStateManager{
|
|
42
|
+
this.addListener(LoadStatus.LOADED, listener);
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public getStatus():LoadStatus{
|
|
47
|
+
return this._state;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
public isPreInitialize():boolean{
|
|
51
|
+
return this._state === LoadStatus.PRE_INITIALIZE;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public isLoaded():boolean{
|
|
55
|
+
return this._state === LoadStatus.LOADED;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
public static get(type:LoadType = LoadType.APP_LOAD): LoadStateManager{
|
|
59
|
+
if (!LoadStateManager.instanceByStatus.has(type)) {
|
|
60
|
+
LoadStateManager.instanceByStatus.set(type, new LoadStateManager());
|
|
61
|
+
}
|
|
62
|
+
return LoadStateManager.instanceByStatus.get(type) || new LoadStateManager();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export enum LoadStatus{
|
|
67
|
+
DOM_LOADED = "DOM_LOADED",
|
|
68
|
+
PRE_INITIALIZE = "PRE_INITIALIZE",
|
|
69
|
+
LOADED = "LOADED"
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export enum LoadType{
|
|
73
|
+
APP_LOAD = "APP_LOAD",
|
|
74
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -11,6 +11,11 @@ import { AuthorizedServiceCaller } from "./http/AuthorizedServiceCaller";
|
|
|
11
11
|
import DataUnit, {Record} from "./dataunit/DataUnit";
|
|
12
12
|
import { DataType } from "./dataunit/metadata/DataType";
|
|
13
13
|
import { UnitMetadata, FieldDescriptor, UserInterface } from "./dataunit/metadata/UnitMetadata";
|
|
14
|
+
import { HttpFetcher } from "./http/data-fetcher/HttpFetcher";
|
|
15
|
+
import { DataUnitFetcher } from "./http/data-fetcher/default/dataunit-fetcher";
|
|
16
|
+
import { ApplicationConfigFetcher } from "./http/data-fetcher/default/application-config-fetcher";
|
|
17
|
+
import { LoadStateManager, LoadStatus } from "./http/data-fetcher/state/LoadStateManager";
|
|
18
|
+
import { Application } from './application/Application';
|
|
14
19
|
import { DataUnitAction, Action } from "./dataunit/state/action/DataUnitAction";
|
|
15
20
|
|
|
16
21
|
/*Classes públicas no pacote*/
|
|
@@ -31,6 +36,12 @@ export {
|
|
|
31
36
|
UnitMetadata,
|
|
32
37
|
FieldDescriptor,
|
|
33
38
|
UserInterface,
|
|
39
|
+
HttpFetcher,
|
|
40
|
+
LoadStateManager,
|
|
41
|
+
LoadStatus,
|
|
42
|
+
Application,
|
|
43
|
+
DataUnitFetcher,
|
|
44
|
+
ApplicationConfigFetcher,
|
|
34
45
|
DataUnitAction,
|
|
35
46
|
Action
|
|
36
47
|
};
|
package/src/utils/StringUtils.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Classe com utiliários comuns para Strings.
|
|
3
3
|
*/
|
|
4
|
-
export class StringUtils{
|
|
4
|
+
export class StringUtils {
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Verifica se a string está vazia.
|
|
@@ -9,8 +9,8 @@ export class StringUtils{
|
|
|
9
9
|
*
|
|
10
10
|
* @param value String para ser validada.
|
|
11
11
|
*/
|
|
12
|
-
static isEmpty(value:any):Boolean {
|
|
13
|
-
|
|
12
|
+
static isEmpty(value: any): Boolean {
|
|
13
|
+
|
|
14
14
|
if (value == undefined || value === null) {
|
|
15
15
|
return true;
|
|
16
16
|
}
|
|
@@ -25,4 +25,37 @@ export class StringUtils{
|
|
|
25
25
|
return false;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Remove acentos de vogais, substitui Ç por c e retorna a string em caixa alta.
|
|
31
|
+
*
|
|
32
|
+
* @param value String para ser transformada.
|
|
33
|
+
*/
|
|
34
|
+
static replaceAccentuatedChars(text: string): string {
|
|
35
|
+
text = text.toUpperCase();
|
|
36
|
+
text = text.replace(/[À]/, "A");
|
|
37
|
+
text = text.replace(/[Á]/, "A");
|
|
38
|
+
text = text.replace(/[Â]/, "A");
|
|
39
|
+
text = text.replace(/[Ã]/, "A");
|
|
40
|
+
text = text.replace(/[Ä]/, "A");
|
|
41
|
+
text = text.replace(/[È]/, "E");
|
|
42
|
+
text = text.replace(/[É]/, "E");
|
|
43
|
+
text = text.replace(/[Ê]/, "E");
|
|
44
|
+
text = text.replace(/[Ë]/, "E");
|
|
45
|
+
text = text.replace(/[Ì]/, "I");
|
|
46
|
+
text = text.replace(/[Í]/, "I");
|
|
47
|
+
text = text.replace(/[Î]/, "I");
|
|
48
|
+
text = text.replace(/[Ï]/, "I");
|
|
49
|
+
text = text.replace(/[Ò]/, "O");
|
|
50
|
+
text = text.replace(/[Ó]/, "O");
|
|
51
|
+
text = text.replace(/[Ô]/, "O");
|
|
52
|
+
text = text.replace(/[Ö]/, "O");
|
|
53
|
+
text = text.replace(/[Ù]/, "U");
|
|
54
|
+
text = text.replace(/[Ú]/, "U");
|
|
55
|
+
text = text.replace(/[Û]/, "U");
|
|
56
|
+
text = text.replace(/[Ü]/, "U");
|
|
57
|
+
text = text.replace(/[Ç]/, "C");
|
|
58
|
+
return text.replace(/[^a-z0-9]/gi, '');
|
|
59
|
+
}
|
|
60
|
+
|
|
28
61
|
}
|
|
@@ -1,35 +1,44 @@
|
|
|
1
|
-
import {StringUtils} from '../../src/utils/StringUtils';
|
|
2
|
-
|
|
3
|
-
describe('StringUtils', function() {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
1
|
+
import { StringUtils } from '../../src/utils/StringUtils';
|
|
2
|
+
|
|
3
|
+
describe('StringUtils', function () {
|
|
4
|
+
|
|
5
|
+
it('valor vazio', function () {
|
|
6
|
+
let result = StringUtils.isEmpty('');
|
|
7
|
+
expect(result).toBe(true);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
it('valor em branco', function () {
|
|
11
|
+
let result = StringUtils.isEmpty(' ');
|
|
12
|
+
expect(result).toBe(true);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it('valor null', function () {
|
|
16
|
+
let result = StringUtils.isEmpty(null);
|
|
17
|
+
expect(result).toBe(true);
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('valor undefined', function () {
|
|
21
|
+
let result = StringUtils.isEmpty(undefined);
|
|
22
|
+
expect(result).toBe(true);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it('valor 0', function () {
|
|
26
|
+
let result = StringUtils.isEmpty('0');
|
|
27
|
+
expect(result).toBe(false);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it('com valor', function () {
|
|
31
|
+
let result = StringUtils.isEmpty('ab');
|
|
32
|
+
expect(result).toBe(false);
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
it('substitui vogais com acento por sem acento', function () {
|
|
36
|
+
let resultadoInputMaiusculo = StringUtils.replaceAccentuatedChars('ÁÀÂÃÄ');
|
|
37
|
+
expect(resultadoInputMaiusculo).toBe('AAAAA');
|
|
38
|
+
let resultInputMinusculo = StringUtils.replaceAccentuatedChars('áàâãä');
|
|
39
|
+
expect(resultInputMinusculo).toBe('AAAAA');
|
|
40
|
+
let resultInputCedilha = StringUtils.replaceAccentuatedChars('ç');
|
|
41
|
+
expect(resultInputCedilha).toBe('C');
|
|
42
|
+
});
|
|
34
43
|
|
|
35
44
|
});
|