@trudb/tru-common-lib 0.0.821 → 0.0.823
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/esm2022/lib/base-classes/tru-entity-base.mjs +3 -2
- package/esm2022/lib/classes/tru-merge-data-set.mjs +4 -1
- package/esm2022/lib/classes/tru-validator-factory.mjs +7 -6
- package/fesm2022/trudb-tru-common-lib.mjs +27 -6
- package/fesm2022/trudb-tru-common-lib.mjs.map +1 -1
- package/lib/base-classes/tru-entity-base.d.ts +1 -1
- package/lib/classes/tru-merge-data-set.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EntityAspect } from 'breeze-client';
|
|
2
|
+
import { TruMergeDataSet } from '../classes/tru-merge-data-set';
|
|
2
3
|
export class TruEntityBase {
|
|
3
4
|
constructor(...args) { }
|
|
4
5
|
entityAspect = new EntityAspect();
|
|
@@ -8,7 +9,7 @@ export class TruEntityBase {
|
|
|
8
9
|
Updated = undefined;
|
|
9
10
|
UpdatedRef = undefined;
|
|
10
11
|
rowver;
|
|
11
|
-
Merge_Data_Set =
|
|
12
|
+
Merge_Data_Set = new TruMergeDataSet();
|
|
12
13
|
Is_Invalid = undefined;
|
|
13
14
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWVudGl0eS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9iYXNlLWNsYXNzZXMvdHJ1LWVudGl0eS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxZQUFZLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWhFLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQVksR0FBRyxJQUFXLElBQUksQ0FBQztJQUUvQixZQUFZLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDaEQsVUFBVSxDQUFjO0lBRXhCLE9BQU8sR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQzNCLFVBQVUsR0FBVyxDQUFDLENBQUMsQ0FBQztJQUN4QixPQUFPLEdBQXFCLFNBQVMsQ0FBQztJQUN0QyxVQUFVLEdBQXVCLFNBQVMsQ0FBQztJQUMzQyxNQUFNLENBQU07SUFFWixjQUFjLEdBQW9CLElBQUksZUFBZSxFQUFFLENBQUM7SUFDeEQsVUFBVSxHQUF3QixTQUFTLENBQUM7Q0FDN0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHksIEVudGl0eUFzcGVjdCwgRW50aXR5VHlwZSB9IGZyb20gJ2JyZWV6ZS1jbGllbnQnO1xyXG5pbXBvcnQgeyBUcnVNZXJnZURhdGFTZXQgfSBmcm9tICcuLi9jbGFzc2VzL3RydS1tZXJnZS1kYXRhLXNldCc7XHJcblxyXG5leHBvcnQgY2xhc3MgVHJ1RW50aXR5QmFzZSBpbXBsZW1lbnRzIEVudGl0eSB7XHJcbiAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHsgfVxyXG5cclxuICBlbnRpdHlBc3BlY3Q6IEVudGl0eUFzcGVjdCA9IG5ldyBFbnRpdHlBc3BlY3QoKTtcclxuICBlbnRpdHlUeXBlITogRW50aXR5VHlwZTtcclxuXHJcbiAgQ3JlYXRlZDogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgQ3JlYXRlZFJlZjogbnVtYmVyID0gLTE7XHJcbiAgVXBkYXRlZDogRGF0ZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICBVcGRhdGVkUmVmOiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgcm93dmVyOiBhbnk7XHJcblxyXG4gIE1lcmdlX0RhdGFfU2V0OiBUcnVNZXJnZURhdGFTZXQgPSBuZXcgVHJ1TWVyZ2VEYXRhU2V0KCk7XHJcbiAgSXNfSW52YWxpZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxufVxyXG4iXX0=
|
|
@@ -12,6 +12,9 @@ export class TruMergeDataSet {
|
|
|
12
12
|
clearAll = () => {
|
|
13
13
|
this._data = {};
|
|
14
14
|
};
|
|
15
|
+
isEmpty = () => {
|
|
16
|
+
return Object.keys(this._data).length === 0;
|
|
17
|
+
};
|
|
15
18
|
constructor() { }
|
|
16
19
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LW1lcmdlLWRhdGEtc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jbGFzc2VzL3RydS1tZXJnZS1kYXRhLXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZUFBZTtJQUNsQixLQUFLLEdBQWlDLEVBQUUsQ0FBQztJQUVqRCxHQUFHLEdBQUcsQ0FBQyxZQUFvQixFQUE0QixFQUFFO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUE7SUFFRCxHQUFHLEdBQUcsQ0FBQyxZQUFvQixFQUFFLElBQWtCLEVBQUUsRUFBRTtRQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDLENBQUE7SUFFRCxLQUFLLEdBQUcsQ0FBQyxZQUFvQixFQUFFLEVBQUU7UUFDL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xDLENBQUMsQ0FBQTtJQUVELFFBQVEsR0FBRyxHQUFHLEVBQUU7UUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNsQixDQUFDLENBQUE7SUFFRCxPQUFPLEdBQUcsR0FBWSxFQUFFO1FBQ3RCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDLENBQUE7SUFFRCxnQkFBZSxDQUFDO0NBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJ1TWVyZ2VEYXRhIH0gZnJvbSBcIi4vdHJ1LW1lcmdlLWRhdGFcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVNZXJnZURhdGFTZXQge1xyXG4gIHByaXZhdGUgX2RhdGE6IFJlY29yZDxzdHJpbmcsIFRydU1lcmdlRGF0YT4gPSB7fTtcclxuXHJcbiAgZ2V0ID0gKHByb3BlcnR5TmFtZTogc3RyaW5nKTogVHJ1TWVyZ2VEYXRhIHwgdW5kZWZpbmVkID0+IHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhW3Byb3BlcnR5TmFtZV07XHJcbiAgfVxyXG5cclxuICBzZXQgPSAocHJvcGVydHlOYW1lOiBzdHJpbmcsIGRhdGE6IFRydU1lcmdlRGF0YSkgPT4ge1xyXG4gICAgdGhpcy5fZGF0YVtwcm9wZXJ0eU5hbWVdID0gZGF0YTtcclxuICB9XHJcblxyXG4gIGNsZWFyID0gKHByb3BlcnR5TmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICBkZWxldGUgdGhpcy5fZGF0YVtwcm9wZXJ0eU5hbWVdO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJBbGwgPSAoKSA9PiB7XHJcbiAgICB0aGlzLl9kYXRhID0ge307XHJcbiAgfVxyXG5cclxuICBpc0VtcHR5ID0gKCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX2RhdGEpLmxlbmd0aCA9PT0gMDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxufVxyXG4iXX0=
|
|
@@ -42,12 +42,13 @@ export class TruValidatorFactory {
|
|
|
42
42
|
return true;
|
|
43
43
|
}
|
|
44
44
|
satisfiesMergeValidation = (value, context) => {
|
|
45
|
-
var mergeData =
|
|
46
|
-
if (
|
|
45
|
+
var mergeData = context.entity.Merge_Data_Set;
|
|
46
|
+
if (mergeData.isEmpty())
|
|
47
47
|
return true;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
let targetProperty = mergeData.get(context.propertyName);
|
|
49
|
+
if (targetProperty) {
|
|
50
|
+
var mergeValue = targetProperty.hid ? targetProperty.hid : targetProperty.value;
|
|
51
|
+
context.error = targetProperty.modifiedBy + ' changed ' + context.propertyName + ' to ' + mergeValue + '.';
|
|
51
52
|
return false;
|
|
52
53
|
}
|
|
53
54
|
return true;
|
|
@@ -93,4 +94,4 @@ export class TruValidatorFactory {
|
|
|
93
94
|
});
|
|
94
95
|
};
|
|
95
96
|
}
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXZhbGlkYXRvci1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jbGFzc2VzL3RydS12YWxpZGF0b3ItZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sQ0FBQyxNQUFNLFlBQVksQ0FBQztBQUczQixNQUFNLE9BQU8sbUJBQW1CO0lBQ3RCLGdDQUFnQyxHQUFHLENBQUMsTUFBVyxFQUFFLE9BQVksRUFBRSxFQUFFO1FBQ3ZFLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO1lBQ2xCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsT0FBTyxDQUFDLGVBQWUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFBO0lBRU8sMkJBQTJCLENBQUMsS0FBVTtRQUM1QyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyw0QkFBNEIsR0FBRyxDQUFDLEtBQVUsRUFBRSxPQUFZLEVBQUUsRUFBRTtRQUNsRSxJQUFJLENBQUMsS0FBSztZQUNSLE9BQU8sSUFBSSxDQUFDO1FBQ2QsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3hFLENBQUMsQ0FBQTtJQUVPLHdCQUF3QixHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDaEQsSUFBSSxLQUFLLEtBQUssSUFBSTtZ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SUFDTCxDQUFDLENBQUE7SUFFRCxvQkFBb0IsR0FBRyxHQUFjLEVBQUU7UUFDckMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNsRSxlQUFlLEVBQUUsb0NBQW9DO1NBQ3RELENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQTtJQUVELG1CQUFtQixHQUFHLEdBQWMsRUFBRTtRQUNwQyxPQUFPLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQ2hFLGVBQWUsRUFBRSxrQ0FBa0M7U0FDcEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFBO0lBRUQsNEJBQTRCLEdBQUcsR0FBYyxFQUFFO1FBQzdDLE9BQU8sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZ0NBQWdDLEVBQUU7WUFDNUUsZUFBZSxFQUFFLFdBQVc7U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFBO0lBRUQsb0JBQW9CLEdBQUcsR0FBYyxFQUFFO1FBQ3JDLE9BQU8sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUU7WUFDbEUsZUFBZSxFQUFFLGFBQWE7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFBO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBicmVlemUsIFZhbGlkYXRvciB9IGZyb20gXCJicmVlemUtY2xpZW50XCI7XHJcbmltcG9ydCBfIGZyb20gXCJ1bmRlcnNjb3JlXCI7XHJcbmltcG9ydCB7IFRydU1lcmdlRGF0YVNldCB9IGZyb20gXCIuL3RydS1tZXJnZS1kYXRhLXNldFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRydVZhbGlkYXRvckZhY3Rvcnkge1xyXG4gIHByaXZhdGUgc2F0aXNmaWVzRW50aXR5TWVzc2FnZVZhbGlkYXRpb24gPSAoZW50aXR5OiBhbnksIGNvbnRleHQ6IGFueSkgPT4ge1xyXG4gICAgdmFyIG1lc3NhZ2VzID0gXy52YWx1ZXMoZW50aXR5Ll9jdXN0b21WYWxpZGF0aW9uRXJyb3JzKTtcclxuICAgIGlmICghbWVzc2FnZXMubGVuZ3RoKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIGNvbnRleHQubWVzc2FnZVRlbXBsYXRlID0gbWVzc2FnZXMuam9pbignLi4uJyk7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNhdGlzZmllc1JlcXVpcmVkVmFsaWRhdGlvbih2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnKSByZXR1cm4gZmFsc2U7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2F0aXNmaWVzTWF4TGVuZ3RoVmFsaWRhdGlvbiA9ICh2YWx1ZTogYW55LCBjb250ZXh0OiBhbnkpID0+IHtcclxuICAgIGlmICghdmFsdWUpXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoIDw9IGNvbnRleHQubWF4TGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzYXRpc2ZpZXNGbG9hdFZhbGlkYXRpb24gPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgaWYgKHZhbHVlID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmIGlzRmluaXRlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2F0aXNmaWVzSW50ZWdlclZhbGlkYXRpb24gPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgaWYgKHZhbHVlID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIC8vTk9URTogTnVtYmVyLmlzSW50ZWdlcigpIHdvdWxkIHdvcmssIGJ1dCBpcyBub3QgaW1wbGVtZW50ZWQgaW4gYWxsIHN1cHBvcnRlZCBicm93c2Vyc1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiYgaXNGaW5pdGUodmFsdWUpICYmIE1hdGguZmxvb3IodmFsdWUpID09PSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2F0aXNmaWVzRGF0ZVZhbGlkYXRpb24odmFsdWU6IGFueSkge1xyXG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSkgIT09ICdbb2JqZWN0IERhdGVdJylcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIGlzRmluaXRlKHZhbHVlLmdldFRpbWUoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNhdGlzZmllc0ludmFsaWRDaG9pY2VWYWxpZGF0aW9uKHZhbHVlOiBhbnksIGNvbnRleHQ6IGFueSkge1xyXG4gICAgaWYgKGNvbnRleHQuZW50aXR5LklzX0ludmFsaWQgPT09ICd0cnVlJykge1xyXG4gICAgICBjb250ZXh0LmVycm9yID0gY29udGV4dC5wcm9wZXJ0eU5hbWUgKyAnXFwnIGludmFsaWQgY2hvaWNlJ1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2F0aXNmaWVzTWVyZ2VWYWxpZGF0aW9uID0gKHZhbHVlOiBhbnksIGNvbnRleHQ6IGFueSkgPT4ge1xyXG4gICAgdmFyIG1lcmdlRGF0YSA9IGNvbnRleHQuZW50aXR5Lk1lcmdlX0RhdGFfU2V0IGFzIFRydU1lcmdlRGF0YVNldDtcclxuICAgIGlmIChtZXJnZURhdGEuaXNFbXB0eSgpKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIGxldCB0YXJnZXRQcm9wZXJ0eSA9IG1lcmdlRGF0YS5nZXQoY29udGV4dC5wcm9wZXJ0eU5hbWUpO1xyXG4gICAgaWYgKHRhcmdldFByb3BlcnR5KSB7XHJcbiAgICAgIHZhciBtZXJnZVZhbHVlID0gdGFyZ2V0UHJvcGVydHkuaGlkID8gdGFyZ2V0UHJvcGVydHkuaGlkIDogdGFyZ2V0UHJvcGVydHkudmFsdWU7XHJcbiAgICAgIGNvbnRleHQuZXJyb3IgPSB0YXJnZXRQcm9wZXJ0eS5tb2RpZmllZEJ5ICsgJyBjaGFuZ2VkICcgKyBjb250ZXh0LnByb3BlcnR5TmFtZSArICcgdG8gJyArIG1lcmdlVmFsdWUgKyAnLic7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlRW50aXR5TWVzc2FnZVZhbGlkYXRvciA9ICgpOiBWYWxpZGF0b3IgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBicmVlemUuVmFsaWRhdG9yKCdlbnRpdHlNZXNzYWdlJywgdGhpcy5zYXRpc2ZpZXNFbnRpdHlNZXNzYWdlVmFsaWRhdGlvbik7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVSZXF1aXJlZFZhbGlkYXRvciA9ICgpOiBWYWxpZGF0b3IgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBicmVlemUuVmFsaWRhdG9yKCdyZXF1aXJlZCcsIHRoaXMuc2F0aXNmaWVzUmVxdWlyZWRWYWxpZGF0aW9uLCB7XHJcbiAgICAgIG1lc3NhZ2VUZW1wbGF0ZTogJ1xcJyVkaXNwbGF5TmFtZSVcXCcgaXMgcmVxdWlyZWQnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZU1heExlbmd0aFZhbGlkYXRvciA9IChtYXhMZW5ndGg6IGFueSk6IFZhbGlkYXRvciA9PiB7XHJcbiAgICB2YXIgY29udGV4dCA9IHtcclxuICAgICAgbWVzc2FnZVRlbXBsYXRlOiAnXFwnJWRpc3BsYXlOYW1lJVxcJyBleGNlZWRzIG1heGltdW0gY2hhcmFjdGVyIGxlbmd0aCBvZiAlbWF4TGVuZ3RoJScsXHJcbiAgICAgIG1heExlbmd0aDogbWF4TGVuZ3RoXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIG5ldyBicmVlemUuVmFsaWRhdG9yKCdtYXhMZW5ndGgnLCB0aGlzLnNhdGlzZmllc01heExlbmd0aFZhbGlkYXRpb24sIGNvbnRleHQpO1xyXG4gIH07XHJcblxyXG4gIGNyZWF0ZUludGVnZXJWYWxpZGF0b3IgPSAoKTogVmFsaWRhdG9yID0+IHtcclxuICAgIHJldHVybiBuZXcgYnJlZXplLlZhbGlkYXRvcignaW50ZWdlcicsIHRoaXMuc2F0aXNmaWVzSW50ZWdlclZhbGlkYXRpb24sIHtcclxuICAgICAgbWVzc2FnZVRlbXBsYXRlOiAnXFwnJWRpc3BsYXlOYW1lJVxcJyBtdXN0IGJlIGFuIGludGVnZXInXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUZsb2F0VmFsaWRhdG9yID0gKCk6IFZhbGlkYXRvciA9PiB7XHJcbiAgICByZXR1cm4gbmV3IGJyZWV6ZS5WYWxpZGF0b3IoJ2Zsb2F0JywgdGhpcy5zYXRpc2ZpZXNGbG9hdFZhbGlkYXRpb24sIHtcclxuICAgICAgbWVzc2FnZVRlbXBsYXRlOiAnXFwnJWRpc3BsYXlOYW1lJVxcJyBtdXN0IGJlIGEgbnVtYmVyJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVEYXRlVmFsaWRhdG9yID0gKCk6IFZhbGlkYXRvciA9PiB7XHJcbiAgICByZXR1cm4gbmV3IGJyZWV6ZS5WYWxpZGF0b3IoJ2RhdGUnLCB0aGlzLnNhdGlzZmllc0RhdGVWYWxpZGF0aW9uLCB7XHJcbiAgICAgIG1lc3NhZ2VUZW1wbGF0ZTogJ1xcJyVkaXNwbGF5TmFtZSVcXCcgbXVzdCBiZSBhIGRhdGUnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUludmFsaWRDaG9pY2VWYWxpZGF0b3IgPSAoKTogVmFsaWRhdG9yID0+IHtcclxuICAgIHJldHVybiBuZXcgYnJlZXplLlZhbGlkYXRvcignaW52YWxpZCcsIHRoaXMuc2F0aXNmaWVzSW52YWxpZENob2ljZVZhbGlkYXRpb24sIHtcclxuICAgICAgbWVzc2FnZVRlbXBsYXRlOiAnXFwnJWVycm9yJSdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlTWVyZ2VWYWxpZGF0b3IgPSAoKTogVmFsaWRhdG9yID0+IHtcclxuICAgIHJldHVybiBuZXcgYnJlZXplLlZhbGlkYXRvcignbWVyZ2UnLCB0aGlzLnNhdGlzZmllc01lcmdlVmFsaWRhdGlvbiwge1xyXG4gICAgICBtZXNzYWdlVGVtcGxhdGU6ICdcXCclZXJyb3IlXFwnJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -117,6 +117,26 @@ class TruEditPkeyControlConfigBase {
|
|
|
117
117
|
constructor() { }
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
+
class TruMergeDataSet {
|
|
121
|
+
_data = {};
|
|
122
|
+
get = (propertyName) => {
|
|
123
|
+
return this._data[propertyName];
|
|
124
|
+
};
|
|
125
|
+
set = (propertyName, data) => {
|
|
126
|
+
this._data[propertyName] = data;
|
|
127
|
+
};
|
|
128
|
+
clear = (propertyName) => {
|
|
129
|
+
delete this._data[propertyName];
|
|
130
|
+
};
|
|
131
|
+
clearAll = () => {
|
|
132
|
+
this._data = {};
|
|
133
|
+
};
|
|
134
|
+
isEmpty = () => {
|
|
135
|
+
return Object.keys(this._data).length === 0;
|
|
136
|
+
};
|
|
137
|
+
constructor() { }
|
|
138
|
+
}
|
|
139
|
+
|
|
120
140
|
class TruEntityBase {
|
|
121
141
|
constructor(...args) { }
|
|
122
142
|
entityAspect = new EntityAspect();
|
|
@@ -126,7 +146,7 @@ class TruEntityBase {
|
|
|
126
146
|
Updated = undefined;
|
|
127
147
|
UpdatedRef = undefined;
|
|
128
148
|
rowver;
|
|
129
|
-
Merge_Data_Set =
|
|
149
|
+
Merge_Data_Set = new TruMergeDataSet();
|
|
130
150
|
Is_Invalid = undefined;
|
|
131
151
|
}
|
|
132
152
|
|
|
@@ -2403,12 +2423,13 @@ class TruValidatorFactory {
|
|
|
2403
2423
|
return true;
|
|
2404
2424
|
}
|
|
2405
2425
|
satisfiesMergeValidation = (value, context) => {
|
|
2406
|
-
var mergeData =
|
|
2407
|
-
if (
|
|
2426
|
+
var mergeData = context.entity.Merge_Data_Set;
|
|
2427
|
+
if (mergeData.isEmpty())
|
|
2408
2428
|
return true;
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2429
|
+
let targetProperty = mergeData.get(context.propertyName);
|
|
2430
|
+
if (targetProperty) {
|
|
2431
|
+
var mergeValue = targetProperty.hid ? targetProperty.hid : targetProperty.value;
|
|
2432
|
+
context.error = targetProperty.modifiedBy + ' changed ' + context.propertyName + ' to ' + mergeValue + '.';
|
|
2412
2433
|
return false;
|
|
2413
2434
|
}
|
|
2414
2435
|
return true;
|