@sankhyalabs/core 1.0.49 → 1.0.52
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/dist/dataunit/DataUnit.d.ts +2 -0
- package/dist/dataunit/DataUnit.js +10 -2
- package/dist/dataunit/DataUnit.js.map +1 -1
- package/dist/dataunit/metadata/DataType.d.ts +1 -1
- package/dist/dataunit/metadata/DataType.js +25 -3
- package/dist/dataunit/metadata/DataType.js.map +1 -1
- package/dist/dataunit/metadata/UnitMetadata.d.ts +1 -0
- package/dist/dataunit/metadata/UnitMetadata.js.map +1 -1
- package/dist/dataunit/state/slice/CurrentRecordsSlice.d.ts +1 -0
- package/dist/dataunit/state/slice/CurrentRecordsSlice.js +16 -0
- package/dist/dataunit/state/slice/CurrentRecordsSlice.js.map +1 -1
- package/package.json +1 -1
- package/src/dataunit/DataUnit.ts +13 -3
- package/src/dataunit/metadata/DataType.ts +30 -10
- package/src/dataunit/metadata/UnitMetadata.ts +1 -0
- package/src/dataunit/state/slice/CurrentRecordsSlice.ts +22 -0
|
@@ -22,6 +22,7 @@ export default class DataUnit {
|
|
|
22
22
|
removeSelectedRecords(buffered?: boolean): Promise<Array<string>>;
|
|
23
23
|
removeRecords(records: Array<string>, buffered?: boolean): Promise<Array<string>>;
|
|
24
24
|
valueFromString(fieldName: string, value: string): any;
|
|
25
|
+
valueToString(fieldName: string, value: any): string;
|
|
25
26
|
addInterceptor(interceptor: DUActionInterceptor): void;
|
|
26
27
|
removeInterceptor(interceptor: DUActionInterceptor): void;
|
|
27
28
|
addFilterProvider(provider: FilterProvider): void;
|
|
@@ -30,6 +31,7 @@ export default class DataUnit {
|
|
|
30
31
|
get metadata(): UnitMetadata;
|
|
31
32
|
set records(r: Array<Record>);
|
|
32
33
|
get records(): Array<Record>;
|
|
34
|
+
getModifiedRecords(): Array<Record>;
|
|
33
35
|
getField(fieldName: string): FieldDescriptor | undefined;
|
|
34
36
|
addRecord(): void;
|
|
35
37
|
copySelected(): void;
|
|
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import { convertType } from "./metadata/DataType.js";
|
|
10
|
+
import { convertType, toString } from "./metadata/DataType.js";
|
|
11
11
|
import { DataUnitAction, Action } from "./state/action/DataUnitAction.js";
|
|
12
12
|
import StateManager from "./state/StateManager.js";
|
|
13
13
|
import { HistReducer, canRedo, canUndo } from "./state/HistReducer.js";
|
|
@@ -17,7 +17,7 @@ import { SelectionReducer, getSelection, hasNext, hasPrevious } from "./state/sl
|
|
|
17
17
|
import { ChangesReducer, isDirty, getChangesToSave } from "./state/slice/ChangesSlice.js";
|
|
18
18
|
import { RemovedRecordsReducer } from "./state/slice/RemovedRecordsSlice.js";
|
|
19
19
|
import { AddedRecordsReducer, prepareAddedRecordId } from "./state/slice/AddedRecordsSlice.js";
|
|
20
|
-
import { CurrentRecordsReducer, getCurrentRecords, getFieldValue } from "./state/slice/CurrentRecordsSlice.js";
|
|
20
|
+
import { CurrentRecordsReducer, getCurrentRecords, getFieldValue, getModifiedRecords } from "./state/slice/CurrentRecordsSlice.js";
|
|
21
21
|
import { getWaitingChanges, WaitingChangesReducer } from "./state/slice/WaitingChangesSlice.js";
|
|
22
22
|
export default class DataUnit {
|
|
23
23
|
constructor(name) {
|
|
@@ -145,6 +145,10 @@ export default class DataUnit {
|
|
|
145
145
|
const descriptor = this.getField(fieldName);
|
|
146
146
|
return descriptor ? convertType(descriptor.dataType, value) : value;
|
|
147
147
|
}
|
|
148
|
+
valueToString(fieldName, value) {
|
|
149
|
+
const descriptor = this.getField(fieldName);
|
|
150
|
+
return toString(descriptor === null || descriptor === void 0 ? void 0 : descriptor.dataType, value);
|
|
151
|
+
}
|
|
148
152
|
addInterceptor(interceptor) {
|
|
149
153
|
this._interceptors.push(interceptor);
|
|
150
154
|
}
|
|
@@ -170,6 +174,10 @@ export default class DataUnit {
|
|
|
170
174
|
const records = getCurrentRecords(this._stateManager);
|
|
171
175
|
return records ? Array.from(records.values()) : [];
|
|
172
176
|
}
|
|
177
|
+
getModifiedRecords() {
|
|
178
|
+
const modified = getModifiedRecords(this._stateManager);
|
|
179
|
+
return modified || [];
|
|
180
|
+
}
|
|
173
181
|
getField(fieldName) {
|
|
174
182
|
return getField(this._stateManager, fieldName);
|
|
175
183
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataUnit.js","sourceRoot":"","sources":["../../src/dataunit/DataUnit.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"DataUnit.js","sourceRoot":"","sources":["../../src/dataunit/DataUnit.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,4 +6,4 @@ export declare enum DataType {
|
|
|
6
6
|
OBJECT = "OBJECT"
|
|
7
7
|
}
|
|
8
8
|
export declare const convertType: (dataType: DataType, value: any) => any;
|
|
9
|
-
export declare const toString: (dataType: DataType, value: any) => string;
|
|
9
|
+
export declare const toString: (dataType: DataType | undefined, value: any) => string;
|
|
@@ -27,11 +27,33 @@ export const toString = (dataType, value) => {
|
|
|
27
27
|
if (value === undefined || value === null) {
|
|
28
28
|
return value;
|
|
29
29
|
}
|
|
30
|
-
if (dataType
|
|
31
|
-
|
|
30
|
+
if (dataType) {
|
|
31
|
+
if (dataType === DataType.OBJECT) {
|
|
32
|
+
return JSON.stringify(value);
|
|
33
|
+
}
|
|
34
|
+
else if (dataType === DataType.DATE) {
|
|
35
|
+
return value.toISOString();
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
return value.toString();
|
|
39
|
+
}
|
|
32
40
|
}
|
|
33
41
|
else {
|
|
34
|
-
|
|
42
|
+
if (typeof value === "string") {
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
else if (value instanceof Date) {
|
|
46
|
+
return value.toISOString();
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
try {
|
|
50
|
+
return JSON.stringify(value);
|
|
51
|
+
}
|
|
52
|
+
catch (_a) {
|
|
53
|
+
value = value.toString();
|
|
54
|
+
}
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
35
57
|
}
|
|
36
58
|
};
|
|
37
59
|
//# sourceMappingURL=DataType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataType.js","sourceRoot":"","sources":["../../../src/dataunit/metadata/DataType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,6BAAiB,CAAA;IACjB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;AACrB,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"DataType.js","sourceRoot":"","sources":["../../../src/dataunit/metadata/DataType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,6BAAiB,CAAA;IACjB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;AACrB,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAkB,EAAE,KAAU,EAAO,EAAE;IAE/D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;QACvC,OAAO,KAAK,CAAC;KAChB;IAED,QAAQ,QAAQ,EAAE;QACd,KAAK,QAAQ,CAAC,MAAM;YAChB,OAAO,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/D,KAAK,QAAQ,CAAC,MAAM;YAChB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACjE,KAAK,QAAQ,CAAC,OAAO;YACjB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,KAAK,QAAQ,CAAC,IAAI;YACd,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtC;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAE,QAA4B,EAAE,KAAU,EAAU,EAAE;IAE1E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;QACvC,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,QAAQ,EAAE;QACV,IAAI,QAAQ,KAAK,QAAQ,CAAC,MAAM,EAAE;YAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAChC;aAAM,IAAI,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE;YACnC,OAAQ,KAAc,CAAC,WAAW,EAAE,CAAC;SACxC;aAAM;YACH,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;SAC3B;KACJ;SAAM;QACH,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,OAAO,KAAK,CAAC;SAChB;aAAM,IAAI,KAAK,YAAY,IAAI,EAAE;YAC9B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;SAC9B;aAAM;YACH,IAAI;gBACA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aAChC;YAAC,WAAM;gBACJ,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;aAC5B;YAED,OAAO,KAAK,CAAC;SAChB;KACJ;AACL,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnitMetadata.js","sourceRoot":"","sources":["../../../src/dataunit/metadata/UnitMetadata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UnitMetadata.js","sourceRoot":"","sources":["../../../src/dataunit/metadata/UnitMetadata.ts"],"names":[],"mappings":"AAqDA,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAChB,uBAAW,CAAA;IACX,yBAAa,CAAA;AACjB,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,4CAA0B,CAAA;AAC9B,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,MAAM,CAAN,IAAY,aAkBX;AAlBD,WAAY,aAAa;IACrB,8BAAa,CAAA;IACb,gCAAe,CAAA;IACf,8BAAa,CAAA;IACb,sCAAqB,CAAA;IACrB,8BAAa,CAAA;IACb,4CAA2B,CAAA;IAC3B,sCAAqB,CAAA;IACrB,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;IACjC,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,kCAAiB,CAAA;IACjB,wCAAuB,CAAA;IACvB,sCAAqB,CAAA;IACrB,0CAAyB,CAAA;IACzB,sCAAqB,CAAA;IACrB,8BAAa,CAAA;AACjB,CAAC,EAlBW,aAAa,KAAb,aAAa,QAkBxB"}
|
|
@@ -7,5 +7,6 @@ declare class CurrentRecordsReducerImpl implements ActionReducer {
|
|
|
7
7
|
}
|
|
8
8
|
export declare const CurrentRecordsReducer: CurrentRecordsReducerImpl;
|
|
9
9
|
export declare const getCurrentRecords: (stateManager: StateManager) => Map<string, Record>;
|
|
10
|
+
export declare const getModifiedRecords: (stateManager: StateManager) => Array<Record> | undefined;
|
|
10
11
|
export declare const getFieldValue: (stateManager: StateManager, fieldName: string) => any;
|
|
11
12
|
export {};
|
|
@@ -32,6 +32,22 @@ export const CurrentRecordsReducer = new CurrentRecordsReducerImpl();
|
|
|
32
32
|
export const getCurrentRecords = (stateManager) => {
|
|
33
33
|
return stateManager.select(CurrentRecordsReducer.sliceName, (state) => state);
|
|
34
34
|
};
|
|
35
|
+
export const getModifiedRecords = (stateManager) => {
|
|
36
|
+
const currentRecords = getCurrentRecords(stateManager);
|
|
37
|
+
if (!currentRecords) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
const changes = getChanges(stateManager);
|
|
41
|
+
const added = getAddedRecords(stateManager);
|
|
42
|
+
if (!changes && !added) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
let modifiedIDs = changes ? Array.from(changes.keys()) : [];
|
|
46
|
+
if (added) {
|
|
47
|
+
modifiedIDs = modifiedIDs.concat(added.map(r => r.__record__id__));
|
|
48
|
+
}
|
|
49
|
+
return Array.from(currentRecords.values()).filter(r => modifiedIDs.includes(r.__record__id__));
|
|
50
|
+
};
|
|
35
51
|
export const getFieldValue = (stateManager, fieldName) => {
|
|
36
52
|
const selection = getSelection(stateManager);
|
|
37
53
|
if (selection && selection.length > 0) {
|
|
@@ -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,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,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,OAAO,IAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACzC;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,aAAa,GAAG,CAAC,YAA0B,EAAE,SAAiB,EAAO,EAAE;IAChF,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC7C,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;YAChD,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SACjD;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"CurrentRecordsSlice.js","sourceRoot":"","sources":["../../../../src/dataunit/state/slice/CurrentRecordsSlice.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/dataunit/DataUnit.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { UnitMetadata, FieldDescriptor, SortingProvider, FilterProvider, Sort, Filter } from "./metadata/UnitMetadata.js";
|
|
2
|
-
import { convertType } from "./metadata/DataType.js";
|
|
2
|
+
import { convertType, toString } from "./metadata/DataType.js";
|
|
3
3
|
|
|
4
4
|
import { DataUnitAction, Action } from "./state/action/DataUnitAction.js";
|
|
5
5
|
import StateManager from "./state/StateManager.js";
|
|
@@ -11,7 +11,7 @@ import { SelectionReducer, getSelection, hasNext, hasPrevious } from "./state/sl
|
|
|
11
11
|
import { ChangesReducer, isDirty, getChangesToSave } from "./state/slice/ChangesSlice.js";
|
|
12
12
|
import { RemovedRecordsReducer } from "./state/slice/RemovedRecordsSlice.js";
|
|
13
13
|
import { AddedRecordsReducer, prepareAddedRecordId } from "./state/slice/AddedRecordsSlice.js";
|
|
14
|
-
import { CurrentRecordsReducer, getCurrentRecords, getFieldValue } from "./state/slice/CurrentRecordsSlice.js";
|
|
14
|
+
import { CurrentRecordsReducer, getCurrentRecords, getFieldValue, getModifiedRecords } from "./state/slice/CurrentRecordsSlice.js";
|
|
15
15
|
import { getWaitingChanges, WaitingChangesReducer } from "./state/slice/WaitingChangesSlice.js";
|
|
16
16
|
|
|
17
17
|
export default class DataUnit {
|
|
@@ -161,10 +161,15 @@ export default class DataUnit {
|
|
|
161
161
|
|
|
162
162
|
// API
|
|
163
163
|
public valueFromString(fieldName: string, value: string): any {
|
|
164
|
-
const descriptor
|
|
164
|
+
const descriptor = this.getField(fieldName);
|
|
165
165
|
return descriptor ? convertType(descriptor.dataType, value) : value;
|
|
166
166
|
}
|
|
167
167
|
|
|
168
|
+
public valueToString(fieldName: string, value: any): string {
|
|
169
|
+
const descriptor = this.getField(fieldName);
|
|
170
|
+
return toString(descriptor?.dataType, value);
|
|
171
|
+
}
|
|
172
|
+
|
|
168
173
|
public addInterceptor(interceptor: DUActionInterceptor): void {
|
|
169
174
|
this._interceptors.push(interceptor);
|
|
170
175
|
}
|
|
@@ -198,6 +203,11 @@ export default class DataUnit {
|
|
|
198
203
|
return records ? Array.from(records.values()) : [];
|
|
199
204
|
}
|
|
200
205
|
|
|
206
|
+
public getModifiedRecords(): Array<Record> {
|
|
207
|
+
const modified = getModifiedRecords(this._stateManager);
|
|
208
|
+
return modified || [];
|
|
209
|
+
}
|
|
210
|
+
|
|
201
211
|
public getField(fieldName: string): FieldDescriptor | undefined {
|
|
202
212
|
return getField(this._stateManager, fieldName);
|
|
203
213
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export enum DataType{
|
|
1
|
+
export enum DataType {
|
|
2
2
|
NUMBER = "NUMBER",
|
|
3
3
|
DATE = "DATE",
|
|
4
4
|
TEXT = "TEXT",
|
|
@@ -6,11 +6,13 @@ export enum DataType{
|
|
|
6
6
|
OBJECT = "OBJECT"
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
export const convertType = (dataType:DataType, value: any): any => {
|
|
10
|
-
|
|
9
|
+
export const convertType = (dataType: DataType, value: any): any => {
|
|
10
|
+
|
|
11
|
+
if (value === undefined || value === null) {
|
|
11
12
|
return value;
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
+
|
|
15
|
+
switch (dataType) {
|
|
14
16
|
case DataType.NUMBER:
|
|
15
17
|
return value === "" || isNaN(value) ? null : Number(value);
|
|
16
18
|
case DataType.OBJECT:
|
|
@@ -24,15 +26,33 @@ export const convertType = (dataType:DataType, value: any): any => {
|
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
28
|
|
|
27
|
-
export const toString = (dataType:DataType, value: any): string => {
|
|
28
|
-
|
|
29
|
-
if(value === undefined || value === null){
|
|
29
|
+
export const toString = ( dataType: DataType|undefined, value: any): string => {
|
|
30
|
+
|
|
31
|
+
if (value === undefined || value === null) {
|
|
30
32
|
return value;
|
|
31
33
|
}
|
|
32
34
|
|
|
33
|
-
if(dataType
|
|
34
|
-
|
|
35
|
+
if (dataType) {
|
|
36
|
+
if (dataType === DataType.OBJECT) {
|
|
37
|
+
return JSON.stringify(value);
|
|
38
|
+
} else if (dataType === DataType.DATE) {
|
|
39
|
+
return (value as Date).toISOString();
|
|
40
|
+
} else {
|
|
41
|
+
return value.toString();
|
|
42
|
+
}
|
|
35
43
|
} else {
|
|
36
|
-
|
|
44
|
+
if (typeof value === "string") {
|
|
45
|
+
return value;
|
|
46
|
+
} else if (value instanceof Date) {
|
|
47
|
+
return value.toISOString();
|
|
48
|
+
} else {
|
|
49
|
+
try {
|
|
50
|
+
return JSON.stringify(value);
|
|
51
|
+
} catch {
|
|
52
|
+
value = value.toString();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
37
57
|
}
|
|
38
58
|
}
|
|
@@ -41,6 +41,28 @@ export const getCurrentRecords = (stateManager: StateManager): Map<string, Recor
|
|
|
41
41
|
return stateManager.select(CurrentRecordsReducer.sliceName, (state: Map<string, Record>) => state);
|
|
42
42
|
};
|
|
43
43
|
|
|
44
|
+
export const getModifiedRecords = (stateManager: StateManager): Array<Record> | undefined => {
|
|
45
|
+
|
|
46
|
+
const currentRecords = getCurrentRecords(stateManager);
|
|
47
|
+
if(!currentRecords){
|
|
48
|
+
return undefined
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const changes = getChanges(stateManager);
|
|
52
|
+
const added = getAddedRecords(stateManager);
|
|
53
|
+
if(!changes && !added){
|
|
54
|
+
return undefined
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
let modifiedIDs = changes ? Array.from(changes.keys()) : [];
|
|
58
|
+
|
|
59
|
+
if(added){
|
|
60
|
+
modifiedIDs = modifiedIDs.concat(added.map(r=>r.__record__id__));
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return Array.from(currentRecords.values()).filter(r=>modifiedIDs.includes(r.__record__id__));
|
|
64
|
+
}
|
|
65
|
+
|
|
44
66
|
export const getFieldValue = (stateManager: StateManager, fieldName: string): any => {
|
|
45
67
|
const selection = getSelection(stateManager);
|
|
46
68
|
if(selection && selection.length > 0){
|