@sankhyalabs/core 4.0.3 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/classes/Change.md +11 -11
- package/.docs/classes/DataUnit.md +118 -63
- package/.docs/enums/Action.md +12 -1
- package/.docs/enums/ChangeOperation.md +4 -4
- package/.docs/interfaces/AllRecord.md +96 -0
- package/.docs/interfaces/DUActionInterceptor.md +1 -1
- package/.docs/interfaces/PageRequest.md +3 -3
- package/.docs/interfaces/QuickFilter.md +2 -2
- package/.docs/interfaces/Record.md +6 -4
- package/.docs/interfaces/SavedRecord.md +5 -5
- package/.docs/interfaces/WaitingChange.md +3 -3
- package/.docs/modules.md +1 -0
- package/dist/dataunit/DataUnit.d.ts +37 -10
- package/dist/dataunit/DataUnit.js +52 -23
- package/dist/dataunit/DataUnit.js.map +1 -1
- package/dist/dataunit/state/action/DataUnitAction.d.ts +1 -0
- package/dist/dataunit/state/action/DataUnitAction.js +1 -0
- package/dist/dataunit/state/action/DataUnitAction.js.map +1 -1
- package/dist/dataunit/state/slice/ChangesSlice.js +2 -2
- package/dist/dataunit/state/slice/ChangesSlice.js.map +1 -1
- package/dist/dataunit/state/slice/CurrentRecordsSlice.js +3 -3
- package/dist/dataunit/state/slice/CurrentRecordsSlice.js.map +1 -1
- package/dist/dataunit/state/slice/SelectionSlice.d.ts +4 -3
- package/dist/dataunit/state/slice/SelectionSlice.js +31 -25
- package/dist/dataunit/state/slice/SelectionSlice.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/utils/JSUtils.js +2 -2
- package/dist/utils/JSUtils.js.map +1 -1
- package/package.json +1 -1
- package/src/dataunit/DataUnit.ts +61 -25
- package/src/dataunit/state/action/DataUnitAction.ts +2 -1
- package/src/dataunit/state/slice/ChangesSlice.ts +2 -2
- package/src/dataunit/state/slice/CurrentRecordsSlice.ts +3 -3
- package/src/dataunit/state/slice/SelectionSlice.ts +40 -33
- package/src/index.ts +3 -2
- package/src/utils/JSUtils.ts +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChangesSlice.js","sourceRoot":"","sources":["../../../../src/dataunit/state/slice/ChangesSlice.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ChangesSlice.js","sourceRoot":"","sources":["../../../../src/dataunit/state/slice/ChangesSlice.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getRecords } from "./RecordsSlice.js";
|
|
2
|
-
import {
|
|
2
|
+
import { getAllSelection } from "./SelectionSlice.js";
|
|
3
3
|
import { getChanges } from "./ChangesSlice.js";
|
|
4
4
|
import { getRemovedRecords } from "./RemovedRecordsSlice.js";
|
|
5
5
|
import { getAddedRecords } from "./AddedRecordsSlice.js";
|
|
@@ -49,11 +49,11 @@ export const getModifiedRecords = (stateManager) => {
|
|
|
49
49
|
return Array.from(currentRecords.values()).filter(r => modifiedIDs.includes(r.__record__id__));
|
|
50
50
|
};
|
|
51
51
|
export const getFieldValue = (stateManager, fieldName) => {
|
|
52
|
-
const selection =
|
|
52
|
+
const selection = getAllSelection(stateManager);
|
|
53
53
|
if (selection && selection.length > 0) {
|
|
54
54
|
const currentRecords = getCurrentRecords(stateManager);
|
|
55
55
|
if (currentRecords) {
|
|
56
|
-
const record = currentRecords.get(selection[0]);
|
|
56
|
+
const record = currentRecords.get(selection[0].__record__id__);
|
|
57
57
|
return record ? record[fieldName] : undefined;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CurrentRecordsSlice.js","sourceRoot":"","sources":["../../../../src/dataunit/state/slice/CurrentRecordsSlice.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CurrentRecordsSlice.js","sourceRoot":"","sources":["../../../../src/dataunit/state/slice/CurrentRecordsSlice.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { ActionReducer, StateAction } from "../StateManager.js";
|
|
2
2
|
import StateManager from "../StateManager.js";
|
|
3
|
+
import { Record } from "../../DataUnit.js";
|
|
3
4
|
declare class SelectionReducerImpl implements ActionReducer {
|
|
4
5
|
sliceName: string;
|
|
5
6
|
reduce(stateManager: StateManager, currentState: SelectionState, action: StateAction): SelectionState | undefined;
|
|
6
7
|
}
|
|
7
8
|
export declare const SelectionReducer: SelectionReducerImpl;
|
|
8
|
-
export declare const
|
|
9
|
+
export declare const getAllSelection: (stateManager: StateManager) => Array<Record>;
|
|
9
10
|
export declare const hasNext: (stateManager: StateManager) => boolean;
|
|
10
11
|
export declare const hasPrevious: (stateManager: StateManager) => boolean;
|
|
11
12
|
interface SelectionState {
|
|
12
|
-
currentSelection: Array<
|
|
13
|
-
lastSelection?: Array<
|
|
13
|
+
currentSelection: Array<Record>;
|
|
14
|
+
lastSelection?: Array<Record>;
|
|
14
15
|
}
|
|
15
16
|
export {};
|
|
@@ -15,7 +15,7 @@ class SelectionReducerImpl {
|
|
|
15
15
|
const removed = action.payload.records;
|
|
16
16
|
if (currentState && removed) {
|
|
17
17
|
const currentSelection = currentState.currentSelection;
|
|
18
|
-
const record = currentSelection.filter(
|
|
18
|
+
const record = currentSelection.filter((selectedRecord) => !removed.includes(selectedRecord.__record__id__));
|
|
19
19
|
if (record.length === 0) {
|
|
20
20
|
const currentRecords = getCurrentRecords(stateManager);
|
|
21
21
|
let removedIndex = action.payload.removedIndex.slice(-1)[0];
|
|
@@ -26,9 +26,9 @@ class SelectionReducerImpl {
|
|
|
26
26
|
else {
|
|
27
27
|
removedIndex++;
|
|
28
28
|
}
|
|
29
|
-
currentRecords.forEach((value
|
|
29
|
+
currentRecords.forEach((value) => {
|
|
30
30
|
if (currentIndex === removedIndex) {
|
|
31
|
-
record.push(
|
|
31
|
+
record.push(value);
|
|
32
32
|
}
|
|
33
33
|
currentIndex++;
|
|
34
34
|
});
|
|
@@ -46,10 +46,10 @@ class SelectionReducerImpl {
|
|
|
46
46
|
index = action.type === Action.PREVIOUS_SELECTED ? 0 : Math.min(1, currentRecords.size);
|
|
47
47
|
}
|
|
48
48
|
else {
|
|
49
|
-
index = getItemIndex(currentSelection[0], currentRecords) + (action.type === Action.PREVIOUS_SELECTED ? -1 : 1);
|
|
49
|
+
index = getItemIndex(currentSelection[0].__record__id__, currentRecords) + (action.type === Action.PREVIOUS_SELECTED ? -1 : 1);
|
|
50
50
|
}
|
|
51
51
|
if (index < currentRecords.size && index >= 0) {
|
|
52
|
-
return { currentSelection: [Array.from(currentRecords.values())[index]
|
|
52
|
+
return { currentSelection: [Array.from(currentRecords.values())[index]] };
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
return undefined;
|
|
@@ -59,16 +59,29 @@ class SelectionReducerImpl {
|
|
|
59
59
|
const currentRecords = getCurrentRecords(stateManager);
|
|
60
60
|
if (currentRecords) {
|
|
61
61
|
const records = Array.from(currentRecords.values());
|
|
62
|
-
const
|
|
62
|
+
const selectionRecord = [];
|
|
63
63
|
selectionSource.forEach((i) => {
|
|
64
64
|
if (i >= 0 && i < currentRecords.size) {
|
|
65
|
-
|
|
65
|
+
selectionRecord.push(records[i]);
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
|
-
return { currentSelection:
|
|
68
|
+
return { currentSelection: selectionRecord };
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
return { currentSelection:
|
|
71
|
+
return { currentSelection: selectionSource };
|
|
72
|
+
case Action.SELECTION_REMOVED:
|
|
73
|
+
if (currentState != undefined) {
|
|
74
|
+
const { unselection } = action.payload;
|
|
75
|
+
const currentSelection = currentState.currentSelection;
|
|
76
|
+
const selectionFiltered = currentSelection === null || currentSelection === void 0 ? void 0 : currentSelection.filter((selectedRecord) => {
|
|
77
|
+
return !(unselection || [])
|
|
78
|
+
.some((unselectedRecord) => {
|
|
79
|
+
return unselectedRecord.__record__id__ === selectedRecord.__record__id__;
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
return { currentSelection: selectionFiltered };
|
|
83
|
+
}
|
|
84
|
+
return undefined;
|
|
72
85
|
case Action.EDITION_CANCELED:
|
|
73
86
|
if (currentState === null || currentState === void 0 ? void 0 : currentState.lastSelection) {
|
|
74
87
|
return { currentSelection: currentState.lastSelection };
|
|
@@ -78,8 +91,8 @@ class SelectionReducerImpl {
|
|
|
78
91
|
}
|
|
79
92
|
}
|
|
80
93
|
export const SelectionReducer = new SelectionReducerImpl();
|
|
81
|
-
export const
|
|
82
|
-
|
|
94
|
+
export const getAllSelection = (stateManager) => {
|
|
95
|
+
const selection = getCurrentSelection(stateManager);
|
|
83
96
|
if (!selection || selection.length === 0) {
|
|
84
97
|
return [];
|
|
85
98
|
}
|
|
@@ -92,7 +105,7 @@ export const hasNext = (stateManager) => {
|
|
|
92
105
|
if (!selection || selection.length === 0) {
|
|
93
106
|
return records.size > 0;
|
|
94
107
|
}
|
|
95
|
-
return records.size > (getItemIndex(selection[0], records) + 1);
|
|
108
|
+
return records.size > (getItemIndex(selection[0].__record__id__, records) + 1);
|
|
96
109
|
}
|
|
97
110
|
return false;
|
|
98
111
|
};
|
|
@@ -103,31 +116,24 @@ export const hasPrevious = (stateManager) => {
|
|
|
103
116
|
if (!selection || selection.length === 0) {
|
|
104
117
|
return false;
|
|
105
118
|
}
|
|
106
|
-
return getItemIndex(selection[0], records) > 0;
|
|
119
|
+
return getItemIndex(selection[0].__record__id__, records) > 0;
|
|
107
120
|
}
|
|
108
121
|
return false;
|
|
109
122
|
};
|
|
110
|
-
function getFilteredSelection(selection, stateManager) {
|
|
111
|
-
if (selection) {
|
|
112
|
-
const records = getCurrentRecords(stateManager);
|
|
113
|
-
return selection.filter(id => records.has(id));
|
|
114
|
-
}
|
|
115
|
-
return selection;
|
|
116
|
-
}
|
|
117
123
|
function getItemIndex(key, map) {
|
|
118
124
|
return Array.from(map.keys()).indexOf(key);
|
|
119
125
|
}
|
|
120
126
|
function updateSavedIds(stateManager, savedRecords) {
|
|
121
|
-
const currentSelection =
|
|
127
|
+
const currentSelection = getAllSelection(stateManager);
|
|
122
128
|
if (currentSelection) {
|
|
123
129
|
const newSelection = [];
|
|
124
|
-
currentSelection.forEach(
|
|
125
|
-
const record = savedRecords.find(r => r.__old__id__ ===
|
|
130
|
+
currentSelection.forEach(recordSelection => {
|
|
131
|
+
const record = savedRecords.find(r => r.__old__id__ === recordSelection.__record__id__);
|
|
126
132
|
if (record) {
|
|
127
|
-
newSelection.push(record
|
|
133
|
+
newSelection.push(record);
|
|
128
134
|
}
|
|
129
135
|
else {
|
|
130
|
-
newSelection.push(
|
|
136
|
+
newSelection.push(recordSelection);
|
|
131
137
|
}
|
|
132
138
|
});
|
|
133
139
|
return newSelection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionSlice.js","sourceRoot":"","sources":["../../../../src/dataunit/state/slice/SelectionSlice.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,MAAM,oBAAoB;IAA1B;QAEW,cAAS,GAAW,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"SelectionSlice.js","sourceRoot":"","sources":["../../../../src/dataunit/state/slice/SelectionSlice.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,MAAM,oBAAoB;IAA1B;QAEW,cAAS,GAAW,iBAAiB,CAAC;IAuGjD,CAAC;IArGU,MAAM,CAAC,YAA0B,EAAE,YAA4B,EAAE,MAAmB;QAEvF,QAAQ,MAAM,CAAC,IAAI,EAAE;YAEjB,KAAK,MAAM,CAAC,aAAa,CAAC;YAC1B,KAAK,MAAM,CAAC,cAAc;gBACtB,OAAO,EAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAS,EAAC,EAAE,CAAA,CAAC,CAAC,cAAc,CAAC,EAAE,aAAa,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,gBAAgB,EAAC,CAAC;YAChI,KAAK,MAAM,CAAC,UAAU;gBAClB,OAAO,EAAC,gBAAgB,EAAE,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAC,CAAC;YACpF,KAAK,MAAM,CAAC,eAAe;gBACvB,MAAM,OAAO,GAAkB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;gBAEtD,IAAI,YAAY,IAAI,OAAO,EAAE;oBACzB,MAAM,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACvD,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,cAAsB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;oBAErH,IAAG,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;wBACpB,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;wBACvD,IAAI,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC5D,IAAI,YAAY,GAAG,CAAC,CAAC;wBAErB,IAAG,YAAY,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE;4BACxC,YAAY,EAAE,CAAC;yBAClB;6BAAM;4BACH,YAAY,EAAE,CAAA;yBACjB;wBAED,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;4BAC7B,IAAG,YAAY,KAAK,YAAY,EAAE;gCAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;6BACtB;4BACD,YAAY,EAAE,CAAC;wBACnB,CAAC,CAAC,CAAA;qBAEL;oBACD,OAAO,EAAC,gBAAgB,EAAE,MAAM,EAAC,CAAC;iBACrC;gBACD,OAAO,YAAY,CAAC;YAExB,KAAK,MAAM,CAAC,aAAa,CAAC;YAC1B,KAAK,MAAM,CAAC,iBAAiB;gBAEzB,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;gBACvD,MAAM,gBAAgB,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,gBAAgB,CAAC;gBACxD,IAAI,cAAc,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE;oBAC3C,IAAI,KAAa,CAAC;oBAClB,IAAI,CAAC,YAAY,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;wBAChD,KAAK,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;qBAC3F;yBAAM;wBACH,KAAK,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAClI;oBACD,IAAI,KAAK,GAAG,cAAc,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE;wBAC3C,OAAO,EAAE,gBAAgB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;qBAC7E;iBACJ;gBAED,OAAO,SAAS,CAAC;YAErB,KAAK,MAAM,CAAC,iBAAiB;gBACzB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;gBAE5D,IAAI,eAAe,IAAI,IAAI,KAAK,OAAO,EAAE;oBACrC,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;oBACvD,IAAI,cAAc,EAAE;wBAChB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;wBACpD,MAAM,eAAe,GAAkB,EAAE,CAAC;wBAC1C,eAAe,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE;4BAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE;gCACnC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;6BACpC;wBACL,CAAC,CAAC,CAAC;wBACH,OAAO,EAAC,gBAAgB,EAAE,eAAe,EAAC,CAAC;qBAC9C;iBACJ;gBAED,OAAO,EAAC,gBAAgB,EAAE,eAAe,EAAC,CAAC;YAE/C,KAAK,MAAM,CAAC,iBAAiB;gBACzB,IAAI,YAAY,IAAI,SAAS,EAAE;oBAC3B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;oBACvC,MAAM,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACvD,MAAM,iBAAiB,GAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,CAAC,CAAC,cAAsB,EAAE,EAAE;wBAC1E,OAAO,CAAE,CAAC,WAAW,IAAI,EAAE,CAAmB;6BACzC,IAAI,CAAC,CAAC,gBAAwB,EAAE,EAAE;4BAC/B,OAAO,gBAAgB,CAAC,cAAc,KAAK,cAAc,CAAC,cAAc,CAAC;wBAC7E,CAAC,CAAC,CAAC;oBACX,CAAC,CAAC,CAAC;oBAEH,OAAO,EAAC,gBAAgB,EAAE,iBAAiB,EAAC,CAAC;iBAChD;gBAED,OAAO,SAAS,CAAC;YAErB,KAAK,MAAM,CAAC,gBAAgB;gBACxB,IAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,aAAa,EAAC;oBAC3B,OAAO,EAAE,gBAAgB,EAAE,YAAY,CAAC,aAAa,EAAE,CAAC;iBAC3D;SACR;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAA0B,EAAiB,EAAE;IACzE,MAAM,SAAS,GAAkB,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAEnE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QACtC,OAAO,EAAE,CAAC;KACb;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,YAA0B,EAAW,EAAE;IAC3D,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAChD,IAAI,OAAO,EAAE;QACT,MAAM,SAAS,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACtC,OAAO,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;SAC3B;QACD,OAAO,OAAO,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;KAClF;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,YAA0B,EAAW,EAAE;IAC/D,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAChD,IAAI,OAAO,EAAE;QACT,MAAM,SAAS,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACtC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;KACjE;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,SAAS,YAAY,CAAC,GAAW,EAAE,GAAqB;IACpD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,cAAc,CAAC,YAAyB,EAAE,YAA+B;IAC9E,MAAM,gBAAgB,GAAkB,eAAe,CAAC,YAAY,CAAC,CAAC;IACtE,IAAG,gBAAgB,EAAC;QAChB,MAAM,YAAY,GAAkB,EAAE,CAAC;QACvC,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;YACvC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,eAAe,CAAC,cAAc,CAAC,CAAC;YACxF,IAAG,MAAM,EAAC;gBACN,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC7B;iBAAM;gBACH,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACtC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;KACvB;IACD,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED,SAAS,mBAAmB,CAAC,YAA0B;;IACnD,OAAO,MAAA,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAqB,EAAE,EAAE,CAAC,KAAK,CAAC,0CAAE,gBAAgB,CAAC;AAC/G,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { HttpProvider } from "./http/HttpProvider.js";
|
|
|
9
9
|
import { SkwHttpProvider } from "./http/SkwHttpProvider.js";
|
|
10
10
|
import { RequestMetadata } from "./http/RequestMetadata.js";
|
|
11
11
|
import { AuthorizedServiceCaller } from "./http/AuthorizedServiceCaller.js";
|
|
12
|
-
import DataUnit, { SavedRecord, Record, Change, ChangeOperation, DUActionInterceptor, WaitingChange, PageRequest, QuickFilter } from "./dataunit/DataUnit.js";
|
|
12
|
+
import DataUnit, { SavedRecord, Record, Change, ChangeOperation, DUActionInterceptor, WaitingChange, PageRequest, QuickFilter, AllRecord } from "./dataunit/DataUnit.js";
|
|
13
13
|
import { DataType } from "./dataunit/metadata/DataType.js";
|
|
14
14
|
import { UnitMetadata, FieldDescriptor, UserInterface, Sort, SortMode, SortingProvider, Filter, DependencyType, ChildDescriptor, ChildLink } from "./dataunit/metadata/UnitMetadata.js";
|
|
15
15
|
import { DataUnitAction, Action, ExecutionContext } from "./dataunit/state/action/DataUnitAction.js";
|
|
@@ -27,4 +27,4 @@ import { ElementIDUtils, IElementIDInfo } from "./utils/ElementIDUtils.js";
|
|
|
27
27
|
import { UserAgentUtils } from "./utils/UserAgentUtils/index.js";
|
|
28
28
|
import { JSUtils } from "./utils/JSUtils.js";
|
|
29
29
|
import { DataUnitStorage } from "./dataunit/DataUnitStorage.js";
|
|
30
|
-
export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, ArrayUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, DataUnitStorage, Record, SavedRecord, DataType, UnitMetadata, FieldDescriptor, UserInterface, DependencyType, ChildDescriptor, ChildLink, DataUnitAction, Action, Change, Sort, Filter, ChangeOperation, DUActionInterceptor, ApplicationContext, WaitingChange, PageRequest, QuickFilter, ReadyUtil, ObjectUtils, WarningException, WaitingChangeException, ErrorException, ErrorTracking, ExecutionContext, PaginationInfo, SortingProvider, SortMode, LoadDataRequest, LoadDataResponse, ElementIDUtils, IElementIDInfo, UserAgentUtils, JSUtils };
|
|
30
|
+
export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, ArrayUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, DataUnitStorage, Record, SavedRecord, DataType, UnitMetadata, FieldDescriptor, UserInterface, DependencyType, ChildDescriptor, ChildLink, DataUnitAction, Action, Change, Sort, Filter, ChangeOperation, DUActionInterceptor, ApplicationContext, WaitingChange, PageRequest, QuickFilter, ReadyUtil, ObjectUtils, WarningException, WaitingChangeException, ErrorException, ErrorTracking, ExecutionContext, PaginationInfo, SortingProvider, SortMode, LoadDataRequest, LoadDataResponse, ElementIDUtils, IElementIDInfo, UserAgentUtils, JSUtils, AllRecord };
|
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,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,eAAe,MAAM,yBAAyB,CAAC;AACtD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,QAAQ,EAAE,EAAsB,MAAM,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,eAAe,MAAM,yBAAyB,CAAC;AACtD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,QAAQ,EAAE,EAAsB,MAAM,EAAE,eAAe,EAA0E,MAAM,wBAAwB,CAAC;AACvK,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAiC,aAAa,EAAQ,QAAQ,EAA2B,cAAc,EAA8B,MAAM,qCAAqC,CAAC;AACxL,OAAO,EAAE,cAAc,EAAE,MAAM,EAAoB,MAAM,2CAA2C,CAAC;AACrG,OAAO,kBAAkB,MAAM,+BAA+B,CAAC;AAC/D,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,sBAAsB,MAAM,wCAAwC,CAAC;AAC5E,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAkB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,8BAA8B;AAC9B,OAAO,EACH,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EACf,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,QAAQ,EACR,eAAe,EAGf,QAAQ,EAGR,aAAa,EACb,cAAc,EAGd,cAAc,EACd,MAAM,EACN,MAAM,EAGN,eAAe,EAEf,kBAAkB,EAIlB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,aAAa,EAIb,QAAQ,EAGR,cAAc,EAEd,cAAc,EACd,OAAO,EAEV,CAAC"}
|
package/dist/utils/JSUtils.js
CHANGED
|
@@ -42,12 +42,12 @@ export class JSUtils {
|
|
|
42
42
|
* @returns - Retorna um valor booleando informando se a string está encodada com base64.
|
|
43
43
|
*/
|
|
44
44
|
static isBase64(str) {
|
|
45
|
-
str = str.replaceAll("\n", "");
|
|
45
|
+
str = (str || '').replaceAll("\n", "");
|
|
46
46
|
if (str === '' || str.trim() === '') {
|
|
47
47
|
return false;
|
|
48
48
|
}
|
|
49
49
|
try {
|
|
50
|
-
return btoa(atob(str)) == str;
|
|
50
|
+
return window.btoa(window.atob(str)) == str;
|
|
51
51
|
}
|
|
52
52
|
catch (err) {
|
|
53
53
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSUtils.js","sourceRoot":"","sources":["../../src/utils/JSUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,OAAO;IAElB;;;;;;;OAOG;IACI,MAAM,CAAC,QAAQ,CAAC,QAAa,EAAE,UAAkB,GAAG;QACvD,IAAI,KAAU,CAAC;QACf,OAAO,CAAC,GAAG,IAAS,EAAE,EAAE;YACtB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,gBAAgB,CAAC,OAA0B;QACvD,IAAI,OAAO,IAAI,SAAS,EAAE;YACxB,OAAO,KAAK,CAAC;SACd;QAED,IAAI,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE;YAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACvE,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,MAAK,UAAU,CAAC;SAC7C;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"JSUtils.js","sourceRoot":"","sources":["../../src/utils/JSUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,OAAO;IAElB;;;;;;;OAOG;IACI,MAAM,CAAC,QAAQ,CAAC,QAAa,EAAE,UAAkB,GAAG;QACvD,IAAI,KAAU,CAAC;QACf,OAAO,CAAC,GAAG,IAAS,EAAE,EAAE;YACtB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,gBAAgB,CAAC,OAA0B;QACvD,IAAI,OAAO,IAAI,SAAS,EAAE;YACxB,OAAO,KAAK,CAAC;SACd;QAED,IAAI,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE;YAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACvE,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,MAAK,UAAU,CAAC;SAC7C;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,QAAQ,CAAC,GAAW;QAChC,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAC;YAAE,OAAO,KAAK,CAAC;SAAE;QACrD,IAAI;YACA,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;SAC/C;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,KAAK,CAAC;SAChB;IACH,CAAC;CACF"}
|
package/package.json
CHANGED
package/src/dataunit/DataUnit.ts
CHANGED
|
@@ -17,7 +17,7 @@ import { CurrentRecordsReducer, getCurrentRecords, getFieldValue, getModifiedRec
|
|
|
17
17
|
import { getCurrentPage, getLastPage, getPaginationInfo, getCurrentRequest, LoadingControlReducer, hasMorePages, hasPreviousPages } from "./state/slice/LoadingControlSlice.js";
|
|
18
18
|
import { getRecords, RecordsReducer } from "./state/slice/RecordsSlice.js";
|
|
19
19
|
import { RemovedRecordsReducer } from "./state/slice/RemovedRecordsSlice.js";
|
|
20
|
-
import {
|
|
20
|
+
import { getAllSelection, hasNext, hasPrevious, SelectionReducer } from "./state/slice/SelectionSlice.js";
|
|
21
21
|
import { getField, getMetadata, UnitMetadataReducer } from "./state/slice/UnitMetadataSlice.js";
|
|
22
22
|
import { getBlockingWaitingChanges, getWaitingChangePromisses, isWaiting, WaitingChangesReducer } from "./state/slice/WaitingChangesSlice.js";
|
|
23
23
|
import { canRedo, canUndo, HistReducer } from "./state/HistReducer.js";
|
|
@@ -436,10 +436,10 @@ export default class DataUnit {
|
|
|
436
436
|
*
|
|
437
437
|
*/
|
|
438
438
|
public async removeSelectedRecords(buffered: boolean = false): Promise<Array<string>> {
|
|
439
|
-
const selection =
|
|
439
|
+
const selection = getAllSelection(this._stateManager);
|
|
440
440
|
if (selection) {
|
|
441
|
-
const records = this.
|
|
442
|
-
return this.removeRecords(selection, records, buffered);
|
|
441
|
+
const records = this.getAllSelection() || [];
|
|
442
|
+
return this.removeRecords(selection.map(sel => sel.__record__id__), records, buffered);
|
|
443
443
|
}
|
|
444
444
|
return Promise.resolve(selection);
|
|
445
445
|
}
|
|
@@ -724,7 +724,7 @@ export default class DataUnit {
|
|
|
724
724
|
*
|
|
725
725
|
*/
|
|
726
726
|
public copySelected(executionCtx?: ExecutionContext): void {
|
|
727
|
-
const selectedRecords = this.
|
|
727
|
+
const selectedRecords = this.getAllSelection();
|
|
728
728
|
if (selectedRecords) {
|
|
729
729
|
this.dispatchAction(Action.RECORDS_COPIED, prepareCopiedRecord(this._stateManager, selectedRecords, this.getParentRecordId()), executionCtx);
|
|
730
730
|
}
|
|
@@ -825,27 +825,54 @@ export default class DataUnit {
|
|
|
825
825
|
this.dispatchAction(Action.WAITING_CHANGE_CANCELED, { fieldName }, undefined);
|
|
826
826
|
}
|
|
827
827
|
|
|
828
|
+
/**
|
|
829
|
+
* Obtém todos os registros selecionados.
|
|
830
|
+
*
|
|
831
|
+
* @returns - Lista de todos os registros selecionados.
|
|
832
|
+
*/
|
|
833
|
+
public getAllSelection(): Array<Record> {
|
|
834
|
+
return getAllSelection(this._stateManager);
|
|
835
|
+
}
|
|
836
|
+
|
|
828
837
|
/**
|
|
829
838
|
*
|
|
830
|
-
*
|
|
839
|
+
* Seleciona múltiplos registros.
|
|
831
840
|
*
|
|
832
|
-
* @
|
|
841
|
+
* @param selection - Registros para selecionar.
|
|
842
|
+
* @param executionCtx - Contexto de execução da seleção dos registros do DataUnit.
|
|
843
|
+
*
|
|
844
|
+
* @returns - Verdadeiro se ação executada.
|
|
833
845
|
*
|
|
834
846
|
*/
|
|
835
|
-
public
|
|
836
|
-
return
|
|
847
|
+
public setSelection(selection: Array<Record>, executionCtx?: ExecutionContext): Promise<boolean> {
|
|
848
|
+
return this.dispatchAction(Action.SELECTION_CHANGED, { type: "id", selection }, executionCtx);
|
|
837
849
|
}
|
|
838
850
|
|
|
839
851
|
/**
|
|
840
852
|
*
|
|
841
|
-
*
|
|
853
|
+
* Remove a seleção de múltiplos registros.
|
|
842
854
|
*
|
|
843
|
-
* @param
|
|
844
|
-
* @param executionCtx - Contexto de execução da seleção dos registros do DataUnit.
|
|
855
|
+
* @param unselection - Registros para remover a seleção.
|
|
856
|
+
* @param executionCtx - Contexto de execução da remoção da seleção dos registros do DataUnit.
|
|
857
|
+
*
|
|
858
|
+
* @returns - Verdadeiro se ação executada.
|
|
845
859
|
*
|
|
846
860
|
*/
|
|
847
|
-
public
|
|
848
|
-
this.dispatchAction(Action.
|
|
861
|
+
public setUnselection(unselection: Array<Record>, executionCtx?: ExecutionContext): Promise<boolean> {
|
|
862
|
+
return this.dispatchAction(Action.SELECTION_REMOVED, { type: "id", unselection }, executionCtx);
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
/**
|
|
866
|
+
*
|
|
867
|
+
* Remove a seleção de todos os registros.
|
|
868
|
+
*
|
|
869
|
+
* @param executionCtx - Contexto de execução da remoção da seleção dos registros do DataUnit.
|
|
870
|
+
*
|
|
871
|
+
* @returns - Verdadeiro se ação executada.
|
|
872
|
+
*
|
|
873
|
+
*/
|
|
874
|
+
public clearSelection(executionCtx?: ExecutionContext): Promise<boolean> {
|
|
875
|
+
return this.dispatchAction(Action.SELECTION_REMOVED, { type: "id", unselection: this.getAllSelection() }, executionCtx);
|
|
849
876
|
}
|
|
850
877
|
|
|
851
878
|
/**
|
|
@@ -882,23 +909,27 @@ export default class DataUnit {
|
|
|
882
909
|
* @param selection - Índices desejados para a seleção.
|
|
883
910
|
* @param executionCtx - Contexto de execução da seleção do registro do DataUnit.
|
|
884
911
|
*
|
|
912
|
+
* @returns - Verdadeiro se ação executada.
|
|
913
|
+
*
|
|
885
914
|
*/
|
|
886
|
-
public setSelectionByIndex(selection: Array<number>, executionCtx?: ExecutionContext):
|
|
887
|
-
this.dispatchAction(Action.SELECTION_CHANGED, { type: "index", selection }, executionCtx);
|
|
915
|
+
public setSelectionByIndex(selection: Array<number>, executionCtx?: ExecutionContext): Promise<boolean> {
|
|
916
|
+
return this.dispatchAction(Action.SELECTION_CHANGED, { type: "index", selection }, executionCtx);
|
|
888
917
|
}
|
|
889
918
|
|
|
890
919
|
/**
|
|
891
920
|
*
|
|
892
|
-
* Obtém
|
|
921
|
+
* Obtém os registros selecionados da página atual.
|
|
893
922
|
*
|
|
894
|
-
* @returns - Lista de registros selecionados.
|
|
923
|
+
* @returns - Lista de registros selecionados da página atual.
|
|
895
924
|
*
|
|
896
925
|
*/
|
|
897
926
|
public getSelectedRecords(): Array<Record> | undefined {
|
|
898
|
-
const selection: Array<
|
|
927
|
+
const selection: Array<Record> = this.getAllSelection();
|
|
899
928
|
if (selection) {
|
|
900
929
|
const currentRecords: Array<Record> = this.records;
|
|
901
|
-
return currentRecords?.filter(record =>
|
|
930
|
+
return currentRecords?.filter((record: Record) => {
|
|
931
|
+
return selection.some((sel: Record) => sel.__record__id__ === record.__record__id__);
|
|
932
|
+
});
|
|
902
933
|
}
|
|
903
934
|
}
|
|
904
935
|
|
|
@@ -910,9 +941,9 @@ export default class DataUnit {
|
|
|
910
941
|
*
|
|
911
942
|
*/
|
|
912
943
|
public getSelectedRecord(): Record | undefined {
|
|
913
|
-
const selection: Array<
|
|
914
|
-
if(!selection) return;
|
|
915
|
-
return this.records.find(record => (selection as Array<
|
|
944
|
+
const selection: Array<Record> = this.getAllSelection();
|
|
945
|
+
if (!selection) return;
|
|
946
|
+
return this.records.find(record => (selection as Array<Record>).some(sel => sel.__record__id__ === record.__record__id__));
|
|
916
947
|
}
|
|
917
948
|
|
|
918
949
|
/**
|
|
@@ -1300,13 +1331,13 @@ export default class DataUnit {
|
|
|
1300
1331
|
*/
|
|
1301
1332
|
public reloadCurrentRecord(): Promise<Array<Record>>{
|
|
1302
1333
|
return new Promise(async (resolve, fail) => {
|
|
1303
|
-
const selection = this.
|
|
1334
|
+
const selection = this.getAllSelection();
|
|
1304
1335
|
this.dispatchAction(Action.LOADING_RECORD, selection);
|
|
1305
1336
|
|
|
1306
1337
|
if(!this.dataLoader) return;
|
|
1307
1338
|
if(!this.recordLoader) return;
|
|
1308
1339
|
|
|
1309
|
-
this.recordLoader(this, selection).then(response => {
|
|
1340
|
+
this.recordLoader(this, selection?.map(sel => sel.__record__id__)).then(response => {
|
|
1310
1341
|
this.dispatchAction(Action.RECORD_LOADED, response)
|
|
1311
1342
|
}).catch(cause => {
|
|
1312
1343
|
const {errorCode} = cause;
|
|
@@ -1421,6 +1452,11 @@ export interface SavedRecord extends Record {
|
|
|
1421
1452
|
__old__id__?: string;
|
|
1422
1453
|
}
|
|
1423
1454
|
|
|
1455
|
+
export interface AllRecord extends Record {
|
|
1456
|
+
filter: Array<Filter>;
|
|
1457
|
+
sort: Array<Sort>;
|
|
1458
|
+
}
|
|
1459
|
+
|
|
1424
1460
|
export enum ChangeOperation {
|
|
1425
1461
|
INSERT = "INSERT",
|
|
1426
1462
|
COPY = "COPY",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { ActionReducer, StateAction } from "../StateManager.js";
|
|
3
3
|
import { Action } from "../action/DataUnitAction.js";
|
|
4
4
|
import StateManager from "../StateManager.js";
|
|
5
|
-
import {
|
|
5
|
+
import { getAllSelection } from "./SelectionSlice.js";
|
|
6
6
|
import { getRecords } from "./RecordsSlice.js";
|
|
7
7
|
import { getRemovedRecords } from "./RemovedRecordsSlice.js";
|
|
8
8
|
import { getAddedRecords } from "./AddedRecordsSlice.js";
|
|
@@ -32,7 +32,7 @@ class ChangesReducerImpl implements ActionReducer{
|
|
|
32
32
|
);
|
|
33
33
|
return changes;
|
|
34
34
|
case Action.DATA_CHANGED:
|
|
35
|
-
const selection: Array<string> = action.payload.records ||
|
|
35
|
+
const selection: Array<string> = action.payload.records || getAllSelection(stateManager);
|
|
36
36
|
if(selection){
|
|
37
37
|
const newState = new Map(currentState);
|
|
38
38
|
selection.forEach(recordId => {
|
|
@@ -3,7 +3,7 @@ import { ActionReducer } from "../StateManager.js";
|
|
|
3
3
|
import StateManager from "../StateManager.js";
|
|
4
4
|
import { Record } from "../../DataUnit.js";
|
|
5
5
|
import { getRecords } from "./RecordsSlice.js";
|
|
6
|
-
import {
|
|
6
|
+
import { getAllSelection } from "./SelectionSlice.js";
|
|
7
7
|
import { getChanges } from "./ChangesSlice.js";
|
|
8
8
|
import { getRemovedRecords } from "./RemovedRecordsSlice.js";
|
|
9
9
|
import { getAddedRecords } from "./AddedRecordsSlice.js";
|
|
@@ -64,11 +64,11 @@ export const getModifiedRecords = (stateManager: StateManager): Array<Record> |
|
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
export const getFieldValue = (stateManager: StateManager, fieldName: string): any => {
|
|
67
|
-
const selection =
|
|
67
|
+
const selection = getAllSelection(stateManager);
|
|
68
68
|
if(selection && selection.length > 0){
|
|
69
69
|
const currentRecords = getCurrentRecords(stateManager);
|
|
70
70
|
if(currentRecords){
|
|
71
|
-
const record = currentRecords.get(selection[0]);
|
|
71
|
+
const record = currentRecords.get(selection[0].__record__id__);
|
|
72
72
|
return record ? record[fieldName] : undefined;
|
|
73
73
|
}
|
|
74
74
|
}
|