@ai-table/state 0.0.24 → 0.0.26
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/utils/field/model/field.mjs +4 -4
- package/esm2022/utils/field/model/index.mjs +5 -4
- package/esm2022/utils/field/model/member.mjs +48 -0
- package/esm2022/utils/record/filter.mjs +6 -2
- package/esm2022/utils/record/sort.mjs +3 -2
- package/fesm2022/ai-table-state.mjs +60 -11
- package/fesm2022/ai-table-state.mjs.map +1 -1
- package/package.json +1 -1
- package/utils/field/model/field.d.ts +3 -3
- package/utils/field/model/field.d.ts.map +1 -1
- package/utils/field/model/index.d.ts.map +1 -1
- package/utils/field/model/member.d.ts +8 -0
- package/utils/field/model/member.d.ts.map +1 -0
- package/utils/record/filter.d.ts +1 -5
- package/utils/record/filter.d.ts.map +1 -1
- package/utils/record/sort.d.ts.map +1 -1
@@ -33,7 +33,7 @@ export class Field {
|
|
33
33
|
eq(cv1, cv2) {
|
34
34
|
return isEqual(cv1, cv2);
|
35
35
|
}
|
36
|
-
compare(cellValue1, cellValue2, field) {
|
36
|
+
compare(cellValue1, cellValue2, field, references) {
|
37
37
|
if (this.eq(cellValue1, cellValue2)) {
|
38
38
|
return 0;
|
39
39
|
}
|
@@ -43,8 +43,8 @@ export class Field {
|
|
43
43
|
if (cellValue2 == null) {
|
44
44
|
return 1;
|
45
45
|
}
|
46
|
-
let str1 = this.cellValueToString(cellValue1, field);
|
47
|
-
let str2 = this.cellValueToString(cellValue2, field);
|
46
|
+
let str1 = this.cellValueToString(cellValue1, field, references);
|
47
|
+
let str2 = this.cellValueToString(cellValue2, field, references);
|
48
48
|
if (str1 === str2) {
|
49
49
|
return 0;
|
50
50
|
}
|
@@ -60,4 +60,4 @@ export class Field {
|
|
60
60
|
return str1 === str2 ? 0 : zhIntlCollator ? zhIntlCollator.compare(str1, str2) : str1.localeCompare(str2, 'zh-CN') > 0 ? 1 : -1;
|
61
61
|
}
|
62
62
|
}
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvdXRpbHMvZmllbGQvbW9kZWwvZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUEwQixzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVqQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsT0FBTyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUVuRyxNQUFNLE9BQWdCLEtBQUs7SUFDYixhQUFhLENBQUMsR0FBVyxFQUFFLFNBQWlCO1FBQ2xELE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBSUQsWUFBWSxDQUFDLFNBQWlDLEVBQUUsU0FBcUI7UUFDakUsUUFBUSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7WUFDbEMsS0FBSyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUNqQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM3RCxDQUFDO1lBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDTixPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBdUUsRUFBRSxTQUFxQjtRQUN2RyxRQUFRLFNBQVMsRUFBRSxDQUFDO1lBQ2hCLEtBQUssc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDaEMsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUIsQ0FBQztZQUNELEtBQUssc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDakMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQixDQUFDO1lBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDTixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFDbkQsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsRUFBRSxDQUFDLEdBQWUsRUFBRSxHQUFlO1FBQy9CLE9BQU8sT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsT0FBTyxDQUFDLFVBQXNCLEVBQUUsVUFBc0IsRUFBRSxLQUFtQixFQUFFLFVBQThCO1FBQ3ZHLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxPQUFPLENBQUMsQ0FBQztRQUNiLENBQUM7UUFDRCxJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNyQixPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksVUFBVSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3JCLE9BQU8sQ0FBQyxDQUFDO1FBQ2IsQ0FBQztRQUVELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pFLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWpFLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxDQUFDO1FBQ2IsQ0FBQztRQUNELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNkLENBQUM7UUFDRCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxDQUFDO1FBQ2IsQ0FBQztRQUVELElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVuQixtQkFBbUI7UUFDbkIsT0FBTyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwSSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlRmllbGQsIEFJVGFibGVSZWZlcmVuY2VzLCBGaWVsZFZhbHVlIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgQUlUYWJsZUZpbHRlck9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaCc7XG5cbmV4cG9ydCBjb25zdCB6aEludGxDb2xsYXRvciA9IHR5cGVvZiBJbnRsICE9PSAndW5kZWZpbmVkJyA/IG5ldyBJbnRsLkNvbGxhdG9yKCd6aC1DTicpIDogdW5kZWZpbmVkO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRmllbGQge1xuICAgIHByb3RlY3RlZCBzdHJpbmdJbmNsdWRlKHN0cjogc3RyaW5nLCBzZWFyY2hTdHI6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gc3RyLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoU3RyLnRyaW0oKS50b0xvd2VyQ2FzZSgpKTtcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBjZWxsVmFsdWVUb1N0cmluZyhjZWxsVmFsdWU6IEZpZWxkVmFsdWUsIGZpZWxkOiBBSVRhYmxlRmllbGQsIHJlZmVyZW5jZXM/OiBBSVRhYmxlUmVmZXJlbmNlcyk6IHN0cmluZyB8IG51bGw7XG5cbiAgICBpc01lZXRGaWx0ZXIoY29uZGl0aW9uOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBjZWxsVmFsdWU6IEZpZWxkVmFsdWUpIHtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXhpc3RzOiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNFbXB0eU9yTm90KGNvbmRpdGlvbi5vcGVyYXRpb24sIGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0VtcHR5T3JOb3Qob3BlcmF0aW9uOiBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmVtcHR5IHwgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHMsIGNlbGxWYWx1ZTogRmllbGRWYWx1ZSkge1xuICAgICAgICBzd2l0Y2ggKG9wZXJhdGlvbikge1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmVtcHR5OiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvbXBhcmUgb3BlcmF0b3IgdHlwZSBlcnJvcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZXEoY3YxOiBGaWVsZFZhbHVlLCBjdjI6IEZpZWxkVmFsdWUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzRXF1YWwoY3YxLCBjdjIpO1xuICAgIH1cblxuICAgIGNvbXBhcmUoY2VsbFZhbHVlMTogRmllbGRWYWx1ZSwgY2VsbFZhbHVlMjogRmllbGRWYWx1ZSwgZmllbGQ6IEFJVGFibGVGaWVsZCwgcmVmZXJlbmNlcz86IEFJVGFibGVSZWZlcmVuY2VzKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuZXEoY2VsbFZhbHVlMSwgY2VsbFZhbHVlMikpIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjZWxsVmFsdWUxID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2VsbFZhbHVlMiA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBzdHIxID0gdGhpcy5jZWxsVmFsdWVUb1N0cmluZyhjZWxsVmFsdWUxLCBmaWVsZCwgcmVmZXJlbmNlcyk7XG4gICAgICAgIGxldCBzdHIyID0gdGhpcy5jZWxsVmFsdWVUb1N0cmluZyhjZWxsVmFsdWUyLCBmaWVsZCwgcmVmZXJlbmNlcyk7XG5cbiAgICAgICAgaWYgKHN0cjEgPT09IHN0cjIpIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdHIxID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RyMiA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0cjEgPSBzdHIxLnRyaW0oKTtcbiAgICAgICAgc3RyMiA9IHN0cjIudHJpbSgpO1xuXG4gICAgICAgIC8vIHRlc3QgcGlueWluIHNvcnRcbiAgICAgICAgcmV0dXJuIHN0cjEgPT09IHN0cjIgPyAwIDogemhJbnRsQ29sbGF0b3IgPyB6aEludGxDb2xsYXRvci5jb21wYXJlKHN0cjEsIHN0cjIpIDogc3RyMS5sb2NhbGVDb21wYXJlKHN0cjIsICd6aC1DTicpID4gMCA/IDEgOiAtMTtcbiAgICB9XG59XG4iXX0=
|
@@ -5,6 +5,7 @@ import { DateField } from './date';
|
|
5
5
|
import { NumberField } from './number';
|
6
6
|
import { RateField } from './rate';
|
7
7
|
import { LinkField } from './link';
|
8
|
+
import { MemberField } from './member';
|
8
9
|
export const ViewOperationMap = {
|
9
10
|
[AITableFieldType.text]: new TextField(),
|
10
11
|
[AITableFieldType.richText]: new TextField(),
|
@@ -15,9 +16,9 @@ export const ViewOperationMap = {
|
|
15
16
|
[AITableFieldType.number]: new NumberField(),
|
16
17
|
[AITableFieldType.rate]: new RateField(),
|
17
18
|
[AITableFieldType.link]: new LinkField(),
|
18
|
-
[AITableFieldType.member]: new
|
19
|
+
[AITableFieldType.member]: new MemberField(),
|
19
20
|
[AITableFieldType.progress]: new NumberField(),
|
20
|
-
[AITableFieldType.createdBy]: new
|
21
|
-
[AITableFieldType.updatedBy]: new
|
21
|
+
[AITableFieldType.createdBy]: new MemberField(),
|
22
|
+
[AITableFieldType.updatedBy]: new MemberField()
|
22
23
|
};
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvdXRpbHMvZmllbGQvbW9kZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBb0M7SUFDN0QsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLFNBQVMsRUFBRTtJQUN4QyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksU0FBUyxFQUFFO0lBQzVDLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxXQUFXLEVBQUU7SUFDNUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLFNBQVMsRUFBRTtJQUN4QyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksU0FBUyxFQUFFO0lBQzdDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxTQUFTLEVBQUU7SUFDN0MsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLFdBQVcsRUFBRTtJQUM1QyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksU0FBUyxFQUFFO0lBQ3hDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxTQUFTLEVBQUU7SUFDeEMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLFdBQVcsRUFBRTtJQUM1QyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksV0FBVyxFQUFFO0lBQzlDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxXQUFXLEVBQUU7SUFDL0MsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLFdBQVcsRUFBRTtDQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZUZpZWxkVHlwZSB9IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9maWVsZCc7XG5pbXBvcnQgeyBUZXh0RmllbGQgfSBmcm9tICcuL3RleHQnO1xuaW1wb3J0IHsgU2VsZWN0RmllbGQgfSBmcm9tICcuL3NlbGVjdCc7XG5pbXBvcnQgeyBEYXRlRmllbGQgfSBmcm9tICcuL2RhdGUnO1xuaW1wb3J0IHsgTnVtYmVyRmllbGQgfSBmcm9tICcuL251bWJlcic7XG5pbXBvcnQgeyBSYXRlRmllbGQgfSBmcm9tICcuL3JhdGUnO1xuaW1wb3J0IHsgTGlua0ZpZWxkIH0gZnJvbSAnLi9saW5rJztcbmltcG9ydCB7IE1lbWJlckZpZWxkIH0gZnJvbSAnLi9tZW1iZXInO1xuXG5leHBvcnQgY29uc3QgVmlld09wZXJhdGlvbk1hcDogUmVjb3JkPEFJVGFibGVGaWVsZFR5cGUsIEZpZWxkPiA9IHtcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS50ZXh0XTogbmV3IFRleHRGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLnJpY2hUZXh0XTogbmV3IFRleHRGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLnNlbGVjdF06IG5ldyBTZWxlY3RGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLmRhdGVdOiBuZXcgRGF0ZUZpZWxkKCksXG4gICAgW0FJVGFibGVGaWVsZFR5cGUuY3JlYXRlZEF0XTogbmV3IERhdGVGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLnVwZGF0ZWRBdF06IG5ldyBEYXRlRmllbGQoKSxcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS5udW1iZXJdOiBuZXcgTnVtYmVyRmllbGQoKSxcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS5yYXRlXTogbmV3IFJhdGVGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLmxpbmtdOiBuZXcgTGlua0ZpZWxkKCksXG4gICAgW0FJVGFibGVGaWVsZFR5cGUubWVtYmVyXTogbmV3IE1lbWJlckZpZWxkKCksXG4gICAgW0FJVGFibGVGaWVsZFR5cGUucHJvZ3Jlc3NdOiBuZXcgTnVtYmVyRmllbGQoKSxcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS5jcmVhdGVkQnldOiBuZXcgTWVtYmVyRmllbGQoKSxcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS51cGRhdGVkQnldOiBuZXcgTWVtYmVyRmllbGQoKVxufTtcbiJdfQ==
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import { isEmpty } from '../../common';
|
2
|
+
import { AITableFilterOperation } from '../../../types';
|
3
|
+
import { Field } from './field';
|
4
|
+
export class MemberField extends Field {
|
5
|
+
isMeetFilter(condition, cellValue) {
|
6
|
+
switch (condition.operation) {
|
7
|
+
case AITableFilterOperation.empty:
|
8
|
+
return isEmpty(cellValue);
|
9
|
+
case AITableFilterOperation.exists:
|
10
|
+
return !isEmpty(cellValue);
|
11
|
+
case AITableFilterOperation.in:
|
12
|
+
return Array.isArray(condition.value) && hasIntersect(cellValue, condition.value);
|
13
|
+
case AITableFilterOperation.nin:
|
14
|
+
return Array.isArray(condition.value) && !hasIntersect(cellValue, condition.value);
|
15
|
+
default:
|
16
|
+
return super.isMeetFilter(condition, cellValue);
|
17
|
+
}
|
18
|
+
}
|
19
|
+
cellValueToString(cellValue, field, references) {
|
20
|
+
let names = [];
|
21
|
+
if (cellValue?.length && references) {
|
22
|
+
for (let index = 0; index < cellValue.length; index++) {
|
23
|
+
const userInfo = references?.members[cellValue[index]];
|
24
|
+
if (!userInfo) {
|
25
|
+
continue;
|
26
|
+
}
|
27
|
+
if (userInfo.name) {
|
28
|
+
names.push(userInfo.name);
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
return names && names.length ? names.join(', ') : null;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
function hasIntersect(array1, array2) {
|
36
|
+
if (!Array.isArray(array1) || !Array.isArray(array2)) {
|
37
|
+
return false;
|
38
|
+
}
|
39
|
+
const set1 = new Set(array1);
|
40
|
+
const set2 = new Set(array2);
|
41
|
+
for (const ele of set1) {
|
42
|
+
if (set2.has(ele)) {
|
43
|
+
return true;
|
44
|
+
}
|
45
|
+
}
|
46
|
+
return false;
|
47
|
+
}
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL21lbWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBMEIsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBR2hDLE1BQU0sT0FBTyxXQUFZLFNBQVEsS0FBSztJQUN6QixZQUFZLENBQUMsU0FBeUMsRUFBRSxTQUEyQjtRQUN4RixRQUFRLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixLQUFLLHNCQUFzQixDQUFDLEtBQUs7Z0JBQzdCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLEtBQUssc0JBQXNCLENBQUMsTUFBTTtnQkFDOUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQixLQUFLLHNCQUFzQixDQUFDLEVBQUU7Z0JBQzFCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEYsS0FBSyxzQkFBc0IsQ0FBQyxHQUFHO2dCQUMzQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkY7Z0JBQ0ksT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQixDQUFDLFNBQTJCLEVBQUUsS0FBbUIsRUFBRSxVQUE2QjtRQUM3RixJQUFJLEtBQUssR0FBYSxFQUFFLENBQUM7UUFDekIsSUFBSSxTQUFTLEVBQUUsTUFBTSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2xDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ3BELE1BQU0sUUFBUSxHQUFHLFVBQVUsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDWixTQUFTO2dCQUNiLENBQUM7Z0JBQ0QsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ2hCLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM5QixDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDM0QsQ0FBQztDQUNKO0FBRUQsU0FBUyxZQUFZLENBQTRCLE1BQVcsRUFBRSxNQUFXO0lBQ3JFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25ELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgQUlUYWJsZUZpbHRlck9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9maWVsZCc7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGQsIEFJVGFibGVSZWZlcmVuY2VzLCBNZW1iZXJGaWVsZFZhbHVlIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuXG5leHBvcnQgY2xhc3MgTWVtYmVyRmllbGQgZXh0ZW5kcyBGaWVsZCB7XG4gICAgb3ZlcnJpZGUgaXNNZWV0RmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxzdHJpbmc+LCBjZWxsVmFsdWU6IE1lbWJlckZpZWxkVmFsdWUpIHtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uaW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY29uZGl0aW9uLnZhbHVlKSAmJiBoYXNJbnRlcnNlY3QoY2VsbFZhbHVlLCBjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLm5pbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb25kaXRpb24udmFsdWUpICYmICFoYXNJbnRlcnNlY3QoY2VsbFZhbHVlLCBjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIuaXNNZWV0RmlsdGVyKGNvbmRpdGlvbiwgY2VsbFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNlbGxWYWx1ZVRvU3RyaW5nKGNlbGxWYWx1ZTogTWVtYmVyRmllbGRWYWx1ZSwgZmllbGQ6IEFJVGFibGVGaWVsZCwgcmVmZXJlbmNlczogQUlUYWJsZVJlZmVyZW5jZXMpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgbGV0IG5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAoY2VsbFZhbHVlPy5sZW5ndGggJiYgcmVmZXJlbmNlcykge1xuICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGNlbGxWYWx1ZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1c2VySW5mbyA9IHJlZmVyZW5jZXM/Lm1lbWJlcnNbY2VsbFZhbHVlW2luZGV4XV07XG4gICAgICAgICAgICAgICAgaWYgKCF1c2VySW5mbykge1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHVzZXJJbmZvLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZXMucHVzaCh1c2VySW5mby5uYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5hbWVzICYmIG5hbWVzLmxlbmd0aCA/IG5hbWVzLmpvaW4oJywgJykgOiBudWxsO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gaGFzSW50ZXJzZWN0PFQgZXh0ZW5kcyBudW1iZXIgfCBzdHJpbmc+KGFycmF5MTogVFtdLCBhcnJheTI6IFRbXSkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShhcnJheTEpIHx8ICFBcnJheS5pc0FycmF5KGFycmF5MikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBzZXQxID0gbmV3IFNldChhcnJheTEpO1xuICAgIGNvbnN0IHNldDIgPSBuZXcgU2V0KGFycmF5Mik7XG4gICAgZm9yIChjb25zdCBlbGUgb2Ygc2V0MSkge1xuICAgICAgICBpZiAoc2V0Mi5oYXMoZWxlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuIl19
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { AITableFieldType, isSystemField } from '@ai-table/grid';
|
2
2
|
import { AITableFilterLogical } from '../../types';
|
3
3
|
import { ViewOperationMap } from '../field/model';
|
4
|
+
import { isEmpty } from '../common';
|
4
5
|
export function getFilteredRecords(aiTable, records, fields, activeView) {
|
5
6
|
const { conditions, condition_logical } = activeView.settings || {};
|
6
7
|
if (!conditions) {
|
@@ -55,7 +56,7 @@ export function getDefaultRecordDataByFilter(recordValues, conditions, condition
|
|
55
56
|
}
|
56
57
|
return recordValues;
|
57
58
|
}
|
58
|
-
|
59
|
+
function getFilterValue(fields, record, condition) {
|
59
60
|
const field = fields.find((item) => item._id === condition.field_id);
|
60
61
|
let cellValue = null;
|
61
62
|
if (field && isSystemField(field)) {
|
@@ -69,9 +70,12 @@ export function getFilterValue(fields, record, condition) {
|
|
69
70
|
else {
|
70
71
|
cellValue = record.values[condition.field_id];
|
71
72
|
}
|
73
|
+
if (field && [AITableFieldType.createdBy, AITableFieldType.updatedBy, AITableFieldType.member].includes(field.type)) {
|
74
|
+
cellValue = Array.isArray(cellValue) ? cellValue : isEmpty(cellValue) ? [] : [cellValue];
|
75
|
+
}
|
72
76
|
return {
|
73
77
|
field,
|
74
78
|
cellValue
|
75
79
|
};
|
76
80
|
}
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3V0aWxzL3JlY29yZC9maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUE2QixhQUFhLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUcsT0FBTyxFQUdILG9CQUFvQixFQU12QixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUFvQixFQUFFLE9BQTJCLEVBQUUsTUFBeUIsRUFBRSxVQUF1QjtJQUNwSSxNQUFNLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsVUFBVSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7SUFDcEUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUNELE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUNELE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDdEQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDN0IsSUFBSSxpQkFBaUIsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFGLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNqRyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxNQUF5QixFQUFFLE1BQXFCLEVBQUUsZ0JBQXlDO0lBQ2hILElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNWLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQztJQUMzRCxJQUFJLGlCQUFpQixLQUFLLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2pELE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFDRCxJQUFJLENBQUMsaUJBQWlCLElBQUksaUJBQWlCLEtBQUssb0JBQW9CLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDdEUsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLE1BQXlCLEVBQUUsTUFBcUIsRUFBRSxTQUFpQztJQUMzRyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRXZFLElBQUksQ0FBQztRQUNELE9BQU8sS0FBSyxJQUFJLFFBQVEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLFNBQWlDLEVBQUUsS0FBdUIsRUFBRSxTQUFxQjtJQUN0RyxPQUFPLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzNFLENBQUM7QUFFRCxNQUFNLFVBQVUsNEJBQTRCLENBQ3hDLFlBQXdDLEVBQ3hDLFVBQW9DLEVBQ3BDLGdCQUF1QztJQUV2QyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsOERBQThEO0lBQ2xFLENBQUM7U0FBTSxDQUFDO1FBQ0osS0FBSztJQUNULENBQUM7SUFDRCxPQUFPLFlBQVksQ0FBQztBQUN4QixDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsTUFBeUIsRUFBRSxNQUFxQixFQUFFLFNBQWlDO0lBQ3ZHLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JFLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQztJQUNyQixJQUFJLEtBQUssSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNoRixTQUFTLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUF3QixDQUFDLEVBQUUsQ0FBQztRQUN0RSxDQUFDO2FBQU0sQ0FBQztZQUNKLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQXdCLENBQUMsQ0FBQztRQUN2RCxDQUFDO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDSixTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEgsU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELE9BQU87UUFDSCxLQUFLO1FBQ0wsU0FBUztLQUNaLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZUZpZWxkVHlwZSwgQUlUYWJsZVJlY29yZCwgRmllbGRWYWx1ZSwgaXNTeXN0ZW1GaWVsZCwgU3lzdGVtRmllbGRUeXBlcyB9IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcbmltcG9ydCB7XG4gICAgQUlUYWJsZUZpbHRlckNvbmRpdGlvbixcbiAgICBBSVRhYmxlRmlsdGVyQ29uZGl0aW9ucyxcbiAgICBBSVRhYmxlRmlsdGVyTG9naWNhbCxcbiAgICBBSVRhYmxlVmlldyxcbiAgICBBSVRhYmxlVmlld0ZpZWxkLFxuICAgIEFJVGFibGVWaWV3RmllbGRzLFxuICAgIEFJVGFibGVWaWV3UmVjb3JkcyxcbiAgICBBSVZpZXdUYWJsZVxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBWaWV3T3BlcmF0aW9uTWFwIH0gZnJvbSAnLi4vZmllbGQvbW9kZWwnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJy4uL2NvbW1vbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWx0ZXJlZFJlY29yZHMoYWlUYWJsZTogQUlWaWV3VGFibGUsIHJlY29yZHM6IEFJVGFibGVWaWV3UmVjb3JkcywgZmllbGRzOiBBSVRhYmxlVmlld0ZpZWxkcywgYWN0aXZlVmlldzogQUlUYWJsZVZpZXcpIHtcbiAgICBjb25zdCB7IGNvbmRpdGlvbnMsIGNvbmRpdGlvbl9sb2dpY2FsIH0gPSBhY3RpdmVWaWV3LnNldHRpbmdzIHx8IHt9O1xuICAgIGlmICghY29uZGl0aW9ucykge1xuICAgICAgICByZXR1cm4gcmVjb3JkcztcbiAgICB9XG4gICAgY29uc3QgaWxsZWdhbENvbmRpdGlvbnMgPSBjb25kaXRpb25zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5vcGVyYXRpb24pIHx8IFtdO1xuICAgIGlmICghaWxsZWdhbENvbmRpdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiByZWNvcmRzO1xuICAgIH1cbiAgICBjb25zdCByZWNvcmRzV2lsbEhpZGRlbiA9IGFpVGFibGUucmVjb3Jkc1dpbGxIaWRkZW4oKTtcbiAgICByZXR1cm4gcmVjb3Jkcy5maWx0ZXIoKHJlY29yZCkgPT4ge1xuICAgICAgICBpZiAocmVjb3Jkc1dpbGxIaWRkZW4gJiYgcmVjb3Jkc1dpbGxIaWRkZW4ubGVuZ3RoICYmIHJlY29yZHNXaWxsSGlkZGVuLmluY2x1ZGVzKHJlY29yZC5faWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2hlY2tDb25kaXRpb25zKGZpZWxkcywgcmVjb3JkLCB7IGNvbmRpdGlvbnM6IGlsbGVnYWxDb25kaXRpb25zLCBjb25kaXRpb25fbG9naWNhbCB9KTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gY2hlY2tDb25kaXRpb25zKGZpZWxkczogQUlUYWJsZVZpZXdGaWVsZHMsIHJlY29yZDogQUlUYWJsZVJlY29yZCwgZmlsdGVyQ29uZGl0aW9uczogQUlUYWJsZUZpbHRlckNvbmRpdGlvbnMpIHtcbiAgICBpZiAoIXJlY29yZCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICghZmlsdGVyQ29uZGl0aW9ucz8uY29uZGl0aW9ucykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgeyBjb25kaXRpb25fbG9naWNhbCwgY29uZGl0aW9ucyB9ID0gZmlsdGVyQ29uZGl0aW9ucztcbiAgICBpZiAoY29uZGl0aW9uX2xvZ2ljYWwgPT09IEFJVGFibGVGaWx0ZXJMb2dpY2FsLmFuZCkge1xuICAgICAgICByZXR1cm4gY29uZGl0aW9ucy5ldmVyeSgoY29uZGl0aW9uKSA9PiBkb0ZpbHRlck9wZXJhdGlvbnMoZmllbGRzLCByZWNvcmQsIGNvbmRpdGlvbikpO1xuICAgIH1cbiAgICBpZiAoIWNvbmRpdGlvbl9sb2dpY2FsIHx8IGNvbmRpdGlvbl9sb2dpY2FsID09PSBBSVRhYmxlRmlsdGVyTG9naWNhbC5vcikge1xuICAgICAgICByZXR1cm4gY29uZGl0aW9ucy5zb21lKChjb25kaXRpb24pID0+IGRvRmlsdGVyT3BlcmF0aW9ucyhmaWVsZHMsIHJlY29yZCwgY29uZGl0aW9uKSk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gZG9GaWx0ZXJPcGVyYXRpb25zKGZpZWxkczogQUlUYWJsZVZpZXdGaWVsZHMsIHJlY29yZDogQUlUYWJsZVJlY29yZCwgY29uZGl0aW9uOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uKSB7XG4gICAgY29uc3QgeyBmaWVsZCwgY2VsbFZhbHVlIH0gPSBnZXRGaWx0ZXJWYWx1ZShmaWVsZHMsIHJlY29yZCwgY29uZGl0aW9uKTtcblxuICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBmaWVsZCAmJiBkb0ZpbHRlcihjb25kaXRpb24sIGZpZWxkLCBjZWxsVmFsdWUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkb0ZpbHRlcihjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb24sIGZpZWxkOiBBSVRhYmxlVmlld0ZpZWxkLCBjZWxsVmFsdWU6IEZpZWxkVmFsdWUpIHtcbiAgICByZXR1cm4gVmlld09wZXJhdGlvbk1hcFtmaWVsZC50eXBlXS5pc01lZXRGaWx0ZXIoY29uZGl0aW9uLCBjZWxsVmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdFJlY29yZERhdGFCeUZpbHRlcihcbiAgICByZWNvcmRWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIEZpZWxkVmFsdWU+LFxuICAgIGNvbmRpdGlvbnM6IEFJVGFibGVGaWx0ZXJDb25kaXRpb25bXSxcbiAgICBjb25kaXRpb25Mb2dpY2FsPzogQUlUYWJsZUZpbHRlckxvZ2ljYWxcbikge1xuICAgIGlmIChjb25kaXRpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAvLyByZWNvcmRWYWx1ZXNbY29uZGl0aW9uc1swXS5maWVsZF9pZF0gPSBjb25kaXRpb25zWzBdLnZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vLi4uXG4gICAgfVxuICAgIHJldHVybiByZWNvcmRWYWx1ZXM7XG59XG5cbmZ1bmN0aW9uIGdldEZpbHRlclZhbHVlKGZpZWxkczogQUlUYWJsZVZpZXdGaWVsZHMsIHJlY29yZDogQUlUYWJsZVJlY29yZCwgY29uZGl0aW9uOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uKSB7XG4gICAgY29uc3QgZmllbGQgPSBmaWVsZHMuZmluZCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IGNvbmRpdGlvbi5maWVsZF9pZCk7XG4gICAgbGV0IGNlbGxWYWx1ZSA9IG51bGw7XG4gICAgaWYgKGZpZWxkICYmIGlzU3lzdGVtRmllbGQoZmllbGQpKSB7XG4gICAgICAgIGlmIChbQUlUYWJsZUZpZWxkVHlwZS5jcmVhdGVkQXQsIEFJVGFibGVGaWVsZFR5cGUudXBkYXRlZEF0XS5pbmNsdWRlcyhmaWVsZC50eXBlKSkge1xuICAgICAgICAgICAgY2VsbFZhbHVlID0geyB0aW1lc3RhbXA6IHJlY29yZFtmaWVsZC50eXBlIGFzIFN5c3RlbUZpZWxkVHlwZXNdIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjZWxsVmFsdWUgPSByZWNvcmRbZmllbGQudHlwZSBhcyBTeXN0ZW1GaWVsZFR5cGVzXTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNlbGxWYWx1ZSA9IHJlY29yZC52YWx1ZXNbY29uZGl0aW9uLmZpZWxkX2lkXTtcbiAgICB9XG5cbiAgICBpZiAoZmllbGQgJiYgW0FJVGFibGVGaWVsZFR5cGUuY3JlYXRlZEJ5LCBBSVRhYmxlRmllbGRUeXBlLnVwZGF0ZWRCeSwgQUlUYWJsZUZpZWxkVHlwZS5tZW1iZXJdLmluY2x1ZGVzKGZpZWxkLnR5cGUpKSB7XG4gICAgICAgIGNlbGxWYWx1ZSA9IEFycmF5LmlzQXJyYXkoY2VsbFZhbHVlKSA/IGNlbGxWYWx1ZSA6IGlzRW1wdHkoY2VsbFZhbHVlKSA/IFtdIDogW2NlbGxWYWx1ZV07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgZmllbGQsXG4gICAgICAgIGNlbGxWYWx1ZVxuICAgIH07XG59XG4iXX0=
|
@@ -23,7 +23,8 @@ export function sortRecordsBySortInfo(aiTable, records, activeView) {
|
|
23
23
|
const fieldMethod = ViewOperationMap[field.type];
|
24
24
|
const cellValue1 = AITableQueries.getFieldValue(aiTable, [prev._id, field._id]);
|
25
25
|
const cellValue2 = AITableQueries.getFieldValue(aiTable, [current._id, field._id]);
|
26
|
-
const
|
26
|
+
const references = aiTable.references();
|
27
|
+
const res = fieldMethod.compare(cellValue1, cellValue2, field, references);
|
27
28
|
return res * rule.direction;
|
28
29
|
}, 0);
|
29
30
|
});
|
@@ -31,4 +32,4 @@ export function sortRecordsBySortInfo(aiTable, records, activeView) {
|
|
31
32
|
}
|
32
33
|
return shallowRows;
|
33
34
|
}
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy91dGlscy9yZWNvcmQvc29ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRS9DLE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBZ0IsRUFBRSxPQUEyQixFQUFFLFVBQXVCO0lBQ2pHLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDOUQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUNELE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztJQUNwRCxJQUFJLFlBQVksSUFBSSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDaEMsT0FBTyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxPQUFPLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFDLE9BQWdCLEVBQUUsT0FBMkIsRUFBRSxVQUF1QjtJQUN4RyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDakMsSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNyQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQy9CLE9BQU8sVUFBVSxDQUFDLFFBQVMsQ0FBQyxLQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO2dCQUNwRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNoRCxJQUFJLENBQUMsS0FBSyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDdEIsT0FBTyxHQUFHLENBQUM7Z0JBQ2YsQ0FBQztnQkFDRCxNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRWpELE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDaEYsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNuRixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3hDLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQzNFLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDaEMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ1YsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0lBQ0QsT0FBTyxXQUFXLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGUsIEFJVGFibGVRdWVyaWVzIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgQUlUYWJsZVZpZXcsIEFJVGFibGVWaWV3UmVjb3JkcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IFZpZXdPcGVyYXRpb25NYXAgfSBmcm9tICcuLi9maWVsZC9tb2RlbCc7XG5pbXBvcnQgeyBzb3J0QnlWaWV3UG9zaXRpb24gfSBmcm9tICcuLi9jb21tb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U29ydFJlY29yZHMoYWlUYWJsZTogQUlUYWJsZSwgcmVjb3JkczogQUlUYWJsZVZpZXdSZWNvcmRzLCBhY3RpdmVWaWV3OiBBSVRhYmxlVmlldykge1xuICAgIGlmICghYWN0aXZlVmlldz8uc2V0dGluZ3MgfHwgIWFjdGl2ZVZpZXcuc2V0dGluZ3Muc29ydHM/Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gcmVjb3JkcztcbiAgICB9XG4gICAgY29uc3QgeyBpc19rZWVwX3NvcnQsIHNvcnRzIH0gPSBhY3RpdmVWaWV3LnNldHRpbmdzO1xuICAgIGlmIChpc19rZWVwX3NvcnQgJiYgc29ydHM/Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gc29ydFJlY29yZHNCeVNvcnRJbmZvKGFpVGFibGUsIHJlY29yZHMsIGFjdGl2ZVZpZXcpO1xuICAgIH1cbiAgICByZXR1cm4gc29ydEJ5Vmlld1Bvc2l0aW9uKHJlY29yZHMsIGFjdGl2ZVZpZXcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc29ydFJlY29yZHNCeVNvcnRJbmZvKGFpVGFibGU6IEFJVGFibGUsIHJlY29yZHM6IEFJVGFibGVWaWV3UmVjb3JkcywgYWN0aXZlVmlldzogQUlUYWJsZVZpZXcpIHtcbiAgICBjb25zdCBzaGFsbG93Um93cyA9IFsuLi5yZWNvcmRzXTtcbiAgICBpZiAoYWN0aXZlVmlldy5zZXR0aW5ncz8uc29ydHM/Lmxlbmd0aCkge1xuICAgICAgICBzaGFsbG93Um93cy5zb3J0KChwcmV2LCBjdXJyZW50KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYWN0aXZlVmlldy5zZXR0aW5ncyEuc29ydHMhLnJlZHVjZSgoYWNjLCBydWxlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGQgPSBhaVRhYmxlLmZpZWxkc01hcCgpW3J1bGUuc29ydF9ieV07XG4gICAgICAgICAgICAgICAgaWYgKCFmaWVsZCB8fCBhY2MgIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRNZXRob2QgPSBWaWV3T3BlcmF0aW9uTWFwW2ZpZWxkLnR5cGVdO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgY2VsbFZhbHVlMSA9IEFJVGFibGVRdWVyaWVzLmdldEZpZWxkVmFsdWUoYWlUYWJsZSwgW3ByZXYuX2lkLCBmaWVsZC5faWRdKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxsVmFsdWUyID0gQUlUYWJsZVF1ZXJpZXMuZ2V0RmllbGRWYWx1ZShhaVRhYmxlLCBbY3VycmVudC5faWQsIGZpZWxkLl9pZF0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSBhaVRhYmxlLnJlZmVyZW5jZXMoKTtcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBmaWVsZE1ldGhvZC5jb21wYXJlKGNlbGxWYWx1ZTEsIGNlbGxWYWx1ZTIsIGZpZWxkLCByZWZlcmVuY2VzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzICogcnVsZS5kaXJlY3Rpb247XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBzaGFsbG93Um93cztcbiAgICB9XG4gICAgcmV0dXJuIHNoYWxsb3dSb3dzO1xufVxuIl19
|
@@ -758,7 +758,7 @@ class Field {
|
|
758
758
|
eq(cv1, cv2) {
|
759
759
|
return isEqual(cv1, cv2);
|
760
760
|
}
|
761
|
-
compare(cellValue1, cellValue2, field) {
|
761
|
+
compare(cellValue1, cellValue2, field, references) {
|
762
762
|
if (this.eq(cellValue1, cellValue2)) {
|
763
763
|
return 0;
|
764
764
|
}
|
@@ -768,8 +768,8 @@ class Field {
|
|
768
768
|
if (cellValue2 == null) {
|
769
769
|
return 1;
|
770
770
|
}
|
771
|
-
let str1 = this.cellValueToString(cellValue1, field);
|
772
|
-
let str2 = this.cellValueToString(cellValue2, field);
|
771
|
+
let str1 = this.cellValueToString(cellValue1, field, references);
|
772
|
+
let str2 = this.cellValueToString(cellValue2, field, references);
|
773
773
|
if (str1 === str2) {
|
774
774
|
return 0;
|
775
775
|
}
|
@@ -818,9 +818,9 @@ class SelectField extends Field {
|
|
818
818
|
case AITableFilterOperation.exists:
|
819
819
|
return !isEmpty(cellValue);
|
820
820
|
case AITableFilterOperation.in:
|
821
|
-
return Array.isArray(condition.value) && hasIntersect(cellValue, condition.value);
|
821
|
+
return Array.isArray(condition.value) && hasIntersect$1(cellValue, condition.value);
|
822
822
|
case AITableFilterOperation.nin:
|
823
|
-
return Array.isArray(condition.value) && !hasIntersect(cellValue, condition.value);
|
823
|
+
return Array.isArray(condition.value) && !hasIntersect$1(cellValue, condition.value);
|
824
824
|
default:
|
825
825
|
return super.isMeetFilter(condition, cellValue);
|
826
826
|
}
|
@@ -848,7 +848,7 @@ class SelectField extends Field {
|
|
848
848
|
return cellValues && cellValues.length ? cellValues.join(', ') : null;
|
849
849
|
}
|
850
850
|
}
|
851
|
-
function hasIntersect(array1, array2) {
|
851
|
+
function hasIntersect$1(array1, array2) {
|
852
852
|
if (!Array.isArray(array1) || !Array.isArray(array2)) {
|
853
853
|
return false;
|
854
854
|
}
|
@@ -1044,6 +1044,51 @@ class LinkField extends Field {
|
|
1044
1044
|
}
|
1045
1045
|
}
|
1046
1046
|
|
1047
|
+
class MemberField extends Field {
|
1048
|
+
isMeetFilter(condition, cellValue) {
|
1049
|
+
switch (condition.operation) {
|
1050
|
+
case AITableFilterOperation.empty:
|
1051
|
+
return isEmpty(cellValue);
|
1052
|
+
case AITableFilterOperation.exists:
|
1053
|
+
return !isEmpty(cellValue);
|
1054
|
+
case AITableFilterOperation.in:
|
1055
|
+
return Array.isArray(condition.value) && hasIntersect(cellValue, condition.value);
|
1056
|
+
case AITableFilterOperation.nin:
|
1057
|
+
return Array.isArray(condition.value) && !hasIntersect(cellValue, condition.value);
|
1058
|
+
default:
|
1059
|
+
return super.isMeetFilter(condition, cellValue);
|
1060
|
+
}
|
1061
|
+
}
|
1062
|
+
cellValueToString(cellValue, field, references) {
|
1063
|
+
let names = [];
|
1064
|
+
if (cellValue?.length && references) {
|
1065
|
+
for (let index = 0; index < cellValue.length; index++) {
|
1066
|
+
const userInfo = references?.members[cellValue[index]];
|
1067
|
+
if (!userInfo) {
|
1068
|
+
continue;
|
1069
|
+
}
|
1070
|
+
if (userInfo.name) {
|
1071
|
+
names.push(userInfo.name);
|
1072
|
+
}
|
1073
|
+
}
|
1074
|
+
}
|
1075
|
+
return names && names.length ? names.join(', ') : null;
|
1076
|
+
}
|
1077
|
+
}
|
1078
|
+
function hasIntersect(array1, array2) {
|
1079
|
+
if (!Array.isArray(array1) || !Array.isArray(array2)) {
|
1080
|
+
return false;
|
1081
|
+
}
|
1082
|
+
const set1 = new Set(array1);
|
1083
|
+
const set2 = new Set(array2);
|
1084
|
+
for (const ele of set1) {
|
1085
|
+
if (set2.has(ele)) {
|
1086
|
+
return true;
|
1087
|
+
}
|
1088
|
+
}
|
1089
|
+
return false;
|
1090
|
+
}
|
1091
|
+
|
1047
1092
|
const ViewOperationMap = {
|
1048
1093
|
[AITableFieldType.text]: new TextField(),
|
1049
1094
|
[AITableFieldType.richText]: new TextField(),
|
@@ -1054,10 +1099,10 @@ const ViewOperationMap = {
|
|
1054
1099
|
[AITableFieldType.number]: new NumberField(),
|
1055
1100
|
[AITableFieldType.rate]: new RateField(),
|
1056
1101
|
[AITableFieldType.link]: new LinkField(),
|
1057
|
-
[AITableFieldType.member]: new
|
1102
|
+
[AITableFieldType.member]: new MemberField(),
|
1058
1103
|
[AITableFieldType.progress]: new NumberField(),
|
1059
|
-
[AITableFieldType.createdBy]: new
|
1060
|
-
[AITableFieldType.updatedBy]: new
|
1104
|
+
[AITableFieldType.createdBy]: new MemberField(),
|
1105
|
+
[AITableFieldType.updatedBy]: new MemberField()
|
1061
1106
|
};
|
1062
1107
|
|
1063
1108
|
function getSortRecords(aiTable, records, activeView) {
|
@@ -1082,7 +1127,8 @@ function sortRecordsBySortInfo(aiTable, records, activeView) {
|
|
1082
1127
|
const fieldMethod = ViewOperationMap[field.type];
|
1083
1128
|
const cellValue1 = AITableQueries.getFieldValue(aiTable, [prev._id, field._id]);
|
1084
1129
|
const cellValue2 = AITableQueries.getFieldValue(aiTable, [current._id, field._id]);
|
1085
|
-
const
|
1130
|
+
const references = aiTable.references();
|
1131
|
+
const res = fieldMethod.compare(cellValue1, cellValue2, field, references);
|
1086
1132
|
return res * rule.direction;
|
1087
1133
|
}, 0);
|
1088
1134
|
});
|
@@ -1159,6 +1205,9 @@ function getFilterValue(fields, record, condition) {
|
|
1159
1205
|
else {
|
1160
1206
|
cellValue = record.values[condition.field_id];
|
1161
1207
|
}
|
1208
|
+
if (field && [AITableFieldType.createdBy, AITableFieldType.updatedBy, AITableFieldType.member].includes(field.type)) {
|
1209
|
+
cellValue = Array.isArray(cellValue) ? cellValue : isEmpty(cellValue) ? [] : [cellValue];
|
1210
|
+
}
|
1162
1211
|
return {
|
1163
1212
|
field,
|
1164
1213
|
cellValue
|
@@ -1761,5 +1810,5 @@ const VIEW_ACTIONS = [ActionName.SetView, ActionName.AddView, ActionName.RemoveV
|
|
1761
1810
|
* Generated bundle index. Do not edit.
|
1762
1811
|
*/
|
1763
1812
|
|
1764
|
-
export { AITableFilterLogical, AITableFilterOperation, AI_TABLE_CONTENT_FIELD_NAME, ActionName, Actions, Direction, DividerMenuItem, EditFieldPropertyItem, ExecuteType, FLUSHING, Positions, RemovePositions, RemoveRecordsItem, SystemFieldIndex, VIEW_ACTIONS, ViewOperationMap, YjsAITable, actionMappers, addFields, addRecords, addView, applyActionOps, applyEvents, applyYjsEvents, buildFieldsByView, buildRecordsByView, buildRemoveFieldItem, createDefaultPositions, createSharedType, doFilter, getCustomFieldValues, getDataBySharedType, getDefaultRecordDataByFilter, getDefaultRecordValues,
|
1813
|
+
export { AITableFilterLogical, AITableFilterOperation, AI_TABLE_CONTENT_FIELD_NAME, ActionName, Actions, Direction, DividerMenuItem, EditFieldPropertyItem, ExecuteType, FLUSHING, Positions, RemovePositions, RemoveRecordsItem, SystemFieldIndex, VIEW_ACTIONS, ViewOperationMap, YjsAITable, actionMappers, addFields, addRecords, addView, applyActionOps, applyEvents, applyYjsEvents, buildFieldsByView, buildRecordsByView, buildRemoveFieldItem, createDefaultPositions, createSharedType, doFilter, getCustomFieldValues, getDataBySharedType, getDefaultRecordDataByFilter, getDefaultRecordValues, getFilteredRecords, getIdBySystemFieldValues, getIdBySystemFieldValuesType, getPosition, getPositionsByRecordSyncElement, getPositionsBySystemFieldValues, getRecordsBySharedJson, getShareTypeNumberPath, getSharedMapValueId, getSharedMapValueIndex, getSharedRecord, getSharedRecordId, getSharedRecordIndex, getSharedTypeByData, getShortIdBySystemFieldValues, getSortFields, getSortRecords, getSystemFieldValues, getTrackableEntityBySystemFieldValues, getValuesByCustomFieldValues, isEmpty, isPathEqual, removeView, setRecordPositions$1 as setRecordPositions, setRecordUpdatedInfo, sortByViewPosition, sortRecordsBySortInfo, toRecordSyncElement, toSharedType, toSyncElement, translatePositionToPath, translateYjsEvent, updateFieldValue, updateRecordsUpdatedInfo, withState };
|
1765
1814
|
//# sourceMappingURL=ai-table-state.mjs.map
|