@ai-table/grid 0.0.28 → 0.0.30
Sign up to get free protection for your applications and to get access to all the features.
- package/components/context-menu/context-menu.component.d.ts.map +1 -1
- package/constants/table.d.ts +1 -1
- package/constants/table.d.ts.map +1 -1
- package/core/types/ai-table.d.ts +7 -15
- package/core/types/ai-table.d.ts.map +1 -1
- package/core/types/core.d.ts +3 -3
- package/core/types/core.d.ts.map +1 -1
- package/core/utils/common.d.ts.map +1 -1
- package/core/utils/queries.d.ts +2 -2
- package/core/utils/queries.d.ts.map +1 -1
- package/esm2022/components/context-menu/context-menu.component.mjs +4 -11
- package/esm2022/constants/table.mjs +2 -2
- package/esm2022/core/types/ai-table.mjs +22 -16
- package/esm2022/core/types/core.mjs +1 -1
- package/esm2022/core/utils/common.mjs +6 -5
- package/esm2022/core/utils/queries.mjs +1 -1
- package/esm2022/dom-grid.component.mjs +3 -3
- package/esm2022/grid-base.component.mjs +1 -4
- package/esm2022/grid.component.mjs +46 -10
- package/esm2022/renderer/creations/create-active-cell-border.mjs +6 -3
- package/esm2022/renderer/creations/create-cells.mjs +55 -25
- package/esm2022/renderer/renderer.component.mjs +7 -3
- package/esm2022/services/event.service.mjs +3 -2
- package/esm2022/services/index.mjs +1 -2
- package/esm2022/services/selection.service.mjs +41 -16
- package/esm2022/types/grid.mjs +1 -1
- package/esm2022/types/index.mjs +2 -1
- package/esm2022/types/view.mjs +18 -0
- package/esm2022/utils/field/model/date.mjs +64 -0
- package/esm2022/utils/field/model/field.mjs +38 -0
- package/esm2022/utils/field/model/index.mjs +25 -0
- package/esm2022/utils/field/model/link.mjs +33 -0
- package/esm2022/utils/field/model/member.mjs +57 -0
- package/esm2022/utils/field/model/number.mjs +32 -0
- package/esm2022/utils/field/model/progress.mjs +38 -0
- package/esm2022/utils/field/model/rate.mjs +26 -0
- package/esm2022/utils/field/model/select.mjs +56 -0
- package/esm2022/utils/field/model/text.mjs +27 -0
- package/esm2022/utils/field/operate.mjs +47 -0
- package/esm2022/utils/index.mjs +4 -2
- package/esm2022/utils/match-keywords.mjs +11 -0
- package/fesm2022/ai-table-grid.mjs +546 -146
- package/fesm2022/ai-table-grid.mjs.map +1 -1
- package/grid-base.component.d.ts +0 -2
- package/grid-base.component.d.ts.map +1 -1
- package/grid.component.d.ts +5 -0
- package/grid.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/renderer/creations/create-active-cell-border.d.ts.map +1 -1
- package/renderer/creations/create-cells.d.ts.map +1 -1
- package/renderer/renderer.component.d.ts +5 -3
- package/renderer/renderer.component.d.ts.map +1 -1
- package/services/event.service.d.ts.map +1 -1
- package/services/index.d.ts +0 -1
- package/services/index.d.ts.map +1 -1
- package/services/selection.service.d.ts +3 -2
- package/services/selection.service.d.ts.map +1 -1
- package/types/grid.d.ts +6 -5
- package/types/grid.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/view.d.ts +23 -0
- package/types/view.d.ts.map +1 -0
- package/utils/field/model/date.d.ts +9 -0
- package/utils/field/model/date.d.ts.map +1 -0
- package/utils/field/model/field.d.ts +9 -0
- package/utils/field/model/field.d.ts.map +1 -0
- package/utils/field/{index.d.ts → model/index.d.ts} +1 -1
- package/utils/field/model/index.d.ts.map +1 -0
- package/utils/field/model/link.d.ts +9 -0
- package/utils/field/model/link.d.ts.map +1 -0
- package/utils/field/model/member.d.ts +9 -0
- package/utils/field/model/member.d.ts.map +1 -0
- package/utils/field/model/number.d.ts +8 -0
- package/utils/field/model/number.d.ts.map +1 -0
- package/utils/field/model/progress.d.ts +9 -0
- package/utils/field/model/progress.d.ts.map +1 -0
- package/utils/field/model/rate.d.ts +8 -0
- package/utils/field/model/rate.d.ts.map +1 -0
- package/utils/field/model/select.d.ts +9 -0
- package/utils/field/model/select.d.ts.map +1 -0
- package/utils/field/model/text.d.ts +8 -0
- package/utils/field/model/text.d.ts.map +1 -0
- package/utils/field/operate.d.ts +9 -0
- package/utils/field/operate.d.ts.map +1 -0
- package/utils/index.d.ts +3 -1
- package/utils/index.d.ts.map +1 -1
- package/utils/match-keywords.d.ts +4 -0
- package/utils/match-keywords.d.ts.map +1 -0
- package/esm2022/services/match-cell.service.mjs +0 -45
- package/esm2022/utils/field/field.mjs +0 -3
- package/esm2022/utils/field/index.mjs +0 -22
- package/esm2022/utils/field/link.mjs +0 -12
- package/esm2022/utils/field/member.mjs +0 -19
- package/esm2022/utils/field/progress.mjs +0 -12
- package/esm2022/utils/field/select.mjs +0 -16
- package/esm2022/utils/field/text.mjs +0 -12
- package/services/match-cell.service.d.ts +0 -13
- package/services/match-cell.service.d.ts.map +0 -1
- package/utils/field/field.d.ts +0 -5
- package/utils/field/field.d.ts.map +0 -1
- package/utils/field/index.d.ts.map +0 -1
- package/utils/field/link.d.ts +0 -6
- package/utils/field/link.d.ts.map +0 -1
- package/utils/field/member.d.ts +0 -6
- package/utils/field/member.d.ts.map +0 -1
- package/utils/field/progress.d.ts +0 -6
- package/utils/field/progress.d.ts.map +0 -1
- package/utils/field/select.d.ts +0 -6
- package/utils/field/select.d.ts.map +0 -1
- package/utils/field/text.d.ts +0 -6
- package/utils/field/text.d.ts.map +0 -1
@@ -0,0 +1,56 @@
|
|
1
|
+
import { helpers } from 'ngx-tethys/util';
|
2
|
+
import { Field } from './field';
|
3
|
+
import { AITableFilterOperation } from '../../../types';
|
4
|
+
import { isEmpty } from '../../common';
|
5
|
+
import { compareString, hasIntersect } from '../operate';
|
6
|
+
export class SelectField extends Field {
|
7
|
+
isMeetFilter(condition, cellValue) {
|
8
|
+
switch (condition.operation) {
|
9
|
+
case AITableFilterOperation.empty:
|
10
|
+
return isEmpty(cellValue);
|
11
|
+
case AITableFilterOperation.exists:
|
12
|
+
return !isEmpty(cellValue);
|
13
|
+
case AITableFilterOperation.in:
|
14
|
+
return Array.isArray(condition.value) && hasIntersect(cellValue, condition.value);
|
15
|
+
case AITableFilterOperation.nin:
|
16
|
+
return Array.isArray(condition.value) && !hasIntersect(cellValue, condition.value);
|
17
|
+
default:
|
18
|
+
return super.isMeetFilter(condition, cellValue);
|
19
|
+
}
|
20
|
+
}
|
21
|
+
compare(cellValue1, cellValue2, field) {
|
22
|
+
const value1 = cellValueToSortValue(cellValue1, field);
|
23
|
+
const value2 = cellValueToSortValue(cellValue2, field);
|
24
|
+
return compareString(value1, value2);
|
25
|
+
}
|
26
|
+
cellFullText(transformValue, field) {
|
27
|
+
let fullText = [];
|
28
|
+
const optionsMap = helpers.keyBy(field.settings.options || [], '_id');
|
29
|
+
if (transformValue && Array.isArray(transformValue) && transformValue.length) {
|
30
|
+
transformValue.forEach((optionId) => {
|
31
|
+
const option = optionsMap[optionId];
|
32
|
+
if (option && option.text) {
|
33
|
+
fullText.push(option.text);
|
34
|
+
}
|
35
|
+
});
|
36
|
+
}
|
37
|
+
return fullText;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
function cellValueToSortValue(cellValue, field) {
|
41
|
+
if (!cellValue) {
|
42
|
+
return null;
|
43
|
+
}
|
44
|
+
const texts = [];
|
45
|
+
const optionsMap = helpers.keyBy(field.settings.options || [], '_id');
|
46
|
+
if (cellValue && Array.isArray(cellValue) && cellValue.length) {
|
47
|
+
cellValue.forEach((optionId) => {
|
48
|
+
const option = optionsMap[optionId];
|
49
|
+
if (option && option.text) {
|
50
|
+
texts.push(option.text);
|
51
|
+
}
|
52
|
+
});
|
53
|
+
}
|
54
|
+
return texts && texts.length ? texts.join(',') : null;
|
55
|
+
}
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvdXRpbHMvZmllbGQvbW9kZWwvc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBMEIsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXpELE1BQU0sT0FBTyxXQUFZLFNBQVEsS0FBSztJQUN6QixZQUFZLENBQUMsU0FBeUMsRUFBRSxTQUEyQjtRQUN4RixRQUFRLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixLQUFLLHNCQUFzQixDQUFDLEtBQUs7Z0JBQzdCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLEtBQUssc0JBQXNCLENBQUMsTUFBTTtnQkFDOUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQixLQUFLLHNCQUFzQixDQUFDLEVBQUU7Z0JBQzFCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEYsS0FBSyxzQkFBc0IsQ0FBQyxHQUFHO2dCQUMzQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkY7Z0JBQ0ksT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxDQUFDO0lBQ0wsQ0FBQztJQUVRLE9BQU8sQ0FBQyxVQUFzQixFQUFFLFVBQXNCLEVBQUUsS0FBbUI7UUFDaEYsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxPQUFPLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVRLFlBQVksQ0FBQyxjQUF3QixFQUFFLEtBQW1CO1FBQy9ELElBQUksUUFBUSxHQUFhLEVBQUUsQ0FBQztRQUM1QixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFFLEtBQUssQ0FBQyxRQUEyQixDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUYsSUFBSSxjQUFjLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0UsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNoQyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3BDLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDeEIsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0o7QUFFRCxTQUFTLG9CQUFvQixDQUFDLFNBQTJCLEVBQUUsS0FBbUI7SUFDMUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztJQUMzQixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFFLEtBQUssQ0FBQyxRQUEyQixDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUYsSUFBSSxTQUFTLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUQsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzNCLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQyxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDMUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhlbHBlcnMgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkJztcbmltcG9ydCB7IEFJVGFibGVGaWx0ZXJDb25kaXRpb24sIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGQsIEZpZWxkVmFsdWUsIFNlbGVjdEZpZWxkVmFsdWUsIFNlbGVjdFNldHRpbmdzIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IGNvbXBhcmVTdHJpbmcsIGhhc0ludGVyc2VjdCB9IGZyb20gJy4uL29wZXJhdGUnO1xuXG5leHBvcnQgY2xhc3MgU2VsZWN0RmllbGQgZXh0ZW5kcyBGaWVsZCB7XG4gICAgb3ZlcnJpZGUgaXNNZWV0RmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxzdHJpbmc+LCBjZWxsVmFsdWU6IFNlbGVjdEZpZWxkVmFsdWUpIHtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uaW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY29uZGl0aW9uLnZhbHVlKSAmJiBoYXNJbnRlcnNlY3QoY2VsbFZhbHVlLCBjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLm5pbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb25kaXRpb24udmFsdWUpICYmICFoYXNJbnRlcnNlY3QoY2VsbFZhbHVlLCBjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIuaXNNZWV0RmlsdGVyKGNvbmRpdGlvbiwgY2VsbFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGNvbXBhcmUoY2VsbFZhbHVlMTogRmllbGRWYWx1ZSwgY2VsbFZhbHVlMjogRmllbGRWYWx1ZSwgZmllbGQ6IEFJVGFibGVGaWVsZCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlMSA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEsIGZpZWxkKTtcbiAgICAgICAgY29uc3QgdmFsdWUyID0gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlMiwgZmllbGQpO1xuICAgICAgICByZXR1cm4gY29tcGFyZVN0cmluZyh2YWx1ZTEsIHZhbHVlMik7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY2VsbEZ1bGxUZXh0KHRyYW5zZm9ybVZhbHVlOiBzdHJpbmdbXSwgZmllbGQ6IEFJVGFibGVGaWVsZCk6IHN0cmluZ1tdIHtcbiAgICAgICAgbGV0IGZ1bGxUZXh0OiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBjb25zdCBvcHRpb25zTWFwID0gaGVscGVycy5rZXlCeSgoZmllbGQuc2V0dGluZ3MgYXMgU2VsZWN0U2V0dGluZ3MpLm9wdGlvbnMgfHwgW10sICdfaWQnKTtcbiAgICAgICAgaWYgKHRyYW5zZm9ybVZhbHVlICYmIEFycmF5LmlzQXJyYXkodHJhbnNmb3JtVmFsdWUpICYmIHRyYW5zZm9ybVZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtVmFsdWUuZm9yRWFjaCgob3B0aW9uSWQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zTWFwW29wdGlvbklkXTtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uICYmIG9wdGlvbi50ZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIGZ1bGxUZXh0LnB1c2gob3B0aW9uLnRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmdWxsVGV4dDtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTogU2VsZWN0RmllbGRWYWx1ZSwgZmllbGQ6IEFJVGFibGVGaWVsZCk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghY2VsbFZhbHVlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCB0ZXh0czogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBvcHRpb25zTWFwID0gaGVscGVycy5rZXlCeSgoZmllbGQuc2V0dGluZ3MgYXMgU2VsZWN0U2V0dGluZ3MpLm9wdGlvbnMgfHwgW10sICdfaWQnKTtcbiAgICBpZiAoY2VsbFZhbHVlICYmIEFycmF5LmlzQXJyYXkoY2VsbFZhbHVlKSAmJiBjZWxsVmFsdWUubGVuZ3RoKSB7XG4gICAgICAgIGNlbGxWYWx1ZS5mb3JFYWNoKChvcHRpb25JZCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcFtvcHRpb25JZF07XG4gICAgICAgICAgICBpZiAob3B0aW9uICYmIG9wdGlvbi50ZXh0KSB7XG4gICAgICAgICAgICAgICAgdGV4dHMucHVzaChvcHRpb24udGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGV4dHMgJiYgdGV4dHMubGVuZ3RoID8gdGV4dHMuam9pbignLCcpIDogbnVsbDtcbn1cbiJdfQ==
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { AITableFilterOperation } from '../../../types';
|
2
|
+
import { isEmpty } from '../../common';
|
3
|
+
import { compareString, stringInclude } from '../operate';
|
4
|
+
import { Field } from './field';
|
5
|
+
export class TextField extends Field {
|
6
|
+
isMeetFilter(condition, cellValue) {
|
7
|
+
switch (condition.operation) {
|
8
|
+
case AITableFilterOperation.empty:
|
9
|
+
return isEmpty(cellValue);
|
10
|
+
case AITableFilterOperation.exists:
|
11
|
+
return !isEmpty(cellValue);
|
12
|
+
case AITableFilterOperation.contain:
|
13
|
+
return !isEmpty(cellValue) && stringInclude(cellValue, condition.value);
|
14
|
+
default:
|
15
|
+
return super.isMeetFilter(condition, cellValue);
|
16
|
+
}
|
17
|
+
}
|
18
|
+
compare(cellValue1, cellValue2) {
|
19
|
+
const value1 = cellValueToSortValue(cellValue1);
|
20
|
+
const value2 = cellValueToSortValue(cellValue2);
|
21
|
+
return compareString(value1, value2);
|
22
|
+
}
|
23
|
+
}
|
24
|
+
function cellValueToSortValue(cellValue) {
|
25
|
+
return (cellValue && cellValue.trim()) || null;
|
26
|
+
}
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL3RleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUEwQixzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVoQyxNQUFNLE9BQU8sU0FBVSxTQUFRLEtBQUs7SUFDdkIsWUFBWSxDQUFDLFNBQXlDLEVBQUUsU0FBcUI7UUFDbEYsUUFBUSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLO2dCQUM3QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QixLQUFLLHNCQUFzQixDQUFDLE1BQU07Z0JBQzlCLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0IsS0FBSyxzQkFBc0IsQ0FBQyxPQUFPO2dCQUMvQixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVFO2dCQUNJLE9BQU8sS0FBSyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDeEQsQ0FBQztJQUNMLENBQUM7SUFFUSxPQUFPLENBQUMsVUFBc0IsRUFBRSxVQUFzQjtRQUMzRCxNQUFNLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoRCxNQUFNLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoRCxPQUFPLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztDQUNKO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxTQUFxQjtJQUMvQyxPQUFPLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGRWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgQUlUYWJsZUZpbHRlck9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgY29tcGFyZVN0cmluZywgc3RyaW5nSW5jbHVkZSB9IGZyb20gJy4uL29wZXJhdGUnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkJztcblxuZXhwb3J0IGNsYXNzIFRleHRGaWVsZCBleHRlbmRzIEZpZWxkIHtcbiAgICBvdmVycmlkZSBpc01lZXRGaWx0ZXIoY29uZGl0aW9uOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uPHN0cmluZz4sIGNlbGxWYWx1ZTogRmllbGRWYWx1ZSkge1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNFbXB0eShjZWxsVmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmV4aXN0czpcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5jb250YWluOlxuICAgICAgICAgICAgICAgIHJldHVybiAhaXNFbXB0eShjZWxsVmFsdWUpICYmIHN0cmluZ0luY2x1ZGUoY2VsbFZhbHVlLCBjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIuaXNNZWV0RmlsdGVyKGNvbmRpdGlvbiwgY2VsbFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGNvbXBhcmUoY2VsbFZhbHVlMTogRmllbGRWYWx1ZSwgY2VsbFZhbHVlMjogRmllbGRWYWx1ZSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlMSA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEpO1xuICAgICAgICBjb25zdCB2YWx1ZTIgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUyKTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVTdHJpbmcodmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlOiBGaWVsZFZhbHVlKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIChjZWxsVmFsdWUgJiYgY2VsbFZhbHVlLnRyaW0oKSkgfHwgbnVsbDtcbn1cbiJdfQ==
|
@@ -0,0 +1,47 @@
|
|
1
|
+
import { isEmpty } from '../common';
|
2
|
+
export const zhIntlCollator = typeof Intl !== 'undefined' ? new Intl.Collator('zh-CN') : undefined;
|
3
|
+
export function compareNumber(a, b) {
|
4
|
+
if (isEmpty(a) && isEmpty(b)) {
|
5
|
+
return 0;
|
6
|
+
}
|
7
|
+
if (isEmpty(a)) {
|
8
|
+
return -1;
|
9
|
+
}
|
10
|
+
if (isEmpty(b)) {
|
11
|
+
return 1;
|
12
|
+
}
|
13
|
+
return a === b ? 0 : a > b ? 1 : -1;
|
14
|
+
}
|
15
|
+
export function compareString(a, b) {
|
16
|
+
if (a === b) {
|
17
|
+
return 0;
|
18
|
+
}
|
19
|
+
if (a == null) {
|
20
|
+
return -1;
|
21
|
+
}
|
22
|
+
if (b == null) {
|
23
|
+
return 1;
|
24
|
+
}
|
25
|
+
// pinyin sort
|
26
|
+
return a === b ? 0 : zhIntlCollator ? zhIntlCollator.compare(a, b) : a.localeCompare(b, 'zh-CN') > 0 ? 1 : -1;
|
27
|
+
}
|
28
|
+
export function stringInclude(str, searchStr) {
|
29
|
+
return str.toLowerCase().includes(searchStr.trim().toLowerCase());
|
30
|
+
}
|
31
|
+
/**
|
32
|
+
* 两数组是否有交集
|
33
|
+
*/
|
34
|
+
export function hasIntersect(array1, array2) {
|
35
|
+
if (!Array.isArray(array1) || !Array.isArray(array2)) {
|
36
|
+
return false;
|
37
|
+
}
|
38
|
+
const set1 = new Set(array1);
|
39
|
+
const set2 = new Set(array2);
|
40
|
+
for (const element of set1) {
|
41
|
+
if (set2.has(element)) {
|
42
|
+
return true;
|
43
|
+
}
|
44
|
+
}
|
45
|
+
return false;
|
46
|
+
}
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL29wZXJhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsT0FBTyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUVuRyxNQUFNLFVBQVUsYUFBYSxDQUFDLENBQVMsRUFBRSxDQUFTO0lBQzlDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxDQUFnQixFQUFFLENBQWdCO0lBQzVELElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ1YsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBQ0QsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDWixPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1osT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsZUFBZTtJQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEgsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBVyxFQUFFLFNBQWlCO0lBQ3hELE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUN0RSxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUE0QixNQUFXLEVBQUUsTUFBVztJQUM1RSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNwQixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnLi4vY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IHpoSW50bENvbGxhdG9yID0gdHlwZW9mIEludGwgIT09ICd1bmRlZmluZWQnID8gbmV3IEludGwuQ29sbGF0b3IoJ3poLUNOJykgOiB1bmRlZmluZWQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wYXJlTnVtYmVyKGE6IG51bWJlciwgYjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoaXNFbXB0eShhKSAmJiBpc0VtcHR5KGIpKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICBpZiAoaXNFbXB0eShhKSkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIGlmIChpc0VtcHR5KGIpKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgICByZXR1cm4gYSA9PT0gYiA/IDAgOiBhID4gYiA/IDEgOiAtMTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXBhcmVTdHJpbmcoYTogc3RyaW5nIHwgbnVsbCwgYjogc3RyaW5nIHwgbnVsbCk6IG51bWJlciB7XG4gICAgaWYgKGEgPT09IGIpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGlmIChhID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgICBpZiAoYiA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIC8vICBwaW55aW4gc29ydFxuICAgIHJldHVybiBhID09PSBiID8gMCA6IHpoSW50bENvbGxhdG9yID8gemhJbnRsQ29sbGF0b3IuY29tcGFyZShhLCBiKSA6IGEubG9jYWxlQ29tcGFyZShiLCAnemgtQ04nKSA+IDAgPyAxIDogLTE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdJbmNsdWRlKHN0cjogc3RyaW5nLCBzZWFyY2hTdHI6IHN0cmluZykge1xuICAgIHJldHVybiBzdHIudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hTdHIudHJpbSgpLnRvTG93ZXJDYXNlKCkpO1xufVxuXG4vKipcbiAqIOS4pOaVsOe7hOaYr+WQpuacieS6pOmbhlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzSW50ZXJzZWN0PFQgZXh0ZW5kcyBudW1iZXIgfCBzdHJpbmc+KGFycmF5MTogVFtdLCBhcnJheTI6IFRbXSkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShhcnJheTEpIHx8ICFBcnJheS5pc0FycmF5KGFycmF5MikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBzZXQxID0gbmV3IFNldChhcnJheTEpO1xuICAgIGNvbnN0IHNldDIgPSBuZXcgU2V0KGFycmF5Mik7XG4gICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHNldDEpIHtcbiAgICAgICAgaWYgKHNldDIuaGFzKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG4iXX0=
|
package/esm2022/utils/index.mjs
CHANGED
@@ -9,5 +9,7 @@ export * from './position';
|
|
9
9
|
export * from './style';
|
10
10
|
export * from './text-measure';
|
11
11
|
export * from './visible-range';
|
12
|
-
export * from './field';
|
13
|
-
|
12
|
+
export * from './field/model';
|
13
|
+
export * from './field/operate';
|
14
|
+
export * from './match-keywords';
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxNQUFNLENBQUM7QUFDckIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnVpbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9jZWxsJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXBsYWNlaG9sZGVyLWNlbGxzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXRleHQtd2lkdGgnO1xuZXhwb3J0ICogZnJvbSAnLi9pbWFnZS1jYWNoZSc7XG5leHBvcnQgKiBmcm9tICcuL29zJztcbmV4cG9ydCAqIGZyb20gJy4vcG9zaXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zdHlsZSc7XG5leHBvcnQgKiBmcm9tICcuL3RleHQtbWVhc3VyZSc7XG5leHBvcnQgKiBmcm9tICcuL3Zpc2libGUtcmFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC9tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkL29wZXJhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXRjaC1rZXl3b3Jkcyc7XG4iXX0=
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { AITableQueries } from '../core';
|
2
|
+
import { transformCellValue } from './cell';
|
3
|
+
import { ViewOperationMap } from './field/model';
|
4
|
+
export const isCellMatchKeywords = (aiTable, field, recordId, keywords, references) => {
|
5
|
+
const cellValue = AITableQueries.getFieldValue(aiTable, [recordId, field._id]);
|
6
|
+
const transformValue = transformCellValue(aiTable, field, cellValue);
|
7
|
+
const fieldMethod = ViewOperationMap[field.type];
|
8
|
+
let cellFullText = fieldMethod.cellFullText(transformValue, field, references);
|
9
|
+
return keywords && cellFullText.length && cellFullText.some((text) => text.toLowerCase().includes(keywords.toLowerCase()));
|
10
|
+
};
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gta2V5d29yZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9tYXRjaC1rZXl3b3Jkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXlCLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQy9CLE9BQWdCLEVBQ2hCLEtBQW1CLEVBQ25CLFFBQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLFVBQTZCLEVBQy9CLEVBQUU7SUFDQSxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvRSxNQUFNLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxJQUFJLFlBQVksR0FBYSxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekYsT0FBTyxRQUFRLElBQUksWUFBWSxDQUFDLE1BQU0sSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDL0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlUXVlcmllcyB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZVJlZmVyZW5jZXMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1DZWxsVmFsdWUgfSBmcm9tICcuL2NlbGwnO1xuaW1wb3J0IHsgVmlld09wZXJhdGlvbk1hcCB9IGZyb20gJy4vZmllbGQvbW9kZWwnO1xuXG5leHBvcnQgY29uc3QgaXNDZWxsTWF0Y2hLZXl3b3JkcyA9IChcbiAgICBhaVRhYmxlOiBBSVRhYmxlLFxuICAgIGZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgcmVjb3JkSWQ6IHN0cmluZyxcbiAgICBrZXl3b3Jkczogc3RyaW5nLFxuICAgIHJlZmVyZW5jZXM6IEFJVGFibGVSZWZlcmVuY2VzXG4pID0+IHtcbiAgICBjb25zdCBjZWxsVmFsdWUgPSBBSVRhYmxlUXVlcmllcy5nZXRGaWVsZFZhbHVlKGFpVGFibGUsIFtyZWNvcmRJZCwgZmllbGQuX2lkXSk7XG4gICAgY29uc3QgdHJhbnNmb3JtVmFsdWUgPSB0cmFuc2Zvcm1DZWxsVmFsdWUoYWlUYWJsZSwgZmllbGQsIGNlbGxWYWx1ZSk7XG4gICAgY29uc3QgZmllbGRNZXRob2QgPSBWaWV3T3BlcmF0aW9uTWFwW2ZpZWxkLnR5cGVdO1xuICAgIGxldCBjZWxsRnVsbFRleHQ6IHN0cmluZ1tdID0gZmllbGRNZXRob2QuY2VsbEZ1bGxUZXh0KHRyYW5zZm9ybVZhbHVlLCBmaWVsZCwgcmVmZXJlbmNlcyk7XG4gICAgcmV0dXJuIGtleXdvcmRzICYmIGNlbGxGdWxsVGV4dC5sZW5ndGggJiYgY2VsbEZ1bGxUZXh0LnNvbWUoKHRleHQpID0+IHRleHQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhrZXl3b3Jkcy50b0xvd2VyQ2FzZSgpKSk7XG59O1xuIl19
|