@sankhyalabs/core 4.1.1 → 4.2.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 +14 -3
- 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 -0
- 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":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,MAAM,yBAAyB;IAA/B;QAEW,cAAS,GAAW,gBAAgB,CAAC;IAsBhD,CAAC;IApBU,MAAM,CAAC,YAA0B;QACpC,IAAI,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAG,CAAC,OAAO,IAAI,CAAC,KAAK,EAAC;YAClB,OAAO,SAAS,CAAC;SACpB;QACD,IAAG,KAAK,EAAC;YACL,OAAO,GAAG,CAAC,KAAK,IAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,IAAE,EAAE,CAAC,CAAC;SAC7C;QACD,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACvD,IAAG,cAAc,EAAC;YACd,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;SAC7E;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QACzC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC3B,MAAM,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC;YAClC,MAAM,MAAM,mCAAO,CAAC,GAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,yBAAyB,EAAE,CAAC;AAErE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,YAA0B,EAAuB,EAAE;IACjF,OAAO,YAAY,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,CAAC,KAA0B,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AACvG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,YAA0B,EAA6B,EAAE;IAExF,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACvD,IAAG,CAAC,cAAc,EAAC;QACf,OAAO,SAAS,CAAA;KACnB;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAC5C,IAAG,CAAC,OAAO,IAAI,CAAC,KAAK,EAAC;QAClB,OAAO,SAAS,CAAA;KACnB;IAED,IAAI,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5D,IAAG,KAAK,EAAC;QACL,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;KACpE;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAA,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;AACjG,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,YAA0B,EAAE,SAAiB,EAAO,EAAE;IAChF,MAAM,SAAS,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAChD,IAAG,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAC;QACjC,MAAM,cAAc,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACvD,IAAG,cAAc,EAAC;YACd,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YAC/D,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SACjD;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC"}
|
|
@@ -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":"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"}
|
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";
|
|
@@ -438,10 +438,10 @@ export default class DataUnit {
|
|
|
438
438
|
*
|
|
439
439
|
*/
|
|
440
440
|
public async removeSelectedRecords(buffered: boolean = false): Promise<Array<string>> {
|
|
441
|
-
const selection =
|
|
441
|
+
const selection = getAllSelection(this._stateManager);
|
|
442
442
|
if (selection) {
|
|
443
|
-
const records = this.
|
|
444
|
-
return this.removeRecords(selection, records, buffered);
|
|
443
|
+
const records = this.getAllSelection() || [];
|
|
444
|
+
return this.removeRecords(selection.map(sel => sel.__record__id__), records, buffered);
|
|
445
445
|
}
|
|
446
446
|
return Promise.resolve(selection);
|
|
447
447
|
}
|
|
@@ -737,7 +737,7 @@ export default class DataUnit {
|
|
|
737
737
|
*
|
|
738
738
|
*/
|
|
739
739
|
public copySelected(executionCtx?: ExecutionContext): void {
|
|
740
|
-
const selectedRecords = this.
|
|
740
|
+
const selectedRecords = this.getAllSelection();
|
|
741
741
|
if (selectedRecords) {
|
|
742
742
|
this.dispatchAction(Action.RECORDS_COPIED, prepareCopiedRecord(this._stateManager, selectedRecords, this.getParentRecordId()), executionCtx);
|
|
743
743
|
}
|
|
@@ -875,27 +875,54 @@ export default class DataUnit {
|
|
|
875
875
|
this.dispatchAction(Action.WAITING_CHANGE_CANCELED, { fieldName }, undefined);
|
|
876
876
|
}
|
|
877
877
|
|
|
878
|
+
/**
|
|
879
|
+
* Obtém todos os registros selecionados.
|
|
880
|
+
*
|
|
881
|
+
* @returns - Lista de todos os registros selecionados.
|
|
882
|
+
*/
|
|
883
|
+
public getAllSelection(): Array<Record> {
|
|
884
|
+
return getAllSelection(this._stateManager);
|
|
885
|
+
}
|
|
886
|
+
|
|
878
887
|
/**
|
|
879
888
|
*
|
|
880
|
-
*
|
|
889
|
+
* Seleciona múltiplos registros.
|
|
881
890
|
*
|
|
882
|
-
* @
|
|
891
|
+
* @param selection - Registros para selecionar.
|
|
892
|
+
* @param executionCtx - Contexto de execução da seleção dos registros do DataUnit.
|
|
893
|
+
*
|
|
894
|
+
* @returns - Verdadeiro se ação executada.
|
|
883
895
|
*
|
|
884
896
|
*/
|
|
885
|
-
public
|
|
886
|
-
return
|
|
897
|
+
public setSelection(selection: Array<Record>, executionCtx?: ExecutionContext): Promise<boolean> {
|
|
898
|
+
return this.dispatchAction(Action.SELECTION_CHANGED, { type: "id", selection }, executionCtx);
|
|
887
899
|
}
|
|
888
900
|
|
|
889
901
|
/**
|
|
890
902
|
*
|
|
891
|
-
*
|
|
903
|
+
* Remove a seleção de múltiplos registros.
|
|
892
904
|
*
|
|
893
|
-
* @param
|
|
894
|
-
* @param executionCtx - Contexto de execução da seleção dos registros do DataUnit.
|
|
905
|
+
* @param unselection - Registros para remover a seleção.
|
|
906
|
+
* @param executionCtx - Contexto de execução da remoção da seleção dos registros do DataUnit.
|
|
907
|
+
*
|
|
908
|
+
* @returns - Verdadeiro se ação executada.
|
|
895
909
|
*
|
|
896
910
|
*/
|
|
897
|
-
public
|
|
898
|
-
this.dispatchAction(Action.
|
|
911
|
+
public setUnselection(unselection: Array<Record>, executionCtx?: ExecutionContext): Promise<boolean> {
|
|
912
|
+
return this.dispatchAction(Action.SELECTION_REMOVED, { type: "id", unselection }, executionCtx);
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
/**
|
|
916
|
+
*
|
|
917
|
+
* Remove a seleção de todos os registros.
|
|
918
|
+
*
|
|
919
|
+
* @param executionCtx - Contexto de execução da remoção da seleção dos registros do DataUnit.
|
|
920
|
+
*
|
|
921
|
+
* @returns - Verdadeiro se ação executada.
|
|
922
|
+
*
|
|
923
|
+
*/
|
|
924
|
+
public clearSelection(executionCtx?: ExecutionContext): Promise<boolean> {
|
|
925
|
+
return this.dispatchAction(Action.SELECTION_REMOVED, { type: "id", unselection: this.getAllSelection() }, executionCtx);
|
|
899
926
|
}
|
|
900
927
|
|
|
901
928
|
/**
|
|
@@ -932,23 +959,27 @@ export default class DataUnit {
|
|
|
932
959
|
* @param selection - Índices desejados para a seleção.
|
|
933
960
|
* @param executionCtx - Contexto de execução da seleção do registro do DataUnit.
|
|
934
961
|
*
|
|
962
|
+
* @returns - Verdadeiro se ação executada.
|
|
963
|
+
*
|
|
935
964
|
*/
|
|
936
|
-
public setSelectionByIndex(selection: Array<number>, executionCtx?: ExecutionContext):
|
|
937
|
-
this.dispatchAction(Action.SELECTION_CHANGED, { type: "index", selection }, executionCtx);
|
|
965
|
+
public setSelectionByIndex(selection: Array<number>, executionCtx?: ExecutionContext): Promise<boolean> {
|
|
966
|
+
return this.dispatchAction(Action.SELECTION_CHANGED, { type: "index", selection }, executionCtx);
|
|
938
967
|
}
|
|
939
968
|
|
|
940
969
|
/**
|
|
941
970
|
*
|
|
942
|
-
* Obtém
|
|
971
|
+
* Obtém os registros selecionados da página atual.
|
|
943
972
|
*
|
|
944
|
-
* @returns - Lista de registros selecionados.
|
|
973
|
+
* @returns - Lista de registros selecionados da página atual.
|
|
945
974
|
*
|
|
946
975
|
*/
|
|
947
976
|
public getSelectedRecords(): Array<Record> | undefined {
|
|
948
|
-
const selection: Array<
|
|
977
|
+
const selection: Array<Record> = this.getAllSelection();
|
|
949
978
|
if (selection) {
|
|
950
979
|
const currentRecords: Array<Record> = this.records;
|
|
951
|
-
return currentRecords?.filter(record =>
|
|
980
|
+
return currentRecords?.filter((record: Record) => {
|
|
981
|
+
return selection.some((sel: Record) => sel.__record__id__ === record.__record__id__);
|
|
982
|
+
});
|
|
952
983
|
}
|
|
953
984
|
}
|
|
954
985
|
|
|
@@ -960,9 +991,9 @@ export default class DataUnit {
|
|
|
960
991
|
*
|
|
961
992
|
*/
|
|
962
993
|
public getSelectedRecord(): Record | undefined {
|
|
963
|
-
const selection: Array<
|
|
964
|
-
if(!selection) return;
|
|
965
|
-
return this.records.find(record => (selection as Array<
|
|
994
|
+
const selection: Array<Record> = this.getAllSelection();
|
|
995
|
+
if (!selection) return;
|
|
996
|
+
return this.records.find(record => (selection as Array<Record>).some(sel => sel.__record__id__ === record.__record__id__));
|
|
966
997
|
}
|
|
967
998
|
|
|
968
999
|
/**
|
|
@@ -1350,13 +1381,13 @@ export default class DataUnit {
|
|
|
1350
1381
|
*/
|
|
1351
1382
|
public reloadCurrentRecord(): Promise<Array<Record>>{
|
|
1352
1383
|
return new Promise(async (resolve, fail) => {
|
|
1353
|
-
const selection = this.
|
|
1384
|
+
const selection = this.getAllSelection();
|
|
1354
1385
|
this.dispatchAction(Action.LOADING_RECORD, selection);
|
|
1355
1386
|
|
|
1356
1387
|
if(!this.dataLoader) return;
|
|
1357
1388
|
if(!this.recordLoader) return;
|
|
1358
1389
|
|
|
1359
|
-
this.recordLoader(this, selection).then(response => {
|
|
1390
|
+
this.recordLoader(this, selection?.map(sel => sel.__record__id__)).then(response => {
|
|
1360
1391
|
this.dispatchAction(Action.RECORD_LOADED, response)
|
|
1361
1392
|
}).catch(cause => {
|
|
1362
1393
|
const {errorCode} = cause;
|
|
@@ -1471,6 +1502,11 @@ export interface SavedRecord extends Record {
|
|
|
1471
1502
|
__old__id__?: string;
|
|
1472
1503
|
}
|
|
1473
1504
|
|
|
1505
|
+
export interface AllRecord extends Record {
|
|
1506
|
+
filter: Array<Filter>;
|
|
1507
|
+
sort: Array<Sort>;
|
|
1508
|
+
}
|
|
1509
|
+
|
|
1474
1510
|
export enum ChangeOperation {
|
|
1475
1511
|
INSERT = "INSERT",
|
|
1476
1512
|
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
|
}
|