@sankhyalabs/core 5.15.3 → 5.15.4

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.
@@ -76,20 +76,21 @@ export const getChangedFieldValue = (fieldName, record, stateManager) => {
76
76
  return record[fieldName];
77
77
  };
78
78
  export const getChangesToSave = (dataUnit, stateManager) => {
79
- const result = [];
80
79
  const changes = getChanges(stateManager);
81
80
  const selectedRecords = getSelectionRecords(stateManager) || [];
82
- const records = new Set(getRecords(stateManager)
83
- .concat(selectedRecords
84
- .filter(record => !isAddedRecord(record.__record__id__, stateManager))));
85
- records === null || records === void 0 ? void 0 : records.forEach(r => {
86
- if (changes) {
87
- const c = changes.get(r.__record__id__);
88
- if (c) {
89
- result.push(new Change(dataUnit, r, c, ChangeOperation.UPDATE, r.__record__source__id__));
81
+ const records = new Map(getRecords(stateManager)
82
+ .concat(selectedRecords.filter(record => !isAddedRecord(record.__record__id__, stateManager)))
83
+ .map(r => [r.__record__id__, r]));
84
+ const result = [];
85
+ if (changes != undefined) {
86
+ Array.from(changes.entries())
87
+ .forEach(([recordId, change]) => {
88
+ const record = records.get(recordId);
89
+ if (record != undefined) {
90
+ result.push(new Change(dataUnit, record, change, ChangeOperation.UPDATE, record.__record__source__id__));
90
91
  }
91
- }
92
- });
92
+ });
93
+ }
93
94
  const addedRecords = getAddedRecords(stateManager);
94
95
  if (addedRecords) {
95
96
  addedRecords.forEach(r => {
@@ -1 +1 @@
1
- {"version":3,"file":"ChangesSlice.js","sourceRoot":"","sources":["../../../../src/dataunit/state/slice/ChangesSlice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChangesSlice.js","sourceRoot":"","sources":["../../../../src/dataunit/state/slice/ChangesSlice.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ActionReducer, StateAction } from "../StateManager.js";
2
+ import StateManager from "../StateManager.js";
3
+ declare class LoadingPropertiesImpl implements ActionReducer {
4
+ sliceName: string;
5
+ reduce(_stateManager: StateManager, currentState: Map<string, string>, action: StateAction): Map<string, string> | undefined;
6
+ }
7
+ export declare const LoadingPropertiesReducer: LoadingPropertiesImpl;
8
+ export declare const getLoadingProperties: (stateManager: StateManager) => Map<string, string> | undefined;
9
+ export {};
@@ -0,0 +1,31 @@
1
+ import { Action } from "../action/DataUnitAction.js";
2
+ class LoadingPropertiesImpl {
3
+ constructor() {
4
+ this.sliceName = "loadingProperties";
5
+ }
6
+ reduce(_stateManager, currentState, action) {
7
+ switch (action.type) {
8
+ case Action.LOADING_PROPERTY_ADDED:
9
+ return buildNewState(currentState, action.payload);
10
+ case Action.LOADING_PROPERTIES_CLEANED:
11
+ return undefined;
12
+ }
13
+ return currentState;
14
+ }
15
+ }
16
+ export const LoadingPropertiesReducer = new LoadingPropertiesImpl();
17
+ export const getLoadingProperties = (stateManager) => {
18
+ return stateManager.select(LoadingPropertiesReducer.sliceName, (state) => state);
19
+ };
20
+ function buildNewState(currentState, payload) {
21
+ const newState = new Map(currentState);
22
+ if (payload != undefined) {
23
+ for (const [key, value] of Object.entries(payload)) {
24
+ if (typeof key === "string" && typeof value === "string") {
25
+ newState.set(key, value);
26
+ }
27
+ }
28
+ }
29
+ return newState;
30
+ }
31
+ //# sourceMappingURL=LoadingProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingProperties.js","sourceRoot":"","sources":["../../../../src/dataunit/state/slice/LoadingProperties.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAGrD,MAAM,qBAAqB;IAA3B;QAEW,cAAS,GAAW,mBAAmB,CAAC;IAWnD,CAAC;IATU,MAAM,CAAC,aAA0B,EAAE,YAAiC,EAAE,MAAmB;QAC5F,QAAO,MAAM,CAAC,IAAI,EAAC;YACf,KAAK,MAAM,CAAC,sBAAsB;gBAC9B,OAAO,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACvD,KAAK,MAAM,CAAC,0BAA0B;gBAClC,OAAO,SAAS,CAAC;SACxB;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,qBAAqB,EAAE,CAAC;AAEpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAA0B,EAAiC,EAAE;IAC9F,OAAO,YAAY,CAAC,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,CAAC,KAA0B,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAC1G,CAAC,CAAC;AAEF,SAAS,aAAa,CAAC,YAAiC,EAAE,OAAY;IAClE,MAAM,QAAQ,GAAI,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IACxC,IAAG,OAAO,IAAI,SAAS,EAAC;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAChD,IAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAC;gBACpD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAC5B;SACJ;KACJ;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/core",
3
- "version": "5.15.3",
3
+ "version": "5.15.4",
4
4
  "description": "Modulo core JavaScript da Sankhya.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -25,6 +25,7 @@ import { getFormattedValue } from "./formatting/PrettyFormatter.js";
25
25
  import { v4 as uuid } from "uuid";
26
26
  import { DataUnitStorage } from "./DataUnitStorage.js";
27
27
  import { getInvalidFieldMessage, InvalidFieldsReducer } from "./state/slice/InvalidFieldsSlice.js";
28
+ import { getLoadingProperties, LoadingPropertiesReducer } from "./state/slice/LoadingProperties.js";
28
29
 
29
30
  /***
30
31
  * `DataUnit`: Atua como uma camada de abstração entre o back-end e a interface do usuário.
@@ -61,6 +62,7 @@ export default class DataUnit {
61
62
  this._stateManager = new StateManager(
62
63
  [
63
64
  HistReducer,
65
+ LoadingPropertiesReducer,
64
66
  UnitMetadataReducer,
65
67
  LoadingControlReducer,
66
68
  RecordsReducer,
@@ -114,6 +116,27 @@ export default class DataUnit {
114
116
  this._interceptors = [];
115
117
  }
116
118
 
119
+ /**
120
+ * Adiciona uma propriedade transacional que será envida aos
121
+ * loaders (dataLoader, saveLoader, removeLoader e recordLoader) na chamada.
122
+ * Essas propriedades serão limpas ao final da execução de cada método.
123
+ *
124
+ * @param name - Nome da propriedade
125
+ * @param value - Valor da propriedade
126
+ *
127
+ */
128
+ public addGlobalLoaderProp(name: string, value: string):void{
129
+ this.dispatchAction(Action.LOADING_PROPERTY_ADDED, {[name]: value});
130
+ }
131
+
132
+ /**
133
+ * Retorna as propriedades transacionais adicionados anteriores à chamada.
134
+ *
135
+ * @returns - Todas as propriedades desde o final do último loader.
136
+ */
137
+ public getGlobalLoaderProps(): Map<string, string>{
138
+ return getLoadingProperties(this._stateManager) || new Map();
139
+ }
117
140
 
118
141
  public get dataUnitId(): string{
119
142
  return this._uuid;
@@ -217,16 +240,17 @@ export default class DataUnit {
217
240
  this.dataLoader(this, request).then(
218
241
  response => {
219
242
  this.dispatchAction(Action.DATA_LOADED, {...response, keepSelection: request.keepSelection}, executionCtx);
243
+ this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
220
244
 
221
245
  if(selectFirstRecord){
222
246
  this.requestSelectFirst(executionCtx);
223
247
  }
224
-
225
248
  resolve(response);
226
249
  }
227
250
  ).catch(error => {
228
251
  console.error(error);
229
252
  const {errorCode} = error;
253
+ this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
230
254
  fail(new ErrorException("Erro ao carregar registros", error, errorCode))
231
255
  });
232
256
  }
@@ -427,6 +451,7 @@ export default class DataUnit {
427
451
  const changes: Array<Change> = this.getAllChangesToSave();
428
452
 
429
453
  this.saveLoader(this, changes).then((records) => {
454
+ this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
430
455
  const recordsByDataUnit = this.getRecordsByDataUnit(records);
431
456
 
432
457
  const dispatchPromisses = [];
@@ -441,9 +466,11 @@ export default class DataUnit {
441
466
  Promise.all(dispatchPromisses).then(() => resolve());
442
467
  }).catch(cause => {
443
468
  const {errorCode} = cause;
469
+ this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
444
470
  fail(new ErrorException("Erro ao salvar alterações", cause, errorCode));
445
471
  });
446
472
  } else {
473
+ this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
447
474
  resolve();
448
475
  }
449
476
  });
@@ -532,6 +559,7 @@ export default class DataUnit {
532
559
  public async removeRecords(recordIds: Array<string>, cachedRecords: Array<Record>, buffered: boolean = false, executionCtx?: ExecutionContext, silent: boolean = false): Promise<Array<string>> {
533
560
  if (recordIds) {
534
561
  if (buffered || !this.removeLoader) {
562
+ this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
535
563
  this.dispatchAction(Action.RECORDS_REMOVED, { records: recordIds, cachedRecords, buffered: true }, executionCtx);
536
564
  } else {
537
565
  if (await this.dispatchAction(Action.REMOVING_RECORDS, {silent}, executionCtx)) {
@@ -549,9 +577,11 @@ export default class DataUnit {
549
577
  const selectionAfterRemove = [currentRecordsKeys[nextIndex]];
550
578
 
551
579
  this.dispatchAction(Action.RECORDS_REMOVED, { records: removedIds, cachedRecords, removedIndex, buffered: false, selectionAfterRemove }, executionCtx);
580
+ this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
552
581
  resolve(removedIds);
553
582
  }
554
583
  ).catch(error => {
584
+ this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
555
585
  const {errorCode} = error;
556
586
  fail(new ErrorException("Erro ao remover registros", error, errorCode))
557
587
  });
@@ -1523,12 +1553,16 @@ export default class DataUnit {
1523
1553
  const selection = getSelection(this._stateManager);
1524
1554
  this.dispatchAction(Action.LOADING_RECORD, selection);
1525
1555
 
1526
- if(!this.dataLoader) return;
1527
- if(!this.recordLoader) return;
1556
+ if(!this.recordLoader || !this.dataLoader) {
1557
+ this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
1558
+ return;
1559
+ }
1528
1560
 
1529
1561
  this.recordLoader(this, selection).then(response => {
1530
1562
  this.dispatchAction(Action.RECORD_LOADED, response)
1563
+ this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
1531
1564
  }).catch(cause => {
1565
+ this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
1532
1566
  const {errorCode} = cause;
1533
1567
  fail(new ErrorException("Erro ao recarregar registro", cause, errorCode));
1534
1568
  });
@@ -63,6 +63,8 @@ export enum Action{
63
63
  CHILD_CHANGED = "childChanged",
64
64
 
65
65
  FIELD_INVALIDATED = "fieldInvalidated",
66
- INVALIDATE_CLEAN = "invalidateClean"
66
+ INVALIDATE_CLEAN = "invalidateClean",
67
67
 
68
+ LOADING_PROPERTY_ADDED = "loadingPropertyAdded",
69
+ LOADING_PROPERTIES_CLEANED = "loadingPropertiesCleaned"
68
70
  }
@@ -94,27 +94,28 @@ export const getChangedFieldValue = (fieldName: string, record: Record, stateMan
94
94
  }
95
95
 
96
96
  export const getChangesToSave = (dataUnit: string, stateManager: StateManager): Array<Change> => {
97
- const result: Array<Change> = [];
98
-
97
+
99
98
  const changes = getChanges(stateManager);
100
99
  const selectedRecords = getSelectionRecords(stateManager) || [];
101
- const records: Set<Record> = new Set(
100
+ const records: Map<string, Record> = new Map(
102
101
  getRecords(stateManager)
103
102
  .concat(
104
- selectedRecords
105
- .filter(record => !isAddedRecord(record.__record__id__, stateManager)
106
- )
103
+ selectedRecords.filter(record => !isAddedRecord(record.__record__id__, stateManager))
107
104
  )
105
+ .map(r => [r.__record__id__, r])
108
106
  );
109
-
110
- records?.forEach(r => {
111
- if(changes){
112
- const c = changes.get(r.__record__id__);
113
- if (c) {
114
- result.push(new Change(dataUnit, r, c, ChangeOperation.UPDATE, r.__record__source__id__));
107
+
108
+ const result: Array<Change> = [];
109
+
110
+ if(changes != undefined){
111
+ Array.from(changes.entries())
112
+ .forEach(([recordId, change]) =>{
113
+ const record = records.get(recordId);
114
+ if(record != undefined){
115
+ result.push(new Change(dataUnit, record, change, ChangeOperation.UPDATE, record.__record__source__id__));
115
116
  }
116
- }
117
- });
117
+ });
118
+ }
118
119
 
119
120
  const addedRecords = getAddedRecords(stateManager);
120
121
  if (addedRecords) {
@@ -0,0 +1,37 @@
1
+
2
+ import { ActionReducer, StateAction } from "../StateManager.js";
3
+ import { Action } from "../action/DataUnitAction.js";
4
+ import StateManager from "../StateManager.js";
5
+
6
+ class LoadingPropertiesImpl implements ActionReducer{
7
+
8
+ public sliceName: string = "loadingProperties";
9
+
10
+ public reduce(_stateManager:StateManager, currentState: Map<string, string>, action: StateAction): Map<string, string>|undefined {
11
+ switch(action.type){
12
+ case Action.LOADING_PROPERTY_ADDED:
13
+ return buildNewState(currentState, action.payload);
14
+ case Action.LOADING_PROPERTIES_CLEANED:
15
+ return undefined;
16
+ }
17
+ return currentState;
18
+ }
19
+ }
20
+
21
+ export const LoadingPropertiesReducer = new LoadingPropertiesImpl();
22
+
23
+ export const getLoadingProperties = (stateManager: StateManager): Map<string, string>|undefined => {
24
+ return stateManager.select(LoadingPropertiesReducer.sliceName, (state: Map<string, string>) => state);
25
+ };
26
+
27
+ function buildNewState(currentState: Map<string, string>, payload: any): Map<string, string>{
28
+ const newState = new Map(currentState);
29
+ if(payload != undefined){
30
+ for (const [key, value] of Object.entries(payload)) {
31
+ if(typeof key === "string" && typeof value === "string"){
32
+ newState.set(key, value);
33
+ }
34
+ }
35
+ }
36
+ return newState;
37
+ }