@sankhyalabs/core 1.0.32 → 1.0.35

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 (30) hide show
  1. package/dist/dataunit/DataUnit.d.ts +12 -3
  2. package/dist/dataunit/DataUnit.js +38 -7
  3. package/dist/dataunit/DataUnit.js.map +1 -1
  4. package/dist/dataunit/state/StateManager.js +0 -12
  5. package/dist/dataunit/state/StateManager.js.map +1 -1
  6. package/dist/dataunit/state/action/DataUnitAction.d.ts +1 -0
  7. package/dist/dataunit/state/action/DataUnitAction.js +1 -0
  8. package/dist/dataunit/state/action/DataUnitAction.js.map +1 -1
  9. package/dist/dataunit/state/slice/AddedRecordsSlice.js +1 -0
  10. package/dist/dataunit/state/slice/AddedRecordsSlice.js.map +1 -1
  11. package/dist/dataunit/state/slice/SelectionSlice.js +1 -0
  12. package/dist/dataunit/state/slice/SelectionSlice.js.map +1 -1
  13. package/dist/index.d.ts +2 -4
  14. package/dist/index.js +1 -3
  15. package/dist/index.js.map +1 -1
  16. package/package.json +1 -1
  17. package/src/dataunit/DataUnit.ts +51 -11
  18. package/src/dataunit/state/StateManager.ts +0 -11
  19. package/src/dataunit/state/action/DataUnitAction.ts +1 -0
  20. package/src/dataunit/state/slice/AddedRecordsSlice.ts +1 -0
  21. package/src/dataunit/state/slice/SelectionSlice.ts +1 -0
  22. package/src/index.ts +3 -7
  23. package/dist/http/data-fetcher/HttpFetcher.d.ts +0 -14
  24. package/dist/http/data-fetcher/HttpFetcher.js +0 -164
  25. package/dist/http/data-fetcher/HttpFetcher.js.map +0 -1
  26. package/dist/http/data-fetcher/state/LoadStateManager.d.ts +0 -23
  27. package/dist/http/data-fetcher/state/LoadStateManager.js +0 -78
  28. package/dist/http/data-fetcher/state/LoadStateManager.js.map +0 -1
  29. package/src/http/data-fetcher/HttpFetcher.ts +0 -164
  30. package/src/http/data-fetcher/state/LoadStateManager.ts +0 -74
