@sankhyalabs/core 1.0.24 → 1.0.25

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.
Files changed (35) hide show
  1. package/dist/application/Application.d.ts +8 -0
  2. package/dist/application/Application.js +19 -0
  3. package/dist/application/Application.js.map +1 -0
  4. package/dist/dataunit/DataUnit.js.map +1 -1
  5. package/dist/http/data-fetcher/HttpFetcher.d.ts +13 -0
  6. package/dist/http/data-fetcher/HttpFetcher.js +174 -0
  7. package/dist/http/data-fetcher/HttpFetcher.js.map +1 -0
  8. package/dist/http/data-fetcher/default/application-config-fetcher.d.ts +6 -0
  9. package/dist/http/data-fetcher/default/application-config-fetcher.js +21 -0
  10. package/dist/http/data-fetcher/default/application-config-fetcher.js.map +1 -0
  11. package/dist/http/data-fetcher/default/dataunit-fetcher.d.ts +9 -0
  12. package/dist/http/data-fetcher/default/dataunit-fetcher.js +45 -0
  13. package/dist/http/data-fetcher/default/dataunit-fetcher.js.map +1 -0
  14. package/dist/http/data-fetcher/default/form-config-fetcher.d.ts +2 -0
  15. package/dist/http/data-fetcher/default/form-config-fetcher.js +3 -0
  16. package/dist/http/data-fetcher/default/form-config-fetcher.js.map +1 -0
  17. package/dist/http/data-fetcher/default/grid-config-fetcher.d.ts +2 -0
  18. package/dist/http/data-fetcher/default/grid-config-fetcher.js +3 -0
  19. package/dist/http/data-fetcher/default/grid-config-fetcher.js.map +1 -0
  20. package/dist/http/data-fetcher/state/LoadStateManager.d.ts +23 -0
  21. package/dist/http/data-fetcher/state/LoadStateManager.js +74 -0
  22. package/dist/http/data-fetcher/state/LoadStateManager.js.map +1 -0
  23. package/dist/index.d.ts +6 -1
  24. package/dist/index.js +6 -1
  25. package/dist/index.js.map +1 -1
  26. package/package.json +4 -2
  27. package/src/application/Application.ts +22 -0
  28. package/src/dataunit/DataUnit.ts +0 -1
  29. package/src/http/data-fetcher/HttpFetcher.ts +174 -0
  30. package/src/http/data-fetcher/default/application-config-fetcher.ts +26 -0
  31. package/src/http/data-fetcher/default/dataunit-fetcher.ts +52 -0
  32. package/src/http/data-fetcher/default/form-config-fetcher.ts +3 -0
  33. package/src/http/data-fetcher/default/grid-config-fetcher.ts +3 -0
  34. package/src/http/data-fetcher/state/LoadStateManager.ts +74 -0
  35. package/src/index.ts +11 -0
@@ -0,0 +1,8 @@
1
+ export declare class Application {
2
+ private static instance;
3
+ private static element;
4
+ private constructor();
5
+ static get(): Application;
6
+ onLoaded(listener: Function): void;
7
+ getResourceID(): string;
8
+ }
@@ -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,6 @@
1
+ export declare class ApplicationConfigFetcher {
2
+ private templateByQuery;
3
+ constructor();
4
+ private buldTemplates;
5
+ getResource(name: string, resourceID: string): Promise<any>;
6
+ }
@@ -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,2 @@
1
+ export declare class FormConfigFetcher {
2
+ }
@@ -0,0 +1,3 @@
1
+ export class FormConfigFetcher {
2
+ }
3
+ //# sourceMappingURL=form-config-fetcher.js.map
@@ -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,2 @@
1
+ export declare class GridConfigFetcher {
2
+ }
@@ -0,0 +1,3 @@
1
+ export class GridConfigFetcher {
2
+ }
3
+ //# sourceMappingURL=grid-config-fetcher.js.map
@@ -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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/core",
3
- "version": "1.0.24",
3
+ "version": "1.0.25",
4
4
  "description": "Modulo core JavaScript da Sankhya.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -23,6 +23,8 @@
23
23
  "semantic-release": "^15.0.0",
24
24
  "ts-jest": "^26.4.4",
25
25
  "ts-node": "^9.1.1",
26
- "typescript": "^4.1.3"
26
+ "typescript": "^4.1.3",
27
+ "graphql": "^16.3.0",
28
+ "graphql-request": "^4.2.0"
27
29
  }
28
30
  }
@@ -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
+ }
@@ -234,7 +234,6 @@ export default class DataUnit {
234
234
  public unsubscribe(observer: Function) {
235
235
  this._observers = this._observers.filter(f => f !== observer);
236
236
  }
237
-
238
237
  }
239
238
 
240
239
  export interface Record {
@@ -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,3 @@
1
+ export class FormConfigFetcher {
2
+
3
+ }
@@ -0,0 +1,3 @@
1
+ export class GridConfigFetcher {
2
+
3
+ }
@@ -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
  };