@@ -6,9 +6,10 @@ export default class DataUnit {
6
6
  private _sortingProvider?;
7
7
  private _filterProviders;
8
8
  private _stateManager;
9
- metadataLoader?: (dataUnit: string) => Promise<UnitMetadata>;
10
- dataLoader?: (dataUnit: string, sort?: Array<Sort>, filters?: Array<Filter>) => Promise<Array<Record>>;
11
- saveLoader?: (dataUnit: string, changes: Array<Change>) => Promise<Array<SavedRecord>>;
9
+ private _interceptors;
10
+ metadataLoader?: (dataUnit: DataUnit) => Promise<UnitMetadata>;
11
+ dataLoader?: (dataUnit: DataUnit, sort?: Array<Sort>, filters?: Array<Filter>) => Promise<Array<Record>>;
12
+ saveLoader?: (dataUnit: DataUnit, changes: Array<Change>) => Promise<Array<SavedRecord>>;
12
13
  constructor(name: string);
13
14
  get name(): string;
14
15
  private validateAndTypeValue;
@@ -17,6 +18,8 @@ export default class DataUnit {
17
18
  loadMetadata(): Promise<UnitMetadata>;
18
19
  loadData(): Promise<Array<Record>>;
19
20
  saveData(): Promise<void>;
21
+ valueFromString(fieldName: string, value: string): any;
22
+ addInterceptor(interceptor: DUActionInterceptor): void;
20
23
  addFilterProvider(provider: FilterProvider): void;
21
24
  set sortingProvider(provider: SortingProvider);
22
25
  set metadata(md: UnitMetadata);
@@ -25,12 +28,14 @@ export default class DataUnit {
25
28
  get records(): Array<Record>;
26
29
  getField(fieldName: string): FieldDescriptor | undefined;
27
30
  addRecord(): void;
31
+ copySelected(): void;
28
32
  removeSelectedRecords(): void;
29
33
  getFieldValue(fieldName: string): any;
30
34
  setFieldValue(fieldName: string, newValue: any, records?: Array<string>): void;
31
35
  getSelection(): Array<string>;
32
36
  setSelection(selection: Array<string>): void;
33
37
  setSelectionByIndex(selection: Array<number>): void;
38
+ getSelectedRecords(): Array<Record> | undefined;
34
39
  nextRecord(): void;
35
40
  previousRecord(): void;
36
41
  cancelEdition(): void;
@@ -41,10 +46,14 @@ export default class DataUnit {
41
46
  canRedo(): boolean;
42
47
  undo(): void;
43
48
  redo(): void;
49
+ toString(): string;
44
50
  private dispatchAction;
45
51
  subscribe(observer: (action: DataUnitAction) => void): void;
46
52
  unsubscribe(observer: Function): void;
47
53
  }
54
+ export interface DUActionInterceptor {
55
+ interceptAction(action: DataUnitAction): DataUnitAction;
56
+ }
48
57
  export interface Record {
49
58
  __record__id__: string;
50
59
  __parent__record__id__?: string;
@@ -34,6 +34,7 @@ export default class DataUnit {
34
34
  this._observers = [];
35
35
  this._filterProviders = [];
36
36
  this._sortingProvider = undefined;
37
+ this._interceptors = [];
37
38
  }
38
39
  get name() {
39
40
  return this._name;
@@ -63,7 +64,7 @@ export default class DataUnit {
63
64
  this.dispatchAction(Action.LOADING_METADATA);
64
65
  return new Promise((resolve, fail) => {
65
66
  if (this.metadataLoader) {
66
- this.metadataLoader(this._name).then(metadata => {
67
+ this.metadataLoader(this).then(metadata => {
67
68
  this.metadata = metadata;
68
69
  resolve(this.metadata);
69
70
  }).catch(error => fail(error));
@@ -78,7 +79,7 @@ export default class DataUnit {
78
79
  if (this.dataLoader) {
79
80
  const sort = this.getSort();
80
81
  const filters = this.getFilters();
81
- this.dataLoader(this._name, sort, filters).then(records => {
82
+ this.dataLoader(this, sort, filters).then(records => {
82
83
  this.records = records;
83
84
  resolve(this.records);
84
85
  }).catch(error => fail(error));
@@ -93,7 +94,7 @@ export default class DataUnit {
93
94
  this.dispatchAction(Action.SAVING_DATA);
94
95
  return new Promise((resolve, fail) => {
95
96
  if (this.saveLoader) {
96
- this.saveLoader(this._name, changes).then(records => this.dispatchAction(Action.DATA_SAVED, { changes, records })).catch(error => fail(error));
97
+ this.saveLoader(this, changes).then(records => this.dispatchAction(Action.DATA_SAVED, { changes, records })).catch(error => fail(error));
97
98
  }
98
99
  });
99
100
  }
@@ -101,6 +102,13 @@ export default class DataUnit {
101
102
  });
102
103
  }
103
104
  // API
105
+ valueFromString(fieldName, value) {
106
+ const descriptor = this.getField(fieldName);
107
+ return descriptor ? convertType(descriptor.dataType, value) : value;
108
+ }
109
+ addInterceptor(interceptor) {
110
+ this._interceptors.push(interceptor);
111
+ }
104
112
  addFilterProvider(provider) {
105
113
  this._filterProviders.push(provider);
106
114
  }
@@ -126,6 +134,12 @@ export default class DataUnit {
126
134
  addRecord() {
127
135
  this.dispatchAction(Action.RECORDS_ADDED, prepareAddedRecordId(this._stateManager, [{}]));
128
136
  }
137
+ copySelected() {
138
+ const selectedRecords = this.getSelectedRecords();
139
+ if (selectedRecords) {
140
+ this.dispatchAction(Action.RECORDS_COPIED, prepareAddedRecordId(this._stateManager, selectedRecords));
141
+ }
142
+ }
129
143
  removeSelectedRecords() {
130
144
  const selection = getSelection(this._stateManager);
131
145
  if (selection) {
@@ -151,6 +165,13 @@ export default class DataUnit {
151
165
  setSelectionByIndex(selection) {
152
166
  this.dispatchAction(Action.SELECTION_CHANGED, { type: "index", selection });
153
167
  }
168
+ getSelectedRecords() {
169
+ const selection = this.getSelection();
170
+ if (selection) {
171
+ const currentRecords = this.records;
172
+ return currentRecords === null || currentRecords === void 0 ? void 0 : currentRecords.filter(r => selection.includes(r.__record__id__));
173
+ }
174
+ }
154
175
  nextRecord() {
155
176
  this.dispatchAction(Action.NEXT_SELECTED);
156
177
  }
@@ -181,12 +202,22 @@ export default class DataUnit {
181
202
  redo() {
182
203
  this.dispatchAction(Action.CHANGE_REDONE);
183
204
  }
205
+ toString() {
206
+ return this.name;
207
+ }
184
208
  // Actions / State manager
185
209
  dispatchAction(actionType, payload) {
186
- const action = new DataUnitAction(actionType, payload);
187
- //interceptor
188
- this._stateManager.process(action);
189
- this._observers.forEach(f => f(action));
210
+ var _a;
211
+ let action = new DataUnitAction(actionType, payload);
212
+ (_a = this._interceptors) === null || _a === void 0 ? void 0 : _a.forEach(interceptor => {
213
+ if (action) {
214
+ action = interceptor.interceptAction(action);
215
+ }
216
+ });
217
+ if (action) {
218
+ this._stateManager.process(action);
219
+ this._observers.forEach(f => f(action));
220
+ }
190
221
  }
191
222
  subscribe(observer) {
192
223
  this._observers.push(observer);
@@ -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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"}
@@ -26,7 +26,6 @@ export default class StateManager {
26
26
  }
27
27
  process(action) {
28
28
  const oldPresent = this._present;
29
- let hasChange = false;
30
29
  let hasHistChange = false;
31
30
  this._histClean = false;
32
31
  this._reducers.forEach(reducer => {
@@ -36,7 +35,6 @@ export default class StateManager {
36
35
  const newSlice = reducer.reduce(this, oldSlice, action);
37
36
  if (newSlice !== oldSlice) {
38
37
  this.updateSlice(sliceName, newSlice, isHistoric);
39
- hasChange = true;
40
38
  hasHistChange || (hasHistChange = isHistoric);
41
39
  }
42
40
  });
@@ -45,16 +43,6 @@ export default class StateManager {
45
43
  this._future = [];
46
44
  document.dispatchEvent(new CustomEvent("undoableAction", { detail: this }));
47
45
  }
48
- if (hasChange) {
49
- console.log(JSON.stringify(this, (_key, value) => {
50
- if (value instanceof Map) {
51
- return { dataType: "Map", value: Array.from(value.entries()) };
52
- }
53
- else {
54
- return value;
55
- }
56
- }, 3));
57
- }
58
46
  }
59
47
  select(sliceName, selector) {
60
48
  const isHistoric = this.isHistoric(sliceName);
@@ -1 +1 @@
1
- {"version":3,"file":"StateManager.js","sourceRoot":"","sources":["../../../src/dataunit/state/StateManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StateManager.js","sourceRoot":"","sources":["../../../src/dataunit/state/StateManager.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export declare enum Action {
15
15
  DATA_SAVED = "dataSaved",
16
16
  RECORDS_REMOVED = "recordsRemoved",
17
17
  RECORDS_ADDED = "recordsAdded",
18
+ RECORDS_COPIED = "recordsCopied",
18
19
  DATA_CHANGED = "dataChanged",
19
20
  EDITION_CANCELED = "editionCanceled",
20
21
  CHANGE_UNDONE = "changeUndone",
@@ -20,6 +20,7 @@ export var Action;
20
20
  Action["DATA_SAVED"] = "dataSaved";
21
21
  Action["RECORDS_REMOVED"] = "recordsRemoved";
22
22
  Action["RECORDS_ADDED"] = "recordsAdded";
23
+ Action["RECORDS_COPIED"] = "recordsCopied";
23
24
  Action["DATA_CHANGED"] = "dataChanged";
24
25
  Action["EDITION_CANCELED"] = "editionCanceled";
25
26
  Action["CHANGE_UNDONE"] = "changeUndone";
@@ -1 +1 @@
1
- {"version":3,"file":"DataUnitAction.js","sourceRoot":"","sources":["../../../../src/dataunit/state/action/DataUnitAction.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,cAAc;IAKvB,YAAY,IAAY,EAAE,OAAY;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ;AAED,MAAM,CAAN,IAAY,MAyBX;AAzBD,WAAY,MAAM;IAEd,8CAAoC,CAAA;IACpC,4CAAkC,CAAA;IAElC,sCAA4B,CAAA;IAC5B,oCAA0B,CAAA;IAE1B,oCAA0B,CAAA;IAC1B,kCAAwB,CAAA;IAExB,4CAAkC,CAAA;IAClC,wCAA8B,CAAA;IAC9B,sCAA4B,CAAA;IAE5B,8CAAoC,CAAA;IACpC,wCAA8B,CAAA;IAC9B,wCAA8B,CAAA;IAE9B,gDAAsC,CAAA;IACtC,wCAA8B,CAAA;IAC9B,gDAAsC,CAAA;IAEtC,wCAA8B,CAAA;AAElC,CAAC,EAzBW,MAAM,KAAN,MAAM,QAyBjB"}
1
+ {"version":3,"file":"DataUnitAction.js","sourceRoot":"","sources":["../../../../src/dataunit/state/action/DataUnitAction.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,cAAc;IAKvB,YAAY,IAAY,EAAE,OAAY;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ;AAED,MAAM,CAAN,IAAY,MA0BX;AA1BD,WAAY,MAAM;IAEd,8CAAoC,CAAA;IACpC,4CAAkC,CAAA;IAElC,sCAA4B,CAAA;IAC5B,oCAA0B,CAAA;IAE1B,oCAA0B,CAAA;IAC1B,kCAAwB,CAAA;IAExB,4CAAkC,CAAA;IAClC,wCAA8B,CAAA;IAC9B,0CAAgC,CAAA;IAChC,sCAA4B,CAAA;IAE5B,8CAAoC,CAAA;IACpC,wCAA8B,CAAA;IAC9B,wCAA8B,CAAA;IAE9B,gDAAsC,CAAA;IACtC,wCAA8B,CAAA;IAC9B,gDAAsC,CAAA;IAEtC,wCAA8B,CAAA;AAElC,CAAC,EA1BW,MAAM,KAAN,MAAM,QA0BjB"}
@@ -6,6 +6,7 @@ class AddedRecordsReducerImpl {
6
6
  reduce(_stateManager, currentState, action) {
7
7
  switch (action.type) {
8
8
  case Action.RECORDS_ADDED:
9
+ case Action.RECORDS_COPIED:
9
10
  return (currentState || []).concat(action.payload);
10
11
  case Action.DATA_SAVED:
11
12
  case Action.EDITION_CANCELED:
@@ -1 +1 @@
1
- {"version":3,"file":"AddedRecordsSlice.js","sourceRoot":"","sources":["../../../../src/dataunit/state/slice/AddedRecordsSlice.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAIlD,MAAM,uBAAuB;IAA7B;QAEW,cAAS,GAAW,oBAAoB,CAAC;IAYpD,CAAC;IAVU,MAAM,CAAC,aAA0B,EAAE,YAA2B,EAAE,MAAmB;QACtF,QAAO,MAAM,CAAC,IAAI,EAAC;YACf,KAAK,MAAM,CAAC,aAAa;gBACrB,OAAO,CAAC,YAAY,IAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrD,KAAK,MAAM,CAAC,UAAU,CAAC;YACvB,KAAK,MAAM,CAAC,gBAAgB;gBACxB,OAAO,SAAS,CAAC;SACxB;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,uBAAuB,EAAE,CAAC;AAEjE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAA0B,EAAiB,EAAE;IACzE,OAAO,YAAY,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAC/F,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAA0B,EAAE,MAAkB,EAAiB,EAAE;IAClG,IAAI,KAAK,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,IAAE,EAAE,CAAC,CAAC,MAAM,CAAC;IACvD,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAA,EAAE,GAAC,uCAAW,IAAI,KAAE,cAAc,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,IAAC,CAAA,CAAC,CAAC,CAAC;AACpF,CAAC,CAAC"}
1
+ {"version":3,"file":"AddedRecordsSlice.js","sourceRoot":"","sources":["../../../../src/dataunit/state/slice/AddedRecordsSlice.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAIlD,MAAM,uBAAuB;IAA7B;QAEW,cAAS,GAAW,oBAAoB,CAAC;IAapD,CAAC;IAXU,MAAM,CAAC,aAA0B,EAAE,YAA2B,EAAE,MAAmB;QACtF,QAAO,MAAM,CAAC,IAAI,EAAC;YACf,KAAK,MAAM,CAAC,aAAa,CAAC;YAC1B,KAAK,MAAM,CAAC,cAAc;gBACtB,OAAO,CAAC,YAAY,IAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrD,KAAK,MAAM,CAAC,UAAU,CAAC;YACvB,KAAK,MAAM,CAAC,gBAAgB;gBACxB,OAAO,SAAS,CAAC;SACxB;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,uBAAuB,EAAE,CAAC;AAEjE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAA0B,EAAiB,EAAE;IACzE,OAAO,YAAY,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAC/F,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAA0B,EAAE,MAAkB,EAAiB,EAAE;IAClG,IAAI,KAAK,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,IAAE,EAAE,CAAC,CAAC,MAAM,CAAC;IACvD,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAA,EAAE,GAAC,uCAAW,IAAI,KAAE,cAAc,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,IAAC,CAAA,CAAC,CAAC,CAAC;AACpF,CAAC,CAAC"}
@@ -7,6 +7,7 @@ class SelectionReducerImpl {
7
7
  reduce(stateManager, currentState, action) {
8
8
  switch (action.type) {
9
9
  case Action.RECORDS_ADDED:
10
+ case Action.RECORDS_COPIED:
10
11
  return action.payload.map((r) => r.__record__id__);
11
12
  case Action.DATA_SAVED:
12
13
  return updateSavedIds(stateManager, action.payload.records);
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionSlice.js","sourceRoot":"","sources":["../../../../src/dataunit/state/slice/SelectionSlice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectionSlice.js","sourceRoot":"","sources":["../../../../src/dataunit/state/slice/SelectionSlice.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,10 +8,8 @@ import { HttpProvider } from "./http/HttpProvider";
8
8
  import { SkwHttpProvider } from "./http/SkwHttpProvider";
9
9
  import { RequestMetadata } from "./http/RequestMetadata";
10
10
  import { AuthorizedServiceCaller } from "./http/AuthorizedServiceCaller";
11
- import DataUnit, { SavedRecord, Record, Change, ChangeOperation } from "./dataunit/DataUnit";
11
+ import DataUnit, { SavedRecord, Record, Change, ChangeOperation, DUActionInterceptor } from "./dataunit/DataUnit";
12
12
  import { DataType } from "./dataunit/metadata/DataType";
13
13
  import { UnitMetadata, FieldDescriptor, UserInterface, Sort, Filter } from "./dataunit/metadata/UnitMetadata";
14
- import { HttpFetcher } from "./http/data-fetcher/HttpFetcher";
15
- import { LoadStateManager, LoadStatus } from "./http/data-fetcher/state/LoadStateManager";
16
14
  import { DataUnitAction, Action } from "./dataunit/state/action/DataUnitAction";
17
- export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, Record, SavedRecord, DataType, UnitMetadata, FieldDescriptor, UserInterface, HttpFetcher, LoadStateManager, LoadStatus, DataUnitAction, Action, Change, Sort, Filter, ChangeOperation };
15
+ export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, Record, SavedRecord, DataType, UnitMetadata, FieldDescriptor, UserInterface, DataUnitAction, Action, Change, Sort, Filter, ChangeOperation, DUActionInterceptor };
package/dist/index.js CHANGED
@@ -11,9 +11,7 @@ import { AuthorizedServiceCaller } from "./http/AuthorizedServiceCaller";
11
11
  import DataUnit, { Change, ChangeOperation } 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 { LoadStateManager, LoadStatus } from "./http/data-fetcher/state/LoadStateManager";
16
14
  import { DataUnitAction, Action } from "./dataunit/state/action/DataUnitAction";
17
15
  /*Classes públicas no pacote*/
18
- export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, DataType, UserInterface, HttpFetcher, LoadStateManager, LoadStatus, DataUnitAction, Action, Change, ChangeOperation };
16
+ export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, DataType, UserInterface, DataUnitAction, Action, Change, ChangeOperation };
19
17
  //# 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,QAAQ,EAAE,EAAsB,MAAM,EAAE,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAiC,aAAa,EAAgB,MAAM,kCAAkC,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAC1F,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,EAGR,QAAQ,EAGR,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,MAAM,EACN,MAAM,EAGN,eAAe,EAClB,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,QAAQ,EAAE,EAAsB,MAAM,EAAE,eAAe,EAAsB,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAiC,aAAa,EAAgB,MAAM,kCAAkC,CAAC;AAC9G,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,EAGR,QAAQ,EAGR,aAAa,EACb,cAAc,EACd,MAAM,EACN,MAAM,EAGN,eAAe,EAElB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/core",
3
- "version": "1.0.32",
3
+ "version": "1.0.35",
4
4
  "description": "Modulo core JavaScript da Sankhya.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -13,7 +13,6 @@ import { RemovedRecordsReducer } from "./state/slice/RemovedRecordsSlice";
13
13
  import { AddedRecordsReducer, prepareAddedRecordId } from "./state/slice/AddedRecordsSlice";
14
14
  import { CurrentRecordsReducer, getCurrentRecords, getFieldValue } from "./state/slice/CurrentRecordsSlice";
15
15
 
16
-
17
16
  export default class DataUnit {
18
17
 
19
18
  private _name: string;
@@ -21,10 +20,11 @@ export default class DataUnit {
21
20
  private _sortingProvider?: SortingProvider;
22
21
  private _filterProviders: Array<FilterProvider>;
23
22
  private _stateManager: StateManager;
23
+ private _interceptors: Array<DUActionInterceptor>;
24
24
 
25
- public metadataLoader?: (dataUnit: string) => Promise<UnitMetadata>;
26
- public dataLoader?: (dataUnit: string, sort?: Array<Sort>, filters?: Array<Filter>) => Promise<Array<Record>>;
27
- public saveLoader?: (dataUnit: string, changes: Array<Change>) => Promise<Array<SavedRecord>>;
25
+ public metadataLoader?: (dataUnit: DataUnit) => Promise<UnitMetadata>;
26
+ public dataLoader?: (dataUnit: DataUnit, sort?: Array<Sort>, filters?: Array<Filter>) => Promise<Array<Record>>;
27
+ public saveLoader?: (dataUnit: DataUnit, changes: Array<Change>) => Promise<Array<SavedRecord>>;
28
28
 
29
29
  constructor(name: string) {
30
30
  this._name = name;
@@ -43,6 +43,7 @@ export default class DataUnit {
43
43
  this._observers = [];
44
44
  this._filterProviders = [];
45
45
  this._sortingProvider = undefined;
46
+ this._interceptors = [];
46
47
  }
47
48
 
48
49
  public get name(): string {
@@ -76,7 +77,7 @@ export default class DataUnit {
76
77
  this.dispatchAction(Action.LOADING_METADATA);
77
78
  return new Promise((resolve, fail) => {
78
79
  if (this.metadataLoader) {
79
- this.metadataLoader(this._name).then(
80
+ this.metadataLoader(this).then(
80
81
  metadata => {
81
82
  this.metadata = metadata
82
83
  resolve(this.metadata);
@@ -92,7 +93,7 @@ export default class DataUnit {
92
93
  if (this.dataLoader) {
93
94
  const sort = this.getSort();
94
95
  const filters = this.getFilters();
95
- this.dataLoader(this._name, sort, filters).then(
96
+ this.dataLoader(this, sort, filters).then(
96
97
  records => {
97
98
  this.records = records;
98
99
  resolve(this.records);
@@ -110,7 +111,7 @@ export default class DataUnit {
110
111
  this.dispatchAction(Action.SAVING_DATA);
111
112
  return new Promise((resolve, fail) => {
112
113
  if (this.saveLoader) {
113
- this.saveLoader(this._name, changes).then(
114
+ this.saveLoader(this, changes).then(
114
115
  records => this.dispatchAction(Action.DATA_SAVED, { changes, records })
115
116
  ).catch(error => fail(error));
116
117
  }
@@ -120,6 +121,15 @@ export default class DataUnit {
120
121
  }
121
122
 
122
123
  // API
124
+ public valueFromString(fieldName: string, value: string): any {
125
+ const descriptor: FieldDescriptor | undefined = this.getField(fieldName);
126
+ return descriptor ? convertType(descriptor.dataType, value) : value;
127
+ }
128
+
129
+ public addInterceptor(interceptor: DUActionInterceptor): void {
130
+ this._interceptors.push(interceptor);
131
+ }
132
+
123
133
  public addFilterProvider(provider: FilterProvider): void {
124
134
  this._filterProviders.push(provider);
125
135
  }
@@ -153,6 +163,13 @@ export default class DataUnit {
153
163
  this.dispatchAction(Action.RECORDS_ADDED, prepareAddedRecordId(this._stateManager, [{}]));
154
164
  }
155
165
 
166
+ public copySelected(): void{
167
+ const selectedRecords = this.getSelectedRecords();
168
+ if(selectedRecords){
169
+ this.dispatchAction(Action.RECORDS_COPIED, prepareAddedRecordId(this._stateManager, selectedRecords));
170
+ }
171
+ }
172
+
156
173
  public removeSelectedRecords(): void {
157
174
  const selection = getSelection(this._stateManager);
158
175
  if (selection) {
@@ -186,6 +203,14 @@ export default class DataUnit {
186
203
  this.dispatchAction(Action.SELECTION_CHANGED, { type: "index", selection });
187
204
  }
188
205
 
206
+ public getSelectedRecords(): Array<Record>|undefined{
207
+ const selection: Array<string> = this.getSelection();
208
+ if(selection){
209
+ const currentRecords: Array<Record> = this.records;
210
+ return currentRecords?.filter(r => selection.includes(r.__record__id__));
211
+ }
212
+ }
213
+
189
214
  public nextRecord(): void {
190
215
  this.dispatchAction(Action.NEXT_SELECTED);
191
216
  }
@@ -226,13 +251,24 @@ export default class DataUnit {
226
251
  this.dispatchAction(Action.CHANGE_REDONE);
227
252
  }
228
253
 
254
+ public toString(){
255
+ return this.name;
256
+ }
257
+
229
258
  // Actions / State manager
230
259
  private dispatchAction(actionType: Action, payload?: any): void {
231
- const action = new DataUnitAction(actionType, payload);
260
+ let action = new DataUnitAction(actionType, payload);
261
+
262
+ this._interceptors?.forEach(interceptor => {
263
+ if(action){
264
+ action = interceptor.interceptAction(action);
265
+ }
266
+ });
232
267
 
233
- //interceptor
234
- this._stateManager.process(action);
235
- this._observers.forEach(f => f(action));
268
+ if(action){
269
+ this._stateManager.process(action);
270
+ this._observers.forEach(f => f(action));
271
+ }
236
272
  }
237
273
 
238
274
  public subscribe(observer: (action: DataUnitAction) => void) {
@@ -244,6 +280,10 @@ export default class DataUnit {
244
280
  }
245
281
  }
246
282
 
283
+ export interface DUActionInterceptor{
284
+ interceptAction(action: DataUnitAction): DataUnitAction;
285
+ }
286
+
247
287
  export interface Record {
248
288
  __record__id__: string;
249
289
  __parent__record__id__?: string;
@@ -33,7 +33,6 @@ export default class StateManager {
33
33
  public process(action: StateAction) {
34
34
 
35
35
  const oldPresent: any = this._present;
36
- let hasChange: boolean = false;
37
36
  let hasHistChange: boolean = false;
38
37
  this._histClean = false;
39
38
 
@@ -45,7 +44,6 @@ export default class StateManager {
45
44
  const newSlice = reducer.reduce(this, oldSlice, action);
46
45
  if (newSlice !== oldSlice) {
47
46
  this.updateSlice(sliceName, newSlice, isHistoric);
48
- hasChange = true;
49
47
  hasHistChange ||= isHistoric;
50
48
  }
51
49
  }
@@ -57,15 +55,6 @@ export default class StateManager {
57
55
  document.dispatchEvent(new CustomEvent("undoableAction", { detail: this }))
58
56
  }
59
57
 
60
- if (hasChange) {
61
- console.log(JSON.stringify(this, (_key, value) => {
62
- if (value instanceof Map) {
63
- return { dataType: "Map", value: Array.from(value.entries()) };
64
- } else {
65
- return value;
66
- }
67
- }, 3));
68
- }
69
58
  }
70
59
 
71
60
  public select(sliceName: string, selector: (state: any) => any): any {
@@ -33,6 +33,7 @@ export enum Action{
33
33
 
34
34
  RECORDS_REMOVED = "recordsRemoved",
35
35
  RECORDS_ADDED = "recordsAdded",
36
+ RECORDS_COPIED = "recordsCopied",
36
37
  DATA_CHANGED = "dataChanged",
37
38
 
38
39
  EDITION_CANCELED = "editionCanceled",
@@ -11,6 +11,7 @@ class AddedRecordsReducerImpl implements ActionReducer{
11
11
  public reduce(_stateManager:StateManager, currentState: Array<Record>, action: StateAction): Array<Record>|undefined {
12
12
  switch(action.type){
13
13
  case Action.RECORDS_ADDED:
14
+ case Action.RECORDS_COPIED:
14
15
  return (currentState||[]).concat(action.payload);
15
16
  case Action.DATA_SAVED:
16
17
  case Action.EDITION_CANCELED:
@@ -13,6 +13,7 @@ class SelectionReducerImpl implements ActionReducer {
13
13
  switch (action.type) {
14
14
 
15
15
  case Action.RECORDS_ADDED:
16
+ case Action.RECORDS_COPIED:
16
17
  return action.payload.map((r: Record)=>r.__record__id__);
17
18
  case Action.DATA_SAVED:
18
19
  return updateSavedIds(stateManager, action.payload.records);
package/src/index.ts CHANGED
@@ -8,11 +8,9 @@ import { HttpProvider } from "./http/HttpProvider";
8
8
  import { SkwHttpProvider } from "./http/SkwHttpProvider";
9
9
  import { RequestMetadata } from "./http/RequestMetadata";
10
10
  import { AuthorizedServiceCaller } from "./http/AuthorizedServiceCaller";
11
- import DataUnit, {SavedRecord, Record, Change, ChangeOperation} from "./dataunit/DataUnit";
11
+ import DataUnit, {SavedRecord, Record, Change, ChangeOperation, DUActionInterceptor} from "./dataunit/DataUnit";
12
12
  import { DataType } from "./dataunit/metadata/DataType";
13
13
  import { UnitMetadata, FieldDescriptor, UserInterface, Sort, Filter } from "./dataunit/metadata/UnitMetadata";
14
- import { HttpFetcher } from "./http/data-fetcher/HttpFetcher";
15
- import { LoadStateManager, LoadStatus } from "./http/data-fetcher/state/LoadStateManager";
16
14
  import { DataUnitAction, Action } from "./dataunit/state/action/DataUnitAction";
17
15
 
18
16
  /*Classes públicas no pacote*/
@@ -34,13 +32,11 @@ export {
34
32
  UnitMetadata,
35
33
  FieldDescriptor,
36
34
  UserInterface,
37
- HttpFetcher,
38
- LoadStateManager,
39
- LoadStatus,
40
35
  DataUnitAction,
41
36
  Action,
42
37
  Change,
43
38
  Sort,
44
39
  Filter,
45
- ChangeOperation
40
+ ChangeOperation,
41
+ DUActionInterceptor
46
42
  };
@@ -1,14 +0,0 @@
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 static fecthGrapql;
13
- private hashCode;
14
- }
@@ -1,164 +0,0 @@
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 { batchRequests } from 'graphql-request';
12
- export class HttpFetcher {
13
- constructor() {
14
- HttpFetcher.loadStateManager = LoadStateManager.get(LoadType.APP_LOAD);
15
- HttpFetcher.loadStateManager.onLoaded(this.onApplicationLoaded);
16
- }
17
- static get() {
18
- if (!HttpFetcher.instance) {
19
- HttpFetcher.instance = new HttpFetcher();
20
- }
21
- return HttpFetcher.instance;
22
- }
23
- callGraphQL(req) {
24
- var _a;
25
- return __awaiter(this, void 0, void 0, function* () {
26
- const reqKey = this.getReqKey(req);
27
- req.queryID = reqKey;
28
- req.values.queryID = reqKey;
29
- if (HttpFetcher.loadStateManager.isPreInitialize()) {
30
- if (!HttpFetcher.watingRequestsById.has(reqKey)) {
31
- HttpFetcher.watingRequestsById.set(reqKey, new WaitingRequest(req));
32
- }
33
- return (_a = HttpFetcher.getWatingRequest(reqKey)) === null || _a === void 0 ? void 0 : _a.promise;
34
- }
35
- else {
36
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
37
- let query = HttpFetcher.getQueryTemplate(req);
38
- const res = yield HttpFetcher.fecthGrapql([{ document: query, variables: req.values }]);
39
- if (res.errors.length > 0) {
40
- reject(res);
41
- }
42
- else {
43
- //resolve(res);
44
- //FIXME: Precisamos trabalhar melhor a resposta, quem chamou
45
- //a API não pode ficar responsavel por desempacotar... fiz uma
46
- //gambiarra aqui...
47
- resolve(res.data[0][reqKey]);
48
- }
49
- }));
50
- }
51
- });
52
- }
53
- getReqKey(req) {
54
- return window.btoa(this.hashCode(`${req.query}${JSON.stringify(req.values || "")}`)).replaceAll("=", "");
55
- }
56
- static getQueryTemplate(re) {
57
- return (re.query || "").replaceAll("$queryAlias$", re.queryID);
58
- }
59
- static getWatingRequest(reqID) {
60
- return HttpFetcher.watingRequestsById.get(reqID);
61
- }
62
- onApplicationLoaded() {
63
- return __awaiter(this, void 0, void 0, function* () {
64
- if (HttpFetcher.watingRequestsById.size > 0) {
65
- const requestsBatch = [];
66
- HttpFetcher.watingRequestsById.forEach((waitingReq) => __awaiter(this, void 0, void 0, function* () {
67
- let query = HttpFetcher.getQueryTemplate(waitingReq.request);
68
- requestsBatch.push({ document: query, variables: Object.assign({}, waitingReq.request.values) });
69
- }));
70
- let res = undefined;
71
- let dataResponse = [];
72
- let errorsResponse = [];
73
- res = yield HttpFetcher.fecthGrapql(requestsBatch);
74
- dataResponse = res.data;
75
- errorsResponse = res.errors;
76
- //Reject promises with errors from query
77
- errorsResponse.forEach((errorResponse) => {
78
- Object.entries(errorResponse).forEach(([key, val]) => {
79
- var _a;
80
- (((_a = HttpFetcher.getWatingRequest(val.request.variables[val.index].queryID)) === null || _a === void 0 ? void 0 : _a.reject) || Promise.reject)(val);
81
- });
82
- });
83
- //Resolve promises with data from query
84
- dataResponse.forEach((data) => {
85
- Object.entries(data).forEach(([key, val]) => {
86
- var _a;
87
- (((_a = HttpFetcher.getWatingRequest(key)) === null || _a === void 0 ? void 0 : _a.resolve) || Promise.resolve)(val);
88
- });
89
- });
90
- HttpFetcher.watingRequestsById.clear();
91
- }
92
- });
93
- }
94
- static fecthGrapql(request) {
95
- return __awaiter(this, void 0, void 0, function* () {
96
- let res = undefined;
97
- let dataResponse = [];
98
- let errorsResponse = [];
99
- try {
100
- res = yield batchRequests('http://localhost:8082/', request);
101
- res.forEach((resItem) => {
102
- dataResponse.push(resItem.data);
103
- });
104
- }
105
- catch (err) {
106
- //TODO: Tratar erro quando não existir err.response
107
- res = err.response;
108
- const req = err.request;
109
- Object.entries(res).forEach(([key, val]) => {
110
- if (val.errors) {
111
- errorsResponse.push(val.errors.map((item) => {
112
- item.request = req;
113
- item.index = Number(key);
114
- return item;
115
- }));
116
- }
117
- else if (val.data) {
118
- dataResponse.push(val.data);
119
- }
120
- });
121
- }
122
- return { data: dataResponse, errors: errorsResponse };
123
- });
124
- }
125
- //TODO: Mover este metodo para o @sankhyalabs/core classe string utils.
126
- hashCode(txt) {
127
- var hash = 0, i, chr;
128
- if (txt.length === 0)
129
- return hash.toString();
130
- for (i = 0; i < txt.length; i++) {
131
- chr = txt.charCodeAt(i);
132
- hash = ((hash << 5) - hash) + chr;
133
- hash |= 0; // Convert to 32bit integer
134
- }
135
- return hash.toString();
136
- }
137
- ;
138
- }
139
- HttpFetcher.watingRequestsById = new Map();
140
- class WaitingRequest {
141
- constructor(req) {
142
- this._resolve = () => { };
143
- this._reject = () => { };
144
- this._request = undefined;
145
- this._request = req;
146
- this._promisse = new Promise((resolve, reject) => {
147
- this._resolve = resolve;
148
- this._reject = reject;
149
- });
150
- }
151
- get resolve() {
152
- return this._resolve;
153
- }
154
- get reject() {
155
- return this._reject;
156
- }
157
- get promise() {
158
- return this._promisse;
159
- }
160
- get request() {
161
- return this._request;
162
- }
163
- }
164
- //# sourceMappingURL=HttpFetcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HttpFetcher.js","sourceRoot":"","sources":["../../../src/http/data-fetcher/HttpFetcher.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
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
- }
@@ -1,78 +0,0 @@
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
- export class LoadStateManager {
11
- constructor(appName = 'ez-application') {
12
- var _a;
13
- this._state = LoadStatus.DOM_LOADED;
14
- this._application = document.querySelector(appName);
15
- if (this._application === null) {
16
- console.warn(`application${appName} not found, then state is loadded`);
17
- this.onStatusChange(LoadStatus.LOADED);
18
- }
19
- else {
20
- (_a = this._application) === null || _a === void 0 ? void 0 : _a.addEventListener('applicationLoaded', () => this.onStatusChange(LoadStatus.LOADED));
21
- this.onStatusChange(LoadStatus.PRE_INITIALIZE);
22
- }
23
- }
24
- onStatusChange(newStatus) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- this._state = newStatus;
27
- (LoadStateManager.listenersByType.get(newStatus) || []).forEach((listener) => {
28
- listener();
29
- });
30
- });
31
- }
32
- addListener(status, listener) {
33
- var _a;
34
- if (!LoadStateManager.listenersByType.has(status)) {
35
- LoadStateManager.listenersByType.set(status, []);
36
- }
37
- (_a = LoadStateManager.listenersByType.get(status)) === null || _a === void 0 ? void 0 : _a.push(listener);
38
- if (status === this._state) {
39
- listener();
40
- }
41
- }
42
- onPreInitialize(listener) {
43
- this.addListener(LoadStatus.PRE_INITIALIZE, listener);
44
- return this;
45
- }
46
- onLoaded(listener) {
47
- this.addListener(LoadStatus.LOADED, listener);
48
- return this;
49
- }
50
- getStatus() {
51
- return this._state;
52
- }
53
- isPreInitialize() {
54
- return this._state === LoadStatus.PRE_INITIALIZE;
55
- }
56
- isLoaded() {
57
- return this._state === LoadStatus.LOADED;
58
- }
59
- static get(type = LoadType.APP_LOAD) {
60
- if (!LoadStateManager.instanceByStatus.has(type)) {
61
- LoadStateManager.instanceByStatus.set(type, new LoadStateManager());
62
- }
63
- return LoadStateManager.instanceByStatus.get(type) || new LoadStateManager();
64
- }
65
- }
66
- LoadStateManager.instanceByStatus = new Map();
67
- LoadStateManager.listenersByType = new Map();
68
- export var LoadStatus;
69
- (function (LoadStatus) {
70
- LoadStatus["DOM_LOADED"] = "DOM_LOADED";
71
- LoadStatus["PRE_INITIALIZE"] = "PRE_INITIALIZE";
72
- LoadStatus["LOADED"] = "LOADED";
73
- })(LoadStatus || (LoadStatus = {}));
74
- export var LoadType;
75
- (function (LoadType) {
76
- LoadType["APP_LOAD"] = "APP_LOAD";
77
- })(LoadType || (LoadType = {}));
78
- //# sourceMappingURL=LoadStateManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoadStateManager.js","sourceRoot":"","sources":["../../../../src/http/data-fetcher/state/LoadStateManager.ts"],"names":[],"mappings":"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"}
@@ -1,164 +0,0 @@
1
- import { LoadStateManager, LoadType } from "./state/LoadStateManager";
2
- import { batchRequests, BatchRequestDocument } from 'graphql-request';
3
-
4
- export class HttpFetcher{
5
- private static instance: HttpFetcher;
6
- private static loadStateManager: LoadStateManager;
7
- private static watingRequestsById: Map<string, WaitingRequest >= new Map<string, WaitingRequest>();
8
-
9
- private constructor() {
10
- HttpFetcher.loadStateManager = LoadStateManager.get(LoadType.APP_LOAD);
11
- HttpFetcher.loadStateManager.onLoaded(this.onApplicationLoaded);
12
- }
13
-
14
- public static get(): HttpFetcher {
15
- if (!HttpFetcher.instance) {
16
- HttpFetcher.instance = new HttpFetcher();
17
- }
18
- return HttpFetcher.instance;
19
- }
20
-
21
- public async callGraphQL(req:any):Promise<any>{
22
- const reqKey = this.getReqKey(req);
23
- req.queryID = reqKey;
24
- req.values.queryID = reqKey;
25
- if(HttpFetcher.loadStateManager.isPreInitialize()){
26
- if(!HttpFetcher.watingRequestsById.has(reqKey)){
27
- HttpFetcher.watingRequestsById.set(reqKey, new WaitingRequest(req));
28
- }
29
- return HttpFetcher.getWatingRequest(reqKey)?.promise;
30
- }else{
31
- return new Promise(async (resolve, reject) => {
32
- let query = HttpFetcher.getQueryTemplate(req);
33
- const res = await HttpFetcher.fecthGrapql([{document: query, variables: req.values }]);
34
-
35
- if (res.errors.length > 0) {
36
- reject(res);
37
- } else {
38
- //resolve(res);
39
- //FIXME: Precisamos trabalhar melhor a resposta, quem chamou
40
- //a API não pode ficar responsavel por desempacotar... fiz uma
41
- //gambiarra aqui...
42
- resolve(res.data[0][reqKey]);
43
- }
44
- })
45
- }
46
- }
47
-
48
- private getReqKey(req:any):string{
49
- return window.btoa(this.hashCode(`${req.query}${JSON.stringify(req.values || "")}`)).replaceAll("=", "");
50
- }
51
-
52
- private static getQueryTemplate(re:any):string{
53
- return (re.query || "").replaceAll("$queryAlias$", re.queryID);
54
- }
55
-
56
- private static getWatingRequest(reqID:string):WaitingRequest|undefined{
57
- return HttpFetcher.watingRequestsById.get(reqID);
58
- }
59
-
60
- private async onApplicationLoaded():Promise<any>{
61
- if(HttpFetcher.watingRequestsById.size > 0){
62
- const requestsBatch:Array<BatchRequestDocument> = [];
63
-
64
- HttpFetcher.watingRequestsById.forEach(async (waitingReq:WaitingRequest) => {
65
- let query = HttpFetcher.getQueryTemplate(waitingReq.request);
66
- requestsBatch.push({ document: query, variables: {...waitingReq.request.values } });
67
- });
68
-
69
- let res:any = undefined;
70
- let dataResponse:Array<any> = [];
71
- let errorsResponse:Array<any> = [];
72
- res = await HttpFetcher.fecthGrapql(requestsBatch);
73
-
74
- dataResponse = res.data;
75
- errorsResponse = res.errors;
76
-
77
- //Reject promises with errors from query
78
- errorsResponse.forEach((errorResponse:any) => {
79
- Object.entries(errorResponse).forEach(([key, val]:Array<any>) => {
80
- (HttpFetcher.getWatingRequest(val.request.variables[val.index].queryID)?.reject || Promise.reject)(val);
81
- });
82
- });
83
- //Resolve promises with data from query
84
- dataResponse.forEach((data:any) => {
85
- Object.entries(data).forEach(([key, val]:Array<any>) => {
86
- (HttpFetcher.getWatingRequest(key)?.resolve || Promise.resolve)(val);
87
- });
88
- });
89
- HttpFetcher.watingRequestsById.clear();
90
- }
91
- }
92
-
93
- private static async fecthGrapql(request :Array<BatchRequestDocument>):Promise<any> {
94
- let res:any = undefined;
95
- let dataResponse:Array<any> = [];
96
- let errorsResponse:Array<any> = [];
97
-
98
- try{
99
- res = await batchRequests('http://localhost:8082/', request);
100
- res.forEach((resItem:any) => {
101
- dataResponse.push(resItem.data);
102
- });
103
- }catch(err:any){
104
- //TODO: Tratar erro quando não existir err.response
105
- res = err.response;
106
- const req:any = err.request;
107
- Object.entries(res).forEach(([key, val]:Array<any>) => {
108
- if(val.errors){
109
- errorsResponse.push(val.errors.map((item:any) => {
110
- item.request = req;
111
- item.index = Number(key);
112
- return item;
113
- }));
114
- }else if(val.data){
115
- dataResponse.push(val.data);
116
- }
117
- });
118
- }
119
- return {data: dataResponse, errors: errorsResponse}
120
- }
121
-
122
- //TODO: Mover este metodo para o @sankhyalabs/core classe string utils.
123
- private hashCode (txt:string):string {
124
- var hash = 0, i, chr;
125
- if (txt.length === 0) return hash.toString();
126
- for (i = 0; i < txt.length; i++) {
127
- chr = txt.charCodeAt(i);
128
- hash = ((hash << 5) - hash) + chr;
129
- hash |= 0; // Convert to 32bit integer
130
- }
131
- return hash.toString();
132
- };
133
- }
134
-
135
- class WaitingRequest {
136
- private _resolve: Function = () => {};
137
- private _reject: Function = () => {};
138
- private _promisse: Promise<any>;
139
- private _request: any = undefined;
140
-
141
- constructor(req:any){
142
- this._request = req;
143
- this._promisse = new Promise((resolve, reject) => {
144
- this._resolve = resolve;
145
- this._reject = reject;
146
- });
147
- }
148
-
149
- public get resolve():Function{
150
- return this._resolve;
151
- }
152
-
153
- public get reject():Function{
154
- return this._reject;
155
- }
156
-
157
- public get promise():Promise<any>{
158
- return this._promisse;
159
- }
160
-
161
- public get request():any{
162
- return this._request;
163
- }
164
- }
@@ -1,74 +0,0 @@
1
- export class LoadStateManager {
2
- private static instanceByStatus: Map<LoadType, LoadStateManager> = new Map<LoadType, LoadStateManager>();
3
- private _state:LoadStatus = LoadStatus.DOM_LOADED;
4
- private _application:Element|null;
5
- private static listenersByType: Map<LoadStatus, Array<() => void>> = new Map<LoadStatus, Array<() => void>>();
6
-
7
- private constructor(appName:string = 'ez-application') {
8
- this._application = document.querySelector(appName);
9
- if(this._application === null){
10
- console.warn(`application${appName} not found, then state is loadded`);
11
- this.onStatusChange(LoadStatus.LOADED);
12
- }else{
13
- this._application?.addEventListener('applicationLoaded',
14
- () => this.onStatusChange(LoadStatus.LOADED));
15
- this.onStatusChange(LoadStatus.PRE_INITIALIZE);
16
- }
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
- }