@ai-table/state 0.0.28 → 0.0.30
Sign up to get free protection for your applications and to get access to all the features.
- package/action/record.d.ts +2 -2
- package/action/record.d.ts.map +1 -1
- package/constants/context-menu-item.d.ts.map +1 -1
- package/esm2022/action/record.mjs +1 -1
- package/esm2022/constants/context-menu-item.mjs +3 -7
- package/esm2022/shared/to-table/array-event.mjs +1 -1
- package/esm2022/types/action.mjs +1 -1
- package/esm2022/types/view.mjs +1 -18
- package/esm2022/utils/build.mjs +3 -3
- package/esm2022/utils/common.mjs +1 -11
- package/esm2022/utils/index.mjs +1 -2
- package/esm2022/utils/record/filter.mjs +2 -4
- package/esm2022/utils/record/sort.mjs +7 -7
- package/fesm2022/ai-table-state.mjs +13 -422
- package/fesm2022/ai-table-state.mjs.map +1 -1
- package/package.json +1 -1
- package/types/action.d.ts +2 -2
- package/types/action.d.ts.map +1 -1
- package/types/view.d.ts +1 -22
- package/types/view.d.ts.map +1 -1
- package/utils/build.d.ts +2 -1
- package/utils/build.d.ts.map +1 -1
- package/utils/common.d.ts +0 -1
- package/utils/common.d.ts.map +1 -1
- package/utils/index.d.ts +0 -1
- package/utils/index.d.ts.map +1 -1
- package/utils/record/filter.d.ts +2 -2
- package/utils/record/filter.d.ts.map +1 -1
- package/utils/record/sort.d.ts +3 -3
- package/utils/record/sort.d.ts.map +1 -1
- package/esm2022/utils/field/model/date.mjs +0 -74
- package/esm2022/utils/field/model/field.mjs +0 -63
- package/esm2022/utils/field/model/index.mjs +0 -24
- package/esm2022/utils/field/model/link.mjs +0 -37
- package/esm2022/utils/field/model/member.mjs +0 -48
- package/esm2022/utils/field/model/number.mjs +0 -46
- package/esm2022/utils/field/model/rate.mjs +0 -40
- package/esm2022/utils/field/model/select.mjs +0 -55
- package/esm2022/utils/field/model/text.mjs +0 -27
- package/utils/field/model/date.d.ts +0 -11
- package/utils/field/model/date.d.ts.map +0 -1
- package/utils/field/model/field.d.ts +0 -12
- package/utils/field/model/field.d.ts.map +0 -1
- package/utils/field/model/index.d.ts +0 -4
- package/utils/field/model/index.d.ts.map +0 -1
- package/utils/field/model/link.d.ts +0 -10
- package/utils/field/model/link.d.ts.map +0 -1
- package/utils/field/model/member.d.ts +0 -8
- package/utils/field/model/member.d.ts.map +0 -1
- package/utils/field/model/number.d.ts +0 -10
- package/utils/field/model/number.d.ts.map +0 -1
- package/utils/field/model/rate.d.ts +0 -10
- package/utils/field/model/rate.d.ts.map +0 -1
- package/utils/field/model/select.d.ts +0 -12
- package/utils/field/model/select.d.ts.map +0 -1
- package/utils/field/model/text.d.ts +0 -10
- package/utils/field/model/text.d.ts.map +0 -1
package/action/record.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import {
|
1
|
+
import { AIRecordFieldIdPath, AITableRecord, AITableRecordUpdatedInfo, IdPath, NumberPath } from '@ai-table/grid';
|
2
2
|
import { AIViewTable } from '../types';
|
3
|
-
export declare function updateFieldValue(aiTable: AIViewTable, value: any, path:
|
3
|
+
export declare function updateFieldValue(aiTable: AIViewTable, value: any, path: AIRecordFieldIdPath): void;
|
4
4
|
export declare function updateSystemFieldValue(aiTable: AIViewTable, path: IdPath, updatedInfo: AITableRecordUpdatedInfo): void;
|
5
5
|
export declare function addRecord(aiTable: AIViewTable, record: AITableRecord, path: NumberPath): void;
|
6
6
|
export declare function moveRecord(aiTable: AIViewTable, path: NumberPath, newPath: NumberPath): void;
|
package/action/record.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../packages/state/src/action/record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../packages/state/src/action/record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAkB,aAAa,EAAE,wBAAwB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClI,OAAO,EAMH,WAAW,EAEd,MAAM,UAAU,CAAC;AAElB,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,mBAAmB,QAS3F;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,wBAAwB,QAO/G;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,QAOtF;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,QAOrF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,QAM9D;AAED,eAAO,MAAM,aAAa;;;;;;CAMzB,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"context-menu-item.d.ts","sourceRoot":"","sources":["../../../packages/state/src/constants/context-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,sBAAsB,
|
1
|
+
{"version":3,"file":"context-menu-item.d.ts","sourceRoot":"","sources":["../../../packages/state/src/constants/context-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,sBAAsB,EAA+B,MAAM,gBAAgB,CAAC;AAI9F,eAAO,MAAM,iBAAiB,EAAE,sBAkB/B,CAAC"}
|
@@ -48,4 +48,4 @@ export const RecordActions = {
|
|
48
48
|
removeRecord,
|
49
49
|
updateSystemFieldValue
|
50
50
|
};
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL2FjdGlvbi9yZWNvcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixjQUFjLEVBQStELE1BQU0sZ0JBQWdCLENBQUM7QUFDbEksT0FBTyxFQUVILFVBQVUsRUFNYixNQUFNLFVBQVUsQ0FBQztBQUVsQixNQUFNLFVBQVUsZ0JBQWdCLENBQUMsT0FBb0IsRUFBRSxLQUFVLEVBQUUsSUFBeUI7SUFDeEYsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsTUFBTSxTQUFTLEdBQTJCO1FBQ3RDLElBQUksRUFBRSxVQUFVLENBQUMsZ0JBQWdCO1FBQ2pDLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLGFBQWEsRUFBRSxLQUFLO1FBQ3BCLElBQUk7S0FDUCxDQUFDO0lBQ0YsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QixDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLE9BQW9CLEVBQUUsSUFBWSxFQUFFLFdBQXFDO0lBQzVHLE1BQU0sU0FBUyxHQUEyQjtRQUN0QyxJQUFJLEVBQUUsVUFBVSxDQUFDLHNCQUFzQjtRQUN2QyxXQUFXO1FBQ1gsSUFBSTtLQUNQLENBQUM7SUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLE9BQW9CLEVBQUUsTUFBcUIsRUFBRSxJQUFnQjtJQUNuRixNQUFNLFNBQVMsR0FBb0I7UUFDL0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxTQUFTO1FBQzFCLE1BQU07UUFDTixJQUFJO0tBQ1AsQ0FBQztJQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsT0FBb0IsRUFBRSxJQUFnQixFQUFFLE9BQW1CO0lBQ2xGLE1BQU0sU0FBUyxHQUFxQjtRQUNoQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFVBQVU7UUFDM0IsSUFBSTtRQUNKLE9BQU87S0FDVixDQUFDO0lBQ0YsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxPQUFvQixFQUFFLElBQVk7SUFDM0QsTUFBTSxTQUFTLEdBQXVCO1FBQ2xDLElBQUksRUFBRSxVQUFVLENBQUMsWUFBWTtRQUM3QixJQUFJO0tBQ1AsQ0FBQztJQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUN6QixTQUFTO0lBQ1QsZ0JBQWdCO0lBQ2hCLFVBQVU7SUFDVixZQUFZO0lBQ1osc0JBQXNCO0NBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVJlY29yZEZpZWxkSWRQYXRoLCBBSVRhYmxlUXVlcmllcywgQUlUYWJsZVJlY29yZCwgQUlUYWJsZVJlY29yZFVwZGF0ZWRJbmZvLCBJZFBhdGgsIE51bWJlclBhdGggfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQge1xuICAgIFVwZGF0ZUZpZWxkVmFsdWVBY3Rpb24sXG4gICAgQWN0aW9uTmFtZSxcbiAgICBBZGRSZWNvcmRBY3Rpb24sXG4gICAgTW92ZVJlY29yZEFjdGlvbixcbiAgICBSZW1vdmVSZWNvcmRBY3Rpb24sXG4gICAgQUlWaWV3VGFibGUsXG4gICAgVXBkYXRlU3lzdGVtRmllbGRWYWx1ZVxufSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVGaWVsZFZhbHVlKGFpVGFibGU6IEFJVmlld1RhYmxlLCB2YWx1ZTogYW55LCBwYXRoOiBBSVJlY29yZEZpZWxkSWRQYXRoKSB7XG4gICAgY29uc3Qgb2xkVmFsdWUgPSBBSVRhYmxlUXVlcmllcy5nZXRGaWVsZFZhbHVlKGFpVGFibGUsIHBhdGgpO1xuICAgIGNvbnN0IG9wZXJhdGlvbjogVXBkYXRlRmllbGRWYWx1ZUFjdGlvbiA9IHtcbiAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5VcGRhdGVGaWVsZFZhbHVlLFxuICAgICAgICBmaWVsZFZhbHVlOiBvbGRWYWx1ZSxcbiAgICAgICAgbmV3RmllbGRWYWx1ZTogdmFsdWUsXG4gICAgICAgIHBhdGhcbiAgICB9O1xuICAgIGFpVGFibGUuYXBwbHkob3BlcmF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVN5c3RlbUZpZWxkVmFsdWUoYWlUYWJsZTogQUlWaWV3VGFibGUsIHBhdGg6IElkUGF0aCwgdXBkYXRlZEluZm86IEFJVGFibGVSZWNvcmRVcGRhdGVkSW5mbykge1xuICAgIGNvbnN0IG9wZXJhdGlvbjogVXBkYXRlU3lzdGVtRmllbGRWYWx1ZSA9IHtcbiAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5VcGRhdGVTeXN0ZW1GaWVsZFZhbHVlLFxuICAgICAgICB1cGRhdGVkSW5mbyxcbiAgICAgICAgcGF0aFxuICAgIH07XG4gICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkUmVjb3JkKGFpVGFibGU6IEFJVmlld1RhYmxlLCByZWNvcmQ6IEFJVGFibGVSZWNvcmQsIHBhdGg6IE51bWJlclBhdGgpIHtcbiAgICBjb25zdCBvcGVyYXRpb246IEFkZFJlY29yZEFjdGlvbiA9IHtcbiAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5BZGRSZWNvcmQsXG4gICAgICAgIHJlY29yZCxcbiAgICAgICAgcGF0aFxuICAgIH07XG4gICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW92ZVJlY29yZChhaVRhYmxlOiBBSVZpZXdUYWJsZSwgcGF0aDogTnVtYmVyUGF0aCwgbmV3UGF0aDogTnVtYmVyUGF0aCkge1xuICAgIGNvbnN0IG9wZXJhdGlvbjogTW92ZVJlY29yZEFjdGlvbiA9IHtcbiAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5Nb3ZlUmVjb3JkLFxuICAgICAgICBwYXRoLFxuICAgICAgICBuZXdQYXRoXG4gICAgfTtcbiAgICBhaVRhYmxlLmFwcGx5KG9wZXJhdGlvbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVSZWNvcmQoYWlUYWJsZTogQUlWaWV3VGFibGUsIHBhdGg6IElkUGF0aCkge1xuICAgIGNvbnN0IG9wZXJhdGlvbjogUmVtb3ZlUmVjb3JkQWN0aW9uID0ge1xuICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLlJlbW92ZVJlY29yZCxcbiAgICAgICAgcGF0aFxuICAgIH07XG4gICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgY29uc3QgUmVjb3JkQWN0aW9ucyA9IHtcbiAgICBhZGRSZWNvcmQsXG4gICAgdXBkYXRlRmllbGRWYWx1ZSxcbiAgICBtb3ZlUmVjb3JkLFxuICAgIHJlbW92ZVJlY29yZCxcbiAgICB1cGRhdGVTeXN0ZW1GaWVsZFZhbHVlXG59O1xuIl19
|
@@ -1,19 +1,15 @@
|
|
1
|
-
import {
|
1
|
+
import { AITable } from '@ai-table/grid';
|
2
2
|
import { Actions } from '../action';
|
3
3
|
export const RemoveRecordsItem = {
|
4
4
|
type: 'removeRecords',
|
5
5
|
name: '删除行',
|
6
6
|
icon: 'trash',
|
7
7
|
exec: (aiTable, targetName, position, aiTableGridSelectionService) => {
|
8
|
-
let selectedRecordIds =
|
9
|
-
if (!selectedRecordIds.length) {
|
10
|
-
const recordId = getDetailByTargetName(targetName).recordId;
|
11
|
-
selectedRecordIds = [recordId];
|
12
|
-
}
|
8
|
+
let selectedRecordIds = AITable.getActiveRecordIds(aiTable);
|
13
9
|
selectedRecordIds.forEach((id) => {
|
14
10
|
Actions.removeRecord(aiTable, [id]);
|
15
11
|
});
|
16
12
|
aiTableGridSelectionService.clearSelection();
|
17
13
|
}
|
18
14
|
};
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvY29uc3RhbnRzL2NvbnRleHQtbWVudS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQXVELE1BQU0sZ0JBQWdCLENBQUM7QUFDOUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUdwQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBMkI7SUFDckQsSUFBSSxFQUFFLGVBQWU7SUFDckIsSUFBSSxFQUFFLEtBQUs7SUFDWCxJQUFJLEVBQUUsT0FBTztJQUNiLElBQUksRUFBRSxDQUNGLE9BQWdCLEVBQ2hCLFVBQWtCLEVBQ2xCLFFBQWtDLEVBQ2xDLDJCQUF3RCxFQUMxRCxFQUFFO1FBQ0EsSUFBSSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUQsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBVSxFQUFFLEVBQUU7WUFDckMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFzQixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FBQztRQUVILDJCQUEyQixDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ2pELENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZUNvbnRleHRNZW51SXRlbSwgQUlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgQWN0aW9ucyB9IGZyb20gJy4uL2FjdGlvbic7XG5pbXBvcnQgeyBBSVZpZXdUYWJsZSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IFJlbW92ZVJlY29yZHNJdGVtOiBBSVRhYmxlQ29udGV4dE1lbnVJdGVtID0ge1xuICAgIHR5cGU6ICdyZW1vdmVSZWNvcmRzJyxcbiAgICBuYW1lOiAn5Yig6Zmk6KGMJyxcbiAgICBpY29uOiAndHJhc2gnLFxuICAgIGV4ZWM6IChcbiAgICAgICAgYWlUYWJsZTogQUlUYWJsZSxcbiAgICAgICAgdGFyZ2V0TmFtZTogc3RyaW5nLFxuICAgICAgICBwb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9LFxuICAgICAgICBhaVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2U6IEFJVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZVxuICAgICkgPT4ge1xuICAgICAgICBsZXQgc2VsZWN0ZWRSZWNvcmRJZHMgPSBBSVRhYmxlLmdldEFjdGl2ZVJlY29yZElkcyhhaVRhYmxlKTtcblxuICAgICAgICBzZWxlY3RlZFJlY29yZElkcy5mb3JFYWNoKChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBBY3Rpb25zLnJlbW92ZVJlY29yZChhaVRhYmxlIGFzIEFJVmlld1RhYmxlLCBbaWRdKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYWlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgfVxufTtcbiJdfQ==
|
@@ -186,4 +186,4 @@ export function getRemoveIds(event, type) {
|
|
186
186
|
});
|
187
187
|
return ids;
|
188
188
|
}
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXRhYmxlL2FycmF5LWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztBQUN6QixPQUFPLEVBQ0gsVUFBVSxFQVViLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxxQ0FBcUMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1SSxPQUFPLEVBQ0gsK0JBQStCLEVBQy9CLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIsZ0JBQWdCLEVBQ25CLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFvQyxjQUFjLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEcsTUFBTSxDQUFDLE9BQU8sVUFBVSxtQkFBbUIsQ0FBQyxPQUFvQixFQUFFLFVBQXNCLEVBQUUsS0FBb0I7SUFDMUcsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsSUFBSSxVQUFVLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELE1BQU0sT0FBTyxHQUFvQixF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QUFJLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMxQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDbEMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUMsQ0FDSixDQUFDO0lBQ0YsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgKiBhcyBZIGZyb20gJ3lqcyc7XG5pbXBvcnQge1xuICAgIEFjdGlvbk5hbWUsXG4gICAgQUlUYWJsZUFjdGlvbixcbiAgICBBSVRhYmxlVmlldyxcbiAgICBBSVRhYmxlVmlld0ZpZWxkcyxcbiAgICBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgQUlWaWV3VGFibGUsXG4gICAgUG9zaXRpb25zLFxuICAgIFNoYXJlZFR5cGUsXG4gICAgU3luY0FycmF5RWxlbWVudCxcbiAgICBTeW5jTWFwRWxlbWVudFxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRJZEJ5U3lzdGVtRmllbGRWYWx1ZXMsIGdldFNoYXJlVHlwZU51bWJlclBhdGgsIGdldFRyYWNrYWJsZUVudGl0eUJ5U3lzdGVtRmllbGRWYWx1ZXMsIHRyYW5zbGF0ZVBvc2l0aW9uVG9QYXRoIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBnZXRQb3NpdGlvbnNCeVN5c3RlbUZpZWxkVmFsdWVzLFxuICAgIGdldFNoYXJlZE1hcFZhbHVlSWQsXG4gICAgZ2V0U2hhcmVkUmVjb3JkLFxuICAgIGdldFNoYXJlZFJlY29yZElkLFxuICAgIGdldFNob3J0SWRCeVN5c3RlbUZpZWxkVmFsdWVzLFxuICAgIGdldFZhbHVlc0J5Q3VzdG9tRmllbGRWYWx1ZXMsXG4gICAgU3lzdGVtRmllbGRJbmRleFxufSBmcm9tICcuLi91dGlscy90cmFuc2xhdGUnO1xuaW1wb3J0IHsgQUlGaWVsZFZhbHVlSWRQYXRoLCBBSVRhYmxlRmllbGQsIEFJVGFibGVRdWVyaWVzLCBJZFBhdGgsIE51bWJlclBhdGggfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHRyYW5zbGF0ZUFycmF5RXZlbnQoYWlUYWJsZTogQUlWaWV3VGFibGUsIHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsIGV2ZW50OiBZLllFdmVudDxhbnk+KTogQUlUYWJsZUFjdGlvbltdIHtcbiAgICBsZXQgb2Zmc2V0ID0gMDtcbiAgICBsZXQgdGFyZ2V0UGF0aCA9IGdldFNoYXJlVHlwZU51bWJlclBhdGgoZXZlbnQucGF0aCk7XG4gICAgY29uc3QgaXNSZWNvcmRzVHJhbnNsYXRlID0gZXZlbnQucGF0aC5pbmNsdWRlcygncmVjb3JkcycpO1xuICAgIGNvbnN0IGlzRmllbGRzVHJhbnNsYXRlID0gZXZlbnQucGF0aC5pbmNsdWRlcygnZmllbGRzJyk7XG4gICAgY29uc3QgaXNWaWV3c1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ3ZpZXdzJyk7XG4gICAgY29uc3QgYWN0aW9uczogQUlUYWJsZUFjdGlvbltdID0gW107XG4gICAgY29uc3QgYWN0aXZlVmlld0lkID0gYWlUYWJsZS5hY3RpdmVWaWV3SWQoKTtcblxuICAgIGV2ZW50LmNoYW5nZXMuZGVsdGEuZm9yRWFjaCgoZGVsdGEpID0+IHtcbiAgICAgICAgaWYgKCdyZXRhaW4nIGluIGRlbHRhKSB7XG4gICAgICAgICAgICBvZmZzZXQgKz0gZGVsdGEucmV0YWluID8/IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoJ2RlbGV0ZScgaW4gZGVsdGEpIHtcbiAgICAgICAgICAgIGlmIChpc0FkZE9yUmVtb3ZlKHRhcmdldFBhdGgpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzVmlld3NUcmFuc2xhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlVmlldyA9IGFpVGFibGUudmlld3MoKVtvZmZzZXRdO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVtb3ZlVmlldykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLlJlbW92ZVZpZXcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogW3JlbW92ZVZpZXcuX2lkXVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlID0gaXNSZWNvcmRzVHJhbnNsYXRlID8gQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmQgOiBBY3Rpb25OYW1lLlJlbW92ZUZpZWxkO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZW1vdmVJZHMgPSBnZXRSZW1vdmVJZHMoZXZlbnQsIHR5cGUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVtb3ZlSWRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlSWRzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgnaW5zZXJ0JyBpbiBkZWx0YSkge1xuICAgICAgICAgICAgaWYgKGlzQXJyYXkoZGVsdGEuaW5zZXJ0KSkge1xuICAgICAgICAgICAgICAgIGlmIChpc1JlY29yZHNUcmFuc2xhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzQWRkT3JSZW1vdmUodGFyZ2V0UGF0aCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBZLkFycmF5PGFueT4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gaXRlbS50b0pTT04oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBbc3lzdGVtRmllbGRWYWx1ZXMsIGN1c3RvbUZpZWxkVmFsdWVzXSA9IGRhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb25zID0gZ2V0UG9zaXRpb25zQnlTeXN0ZW1GaWVsZFZhbHVlcyhzeXN0ZW1GaWVsZFZhbHVlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb24gPSBwb3NpdGlvbnNbYWN0aXZlVmlld0lkXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gdHJhbnNsYXRlUG9zaXRpb25Ub1BhdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFpVGFibGUucmVjb3JkcygpIGFzIEFJVGFibGVWaWV3UmVjb3JkcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZVZpZXdJZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgYXMgTnVtYmVyUGF0aDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuQWRkUmVjb3JkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBwYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pZDogZ2V0SWRCeVN5c3RlbUZpZWxkVmFsdWVzKHN5c3RlbUZpZWxkVmFsdWVzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3J0X2lkOiBnZXRTaG9ydElkQnlTeXN0ZW1GaWVsZFZhbHVlcyhzeXN0ZW1GaWVsZFZhbHVlcyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5nZXRUcmFja2FibGVFbnRpdHlCeVN5c3RlbUZpZWxkVmFsdWVzKHN5c3RlbUZpZWxkVmFsdWVzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uczogZ2V0UG9zaXRpb25zQnlTeXN0ZW1GaWVsZFZhbHVlcyhzeXN0ZW1GaWVsZFZhbHVlcyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IGdldFZhbHVlc0J5Q3VzdG9tRmllbGRWYWx1ZXMoY3VzdG9tRmllbGRWYWx1ZXMsIGFpVGFibGUuZmllbGRzKCkgYXMgQUlUYWJsZVZpZXdGaWVsZHMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaGFyZWRSZWNvcmRzID0gc2hhcmVkVHlwZS5nZXQoJ3JlY29yZHMnKSEgYXMgWS5BcnJheTxTeW5jQXJyYXlFbGVtZW50PjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaGFyZWRGaWVsZHMgPSBzaGFyZWRUeXBlLmdldCgnZmllbGRzJykhIGFzIFkuQXJyYXk8U3luY01hcEVsZW1lbnQ+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzeXN0ZW1GaWVsZE9mZnNldCA9IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGEuaW5zZXJ0Py5tYXAoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRJbmRleCA9IHRhcmdldFBhdGhbMF0gYXMgbnVtYmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWVsZEluZGV4ID0gb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWNvcmQgPSAoYWlUYWJsZS5yZWNvcmRzKCkgYXMgQUlUYWJsZVZpZXdSZWNvcmRzKVtyZWNvcmRJbmRleF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1N5c3RlbUZpZWxkT3BlcmF0aW9uKHRhcmdldFBhdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQb3NpdGlvbnNPcGVyYXRpb24oZmllbGRJbmRleCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdQb3NpdGlvbnM6IFBvc2l0aW9ucyA9IHt9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UG9zaXRpb25zW2tleV0gPSBpdGVtW2tleV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuU2V0UmVjb3JkUG9zaXRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBbcmVjb3JkLl9pZF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uczogbmV3UG9zaXRpb25zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5q2k5aSE55qE5b6q546v5Lya5YyF5ZCrIHVwZGF0ZWRfYXQg5ZKMIHVwZGF0ZWRfYnkg5ZCE5LiA5qyh77yM6L+Z6YeM5Y+q5aSE55CGIHVwZGF0ZWRfYnkg5ZCM5pe25YyF5ZCr5Lik5Liq5a2X5q6155qE5L+u5pS5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzVXBkYXRlZEJ5T3BlcmF0aW9uKGZpZWxkSW5kZXggKyBzeXN0ZW1GaWVsZE9mZnNldCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzeXN0ZW1GaWVsZFZhbHVlcyA9IGdldFNoYXJlZFJlY29yZChzaGFyZWRSZWNvcmRzLCByZWNvcmRJbmRleCkuZ2V0KDApLnRvSlNPTigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgdXBkYXRlZF9hdCwgdXBkYXRlZF9ieSB9ID0gZ2V0VHJhY2thYmxlRW50aXR5QnlTeXN0ZW1GaWVsZFZhbHVlcyhzeXN0ZW1GaWVsZFZhbHVlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5VcGRhdGVTeXN0ZW1GaWVsZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBbcmVjb3JkLl9pZF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRJbmZvOiB7IHVwZGF0ZWRfYXQsIHVwZGF0ZWRfYnkgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtRmllbGRPZmZzZXQrKztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZElkID0gZ2V0U2hhcmVkUmVjb3JkSWQoc2hhcmVkUmVjb3JkcywgcmVjb3JkSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRJZCA9IGdldFNoYXJlZE1hcFZhbHVlSWQoc2hhcmVkRmllbGRzLCBmaWVsZEluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBbcmVjb3JkSWQsIGZpZWxkSWRdIGFzIEFJRmllbGRWYWx1ZUlkUGF0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkVmFsdWUgPSBBSVRhYmxlUXVlcmllcy5nZXRGaWVsZFZhbHVlKGFpVGFibGUsIHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVG8gZXhjbHVkZSBpbnNlcnQgdHJpZ2dlcmVkIGJ5IGZpZWxkIGluc2VydHMuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGRWYWx1ZSAhPT0gaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuVXBkYXRlRmllbGRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3RmllbGRWYWx1ZTogaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge31cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaXNGaWVsZHNUcmFuc2xhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVsdGEuaW5zZXJ0Py5tYXAoKGl0ZW06IFkuTWFwPGFueT4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBpdGVtLnRvSlNPTigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IHRyYW5zbGF0ZVBvc2l0aW9uVG9QYXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFpVGFibGUuZmllbGRzKCkgYXMgQUlUYWJsZVZpZXdGaWVsZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVsncG9zaXRpb25zJ11bYWN0aXZlVmlld0lkXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVWaWV3SWRcbiAgICAgICAgICAgICAgICAgICAgICAgICkgYXMgTnVtYmVyUGF0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5BZGRGaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkOiBkYXRhIGFzIEFJVGFibGVGaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaXNWaWV3c1RyYW5zbGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICBkZWx0YS5pbnNlcnQ/Lm1hcCgoaXRlbTogWS5NYXA8YW55PiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBpdGVtLnRvSlNPTigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZFZpZXcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogW29mZnNldCArIGluZGV4XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3OiBkYXRhIGFzIEFJVGFibGVWaWV3XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGFjdGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FkZE9yUmVtb3ZlKHRhcmdldFBhdGg6IG51bWJlcltdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRhcmdldFBhdGgubGVuZ3RoID09PSAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTeXN0ZW1GaWVsZE9wZXJhdGlvbih0YXJnZXRQYXRoOiBudW1iZXJbXSk6IGJvb2xlYW4ge1xuICAgIGlmICh0YXJnZXRQYXRoLmxlbmd0aCA9PT0gMiAmJiB0YXJnZXRQYXRoWzFdID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0N1c3RvbUZpZWxkT3BlcmF0aW9uKHRhcmdldFBhdGg6IG51bWJlcltdKTogYm9vbGVhbiB7XG4gICAgaWYgKHRhcmdldFBhdGgubGVuZ3RoID09PSAyICYmIHRhcmdldFBhdGhbMV0gPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUG9zaXRpb25zT3BlcmF0aW9uKGZpZWxkSW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmaWVsZEluZGV4ID09PSBTeXN0ZW1GaWVsZEluZGV4LlBvc2l0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVXBkYXRlZEJ5T3BlcmF0aW9uKGZpZWxkSW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmaWVsZEluZGV4ID09PSBTeXN0ZW1GaWVsZEluZGV4LlVwZGF0ZWRCeTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlbW92ZUlkcyhldmVudDogWS5ZRXZlbnQ8YW55PiwgdHlwZTogQWN0aW9uTmFtZS5SZW1vdmVGaWVsZCB8IEFjdGlvbk5hbWUuUmVtb3ZlUmVjb3JkKSB7XG4gICAgY29uc3QgaWRzOiBbc3RyaW5nXVtdID0gW107XG4gICAgaWYgKCF0eXBlKSB7XG4gICAgICAgIHJldHVybiBpZHM7XG4gICAgfVxuXG4gICAgWS5pdGVyYXRlRGVsZXRlZFN0cnVjdHMoXG4gICAgICAgIGV2ZW50LnRyYW5zYWN0aW9uLFxuICAgICAgICBldmVudC50cmFuc2FjdGlvbi5kZWxldGVTZXQsXG4gICAgICAgIC8vIEBwYXJhbSB7SXRlbXxHQ30gaXRlbVxuICAgICAgICAoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBZLkl0ZW0gJiYgaXRlbS5kZWxldGVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09IEFjdGlvbk5hbWUuUmVtb3ZlRmllbGQgJiYgaXRlbS5wYXJlbnRTdWIgPT09ICdfaWQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGlkcy5wdXNoKGl0ZW0uY29udGVudC5nZXRDb250ZW50KCkgYXMgSWRQYXRoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09IEFjdGlvbk5hbWUuUmVtb3ZlUmVjb3JkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBpdGVtLmNvbnRlbnQuZ2V0Q29udGVudCgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29udGVudFswXSAmJiBjb250ZW50WzBdWydfaWQnXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWRzLnB1c2goW2NvbnRlbnRbMF1bJ19pZCddXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICApO1xuICAgIHJldHVybiBpZHM7XG59XG4iXX0=
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXRhYmxlL2FycmF5LWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztBQUN6QixPQUFPLEVBQ0gsVUFBVSxFQVViLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxxQ0FBcUMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1SSxPQUFPLEVBQ0gsK0JBQStCLEVBQy9CLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIsZ0JBQWdCLEVBQ25CLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFxQyxjQUFjLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkcsTUFBTSxDQUFDLE9BQU8sVUFBVSxtQkFBbUIsQ0FBQyxPQUFvQixFQUFFLFVBQXNCLEVBQUUsS0FBb0I7SUFDMUcsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsSUFBSSxVQUFVLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELE1BQU0sT0FBTyxHQUFvQixF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QUFJLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMxQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDbEMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUMsQ0FDSixDQUFDO0lBQ0YsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgKiBhcyBZIGZyb20gJ3lqcyc7XG5pbXBvcnQge1xuICAgIEFjdGlvbk5hbWUsXG4gICAgQUlUYWJsZUFjdGlvbixcbiAgICBBSVRhYmxlVmlldyxcbiAgICBBSVRhYmxlVmlld0ZpZWxkcyxcbiAgICBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgQUlWaWV3VGFibGUsXG4gICAgUG9zaXRpb25zLFxuICAgIFNoYXJlZFR5cGUsXG4gICAgU3luY0FycmF5RWxlbWVudCxcbiAgICBTeW5jTWFwRWxlbWVudFxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRJZEJ5U3lzdGVtRmllbGRWYWx1ZXMsIGdldFNoYXJlVHlwZU51bWJlclBhdGgsIGdldFRyYWNrYWJsZUVudGl0eUJ5U3lzdGVtRmllbGRWYWx1ZXMsIHRyYW5zbGF0ZVBvc2l0aW9uVG9QYXRoIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBnZXRQb3NpdGlvbnNCeVN5c3RlbUZpZWxkVmFsdWVzLFxuICAgIGdldFNoYXJlZE1hcFZhbHVlSWQsXG4gICAgZ2V0U2hhcmVkUmVjb3JkLFxuICAgIGdldFNoYXJlZFJlY29yZElkLFxuICAgIGdldFNob3J0SWRCeVN5c3RlbUZpZWxkVmFsdWVzLFxuICAgIGdldFZhbHVlc0J5Q3VzdG9tRmllbGRWYWx1ZXMsXG4gICAgU3lzdGVtRmllbGRJbmRleFxufSBmcm9tICcuLi91dGlscy90cmFuc2xhdGUnO1xuaW1wb3J0IHsgQUlSZWNvcmRGaWVsZElkUGF0aCwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlUXVlcmllcywgSWRQYXRoLCBOdW1iZXJQYXRoIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0cmFuc2xhdGVBcnJheUV2ZW50KGFpVGFibGU6IEFJVmlld1RhYmxlLCBzaGFyZWRUeXBlOiBTaGFyZWRUeXBlLCBldmVudDogWS5ZRXZlbnQ8YW55Pik6IEFJVGFibGVBY3Rpb25bXSB7XG4gICAgbGV0IG9mZnNldCA9IDA7XG4gICAgbGV0IHRhcmdldFBhdGggPSBnZXRTaGFyZVR5cGVOdW1iZXJQYXRoKGV2ZW50LnBhdGgpO1xuICAgIGNvbnN0IGlzUmVjb3Jkc1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ3JlY29yZHMnKTtcbiAgICBjb25zdCBpc0ZpZWxkc1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ2ZpZWxkcycpO1xuICAgIGNvbnN0IGlzVmlld3NUcmFuc2xhdGUgPSBldmVudC5wYXRoLmluY2x1ZGVzKCd2aWV3cycpO1xuICAgIGNvbnN0IGFjdGlvbnM6IEFJVGFibGVBY3Rpb25bXSA9IFtdO1xuICAgIGNvbnN0IGFjdGl2ZVZpZXdJZCA9IGFpVGFibGUuYWN0aXZlVmlld0lkKCk7XG5cbiAgICBldmVudC5jaGFuZ2VzLmRlbHRhLmZvckVhY2goKGRlbHRhKSA9PiB7XG4gICAgICAgIGlmICgncmV0YWluJyBpbiBkZWx0YSkge1xuICAgICAgICAgICAgb2Zmc2V0ICs9IGRlbHRhLnJldGFpbiA/PyAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCdkZWxldGUnIGluIGRlbHRhKSB7XG4gICAgICAgICAgICBpZiAoaXNBZGRPclJlbW92ZSh0YXJnZXRQYXRoKSkge1xuICAgICAgICAgICAgICAgIGlmIChpc1ZpZXdzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlbW92ZVZpZXcgPSBhaVRhYmxlLnZpZXdzKClbb2Zmc2V0XTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbW92ZVZpZXcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5SZW1vdmVWaWV3LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IFtyZW1vdmVWaWV3Ll9pZF1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZSA9IGlzUmVjb3Jkc1RyYW5zbGF0ZSA/IEFjdGlvbk5hbWUuUmVtb3ZlUmVjb3JkIDogQWN0aW9uTmFtZS5SZW1vdmVGaWVsZDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlSWRzID0gZ2V0UmVtb3ZlSWRzKGV2ZW50LCB0eXBlKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbW92ZUlkcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZUlkcy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoJ2luc2VydCcgaW4gZGVsdGEpIHtcbiAgICAgICAgICAgIGlmIChpc0FycmF5KGRlbHRhLmluc2VydCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNSZWNvcmRzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0FkZE9yUmVtb3ZlKHRhcmdldFBhdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWx0YS5pbnNlcnQ/Lm1hcCgoaXRlbTogWS5BcnJheTxhbnk+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgW3N5c3RlbUZpZWxkVmFsdWVzLCBjdXN0b21GaWVsZFZhbHVlc10gPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IGdldFBvc2l0aW9uc0J5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gcG9zaXRpb25zW2FjdGl2ZVZpZXdJZF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IHRyYW5zbGF0ZVBvc2l0aW9uVG9QYXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnJlY29yZHMoKSBhcyBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVWaWV3SWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIGFzIE51bWJlclBhdGg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZFJlY29yZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaWQ6IGdldElkQnlTeXN0ZW1GaWVsZFZhbHVlcyhzeXN0ZW1GaWVsZFZhbHVlcyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG9ydF9pZDogZ2V0U2hvcnRJZEJ5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uZ2V0VHJhY2thYmxlRW50aXR5QnlTeXN0ZW1GaWVsZFZhbHVlcyhzeXN0ZW1GaWVsZFZhbHVlcyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IGdldFBvc2l0aW9uc0J5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBnZXRWYWx1ZXNCeUN1c3RvbUZpZWxkVmFsdWVzKGN1c3RvbUZpZWxkVmFsdWVzLCBhaVRhYmxlLmZpZWxkcygpIGFzIEFJVGFibGVWaWV3RmllbGRzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hhcmVkUmVjb3JkcyA9IHNoYXJlZFR5cGUuZ2V0KCdyZWNvcmRzJykhIGFzIFkuQXJyYXk8U3luY0FycmF5RWxlbWVudD47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hhcmVkRmllbGRzID0gc2hhcmVkVHlwZS5nZXQoJ2ZpZWxkcycpISBhcyBZLkFycmF5PFN5bmNNYXBFbGVtZW50PjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc3lzdGVtRmllbGRPZmZzZXQgPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSB0YXJnZXRQYXRoWzBdIGFzIG51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IG9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkID0gKGFpVGFibGUucmVjb3JkcygpIGFzIEFJVGFibGVWaWV3UmVjb3JkcylbcmVjb3JkSW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNTeXN0ZW1GaWVsZE9wZXJhdGlvbih0YXJnZXRQYXRoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzUG9zaXRpb25zT3BlcmF0aW9uKGZpZWxkSW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UG9zaXRpb25zOiBQb3NpdGlvbnMgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Bvc2l0aW9uc1trZXldID0gaXRlbVtrZXldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLlNldFJlY29yZFBvc2l0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogW3JlY29yZC5faWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IG5ld1Bvc2l0aW9uc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOatpOWkhOeahOW+queOr+S8muWMheWQqyB1cGRhdGVkX2F0IOWSjCB1cGRhdGVkX2J5IOWQhOS4gOasoe+8jOi/memHjOWPquWkhOeQhiB1cGRhdGVkX2J5IOWQjOaXtuWMheWQq+S4pOS4quWtl+auteeahOS/ruaUuVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpc1VwZGF0ZWRCeU9wZXJhdGlvbihmaWVsZEluZGV4ICsgc3lzdGVtRmllbGRPZmZzZXQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3lzdGVtRmllbGRWYWx1ZXMgPSBnZXRTaGFyZWRSZWNvcmQoc2hhcmVkUmVjb3JkcywgcmVjb3JkSW5kZXgpLmdldCgwKS50b0pTT04oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHVwZGF0ZWRfYXQsIHVwZGF0ZWRfYnkgfSA9IGdldFRyYWNrYWJsZUVudGl0eUJ5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuVXBkYXRlU3lzdGVtRmllbGRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogW3JlY29yZC5faWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkSW5mbzogeyB1cGRhdGVkX2F0LCB1cGRhdGVkX2J5IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbUZpZWxkT2Zmc2V0Kys7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRJZCA9IGdldFNoYXJlZFJlY29yZElkKHNoYXJlZFJlY29yZHMsIHJlY29yZEluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkSWQgPSBnZXRTaGFyZWRNYXBWYWx1ZUlkKHNoYXJlZEZpZWxkcywgZmllbGRJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gW3JlY29yZElkLCBmaWVsZElkXSBhcyBBSVJlY29yZEZpZWxkSWRQYXRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IEFJVGFibGVRdWVyaWVzLmdldEZpZWxkVmFsdWUoYWlUYWJsZSwgcGF0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUbyBleGNsdWRlIGluc2VydCB0cmlnZ2VyZWQgYnkgZmllbGQgaW5zZXJ0cy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZFZhbHVlICE9PSBpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5VcGRhdGVGaWVsZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdGaWVsZFZhbHVlOiBpdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc0ZpZWxkc1RyYW5zbGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICBkZWx0YS5pbnNlcnQ/Lm1hcCgoaXRlbTogWS5NYXA8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gdHJhbnNsYXRlUG9zaXRpb25Ub1BhdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWlUYWJsZS5maWVsZHMoKSBhcyBBSVRhYmxlVmlld0ZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhWydwb3NpdGlvbnMnXVthY3RpdmVWaWV3SWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZVZpZXdJZFxuICAgICAgICAgICAgICAgICAgICAgICAgKSBhcyBOdW1iZXJQYXRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZEZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQ6IGRhdGEgYXMgQUlUYWJsZUZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc1ZpZXdzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBZLk1hcDxhbnk+LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuQWRkVmlldyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBbb2Zmc2V0ICsgaW5kZXhdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXc6IGRhdGEgYXMgQUlUYWJsZVZpZXdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYWN0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWRkT3JSZW1vdmUodGFyZ2V0UGF0aDogbnVtYmVyW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGFyZ2V0UGF0aC5sZW5ndGggPT09IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N5c3RlbUZpZWxkT3BlcmF0aW9uKHRhcmdldFBhdGg6IG51bWJlcltdKTogYm9vbGVhbiB7XG4gICAgaWYgKHRhcmdldFBhdGgubGVuZ3RoID09PSAyICYmIHRhcmdldFBhdGhbMV0gPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ3VzdG9tRmllbGRPcGVyYXRpb24odGFyZ2V0UGF0aDogbnVtYmVyW10pOiBib29sZWFuIHtcbiAgICBpZiAodGFyZ2V0UGF0aC5sZW5ndGggPT09IDIgJiYgdGFyZ2V0UGF0aFsxXSA9PT0gMSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQb3NpdGlvbnNPcGVyYXRpb24oZmllbGRJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZpZWxkSW5kZXggPT09IFN5c3RlbUZpZWxkSW5kZXguUG9zaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVcGRhdGVkQnlPcGVyYXRpb24oZmllbGRJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZpZWxkSW5kZXggPT09IFN5c3RlbUZpZWxkSW5kZXguVXBkYXRlZEJ5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVtb3ZlSWRzKGV2ZW50OiBZLllFdmVudDxhbnk+LCB0eXBlOiBBY3Rpb25OYW1lLlJlbW92ZUZpZWxkIHwgQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmQpIHtcbiAgICBjb25zdCBpZHM6IFtzdHJpbmddW10gPSBbXTtcbiAgICBpZiAoIXR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGlkcztcbiAgICB9XG5cbiAgICBZLml0ZXJhdGVEZWxldGVkU3RydWN0cyhcbiAgICAgICAgZXZlbnQudHJhbnNhY3Rpb24sXG4gICAgICAgIGV2ZW50LnRyYW5zYWN0aW9uLmRlbGV0ZVNldCxcbiAgICAgICAgLy8gQHBhcmFtIHtJdGVtfEdDfSBpdGVtXG4gICAgICAgIChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIFkuSXRlbSAmJiBpdGVtLmRlbGV0ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gQWN0aW9uTmFtZS5SZW1vdmVGaWVsZCAmJiBpdGVtLnBhcmVudFN1YiA9PT0gJ19pZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgaWRzLnB1c2goaXRlbS5jb250ZW50LmdldENvbnRlbnQoKSBhcyBJZFBhdGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IGl0ZW0uY29udGVudC5nZXRDb250ZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250ZW50WzBdICYmIGNvbnRlbnRbMF1bJ19pZCddKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZHMucHVzaChbY29udGVudFswXVsnX2lkJ11dKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIGlkcztcbn1cbiJdfQ==
|
package/esm2022/types/action.mjs
CHANGED
@@ -20,4 +20,4 @@ export var ExecuteType;
|
|
20
20
|
ExecuteType[ExecuteType["Undo"] = 1] = "Undo";
|
21
21
|
ExecuteType[ExecuteType["Redo"] = 2] = "Redo";
|
22
22
|
})(ExecuteType || (ExecuteType = {}));
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3R5cGVzL2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQU4sSUFBWSxVQWNYO0FBZEQsV0FBWSxVQUFVO0lBQ2xCLHFEQUF1QyxDQUFBO0lBQ3ZDLHNDQUF3QixDQUFBO0lBQ3hCLG9DQUFzQixDQUFBO0lBQ3RCLHNDQUF3QixDQUFBO0lBQ3hCLHdDQUEwQixDQUFBO0lBQzFCLDBDQUE0QixDQUFBO0lBQzVCLDRDQUE4QixDQUFBO0lBQzlCLG9DQUFzQixDQUFBO0lBQ3RCLGtDQUFvQixDQUFBO0lBQ3BCLGtDQUFvQixDQUFBO0lBQ3BCLHdDQUEwQixDQUFBO0lBQzFCLHlEQUEyQyxDQUFBO0lBQzNDLGtFQUFvRCxDQUFBO0FBQ3hELENBQUMsRUFkVyxVQUFVLEtBQVYsVUFBVSxRQWNyQjtBQUVELE1BQU0sQ0FBTixJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDbkIsbURBQU8sQ0FBQTtJQUNQLDZDQUFJLENBQUE7SUFDSiw2Q0FBSSxDQUFBO0FBQ1IsQ0FBQyxFQUpXLFdBQVcsS0FBWCxXQUFXLFFBSXRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlSZWNvcmRGaWVsZElkUGF0aCwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlUmVjb3JkLCBBSVRhYmxlUmVjb3JkVXBkYXRlZEluZm8sIElkUGF0aCwgTnVtYmVyUGF0aCB9IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcbmltcG9ydCB7IEFJVGFibGVWaWV3LCBBSVRhYmxlVmlld1JlY29yZCwgUG9zaXRpb25zLCBSZW1vdmVQb3NpdGlvbnMgfSBmcm9tICcuL3ZpZXcnO1xuXG5leHBvcnQgZW51bSBBY3Rpb25OYW1lIHtcbiAgICBVcGRhdGVGaWVsZFZhbHVlID0gJ3VwZGF0ZV9maWVsZF92YWx1ZScsXG4gICAgQWRkUmVjb3JkID0gJ2FkZF9yZWNvcmQnLFxuICAgIEFkZEZpZWxkID0gJ2FkZF9maWVsZCcsXG4gICAgTW92ZUZpZWxkID0gJ21vdmVfZmllbGQnLFxuICAgIE1vdmVSZWNvcmQgPSAnbW92ZV9yZWNvcmQnLFxuICAgIFJlbW92ZUZpZWxkID0gJ3JlbW92ZV9maWVsZCcsXG4gICAgUmVtb3ZlUmVjb3JkID0gJ3JlbW92ZV9yZWNvcmQnLFxuICAgIFNldEZpZWxkID0gJ3NldF9maWVsZCcsXG4gICAgU2V0VmlldyA9ICdzZXRfdmlldycsXG4gICAgQWRkVmlldyA9ICdhZGRfdmlldycsXG4gICAgUmVtb3ZlVmlldyA9ICdyZW1vdmVfdmlldycsXG4gICAgU2V0UmVjb3JkUG9zaXRpb25zID0gJ3NldF9yZWNvcmRfcG9zaXRpb25zJyxcbiAgICBVcGRhdGVTeXN0ZW1GaWVsZFZhbHVlID0gJ3VwZGF0ZV9zeXN0ZW1fZmllbGRfdmFsdWUnXG59XG5cbmV4cG9ydCBlbnVtIEV4ZWN1dGVUeXBlIHtcbiAgICBFeGVjdXRlLFxuICAgIFVuZG8sXG4gICAgUmVkb1xufVxuXG5leHBvcnQgdHlwZSBVcGRhdGVGaWVsZFZhbHVlQWN0aW9uID0ge1xuICAgIHR5cGU6IEFjdGlvbk5hbWUuVXBkYXRlRmllbGRWYWx1ZTtcbiAgICBwYXRoOiBBSVJlY29yZEZpZWxkSWRQYXRoO1xuICAgIGZpZWxkVmFsdWU6IGFueTtcbiAgICBuZXdGaWVsZFZhbHVlOiBhbnk7XG59O1xuXG5leHBvcnQgdHlwZSBBZGRSZWNvcmRBY3Rpb24gPSB7XG4gICAgdHlwZTogQWN0aW9uTmFtZS5BZGRSZWNvcmQ7XG4gICAgcGF0aDogTnVtYmVyUGF0aDtcbiAgICByZWNvcmQ6IEFJVGFibGVSZWNvcmQgfCBBSVRhYmxlVmlld1JlY29yZDtcbn07XG5cbmV4cG9ydCB0eXBlIEFkZEZpZWxkQWN0aW9uID0ge1xuICAgIHR5cGU6IEFjdGlvbk5hbWUuQWRkRmllbGQ7XG4gICAgcGF0aDogTnVtYmVyUGF0aDtcbiAgICBmaWVsZDogQUlUYWJsZUZpZWxkO1xufTtcblxuZXhwb3J0IHR5cGUgTW92ZUZpZWxkQWN0aW9uID0ge1xuICAgIHR5cGU6IEFjdGlvbk5hbWUuTW92ZUZpZWxkO1xuICAgIHBhdGg6IE51bWJlclBhdGg7XG4gICAgbmV3UGF0aDogTnVtYmVyUGF0aDtcbn07XG5cbmV4cG9ydCB0eXBlIE1vdmVSZWNvcmRBY3Rpb24gPSB7XG4gICAgdHlwZTogQWN0aW9uTmFtZS5Nb3ZlUmVjb3JkO1xuICAgIHBhdGg6IE51bWJlclBhdGg7XG4gICAgbmV3UGF0aDogTnVtYmVyUGF0aDtcbn07XG5cbmV4cG9ydCB0eXBlIFJlbW92ZUZpZWxkQWN0aW9uID0ge1xuICAgIHR5cGU6IEFjdGlvbk5hbWUuUmVtb3ZlRmllbGQ7XG4gICAgcGF0aDogSWRQYXRoO1xufTtcblxuZXhwb3J0IHR5cGUgUmVtb3ZlUmVjb3JkQWN0aW9uID0ge1xuICAgIHR5cGU6IEFjdGlvbk5hbWUuUmVtb3ZlUmVjb3JkO1xuICAgIHBhdGg6IElkUGF0aDtcbn07XG5cbmV4cG9ydCB0eXBlIFNldEZpZWxkQWN0aW9uID0ge1xuICAgIHR5cGU6IEFjdGlvbk5hbWUuU2V0RmllbGQ7XG4gICAgcGF0aDogSWRQYXRoO1xuICAgIHByb3BlcnRpZXM6IFBhcnRpYWw8QUlUYWJsZUZpZWxkPjtcbiAgICBuZXdQcm9wZXJ0aWVzOiBQYXJ0aWFsPEFJVGFibGVGaWVsZD47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNldFZpZXdBY3Rpb24ge1xuICAgIHR5cGU6IEFjdGlvbk5hbWUuU2V0VmlldztcbiAgICBwcm9wZXJ0aWVzOiBQYXJ0aWFsPEFJVGFibGVWaWV3PjtcbiAgICBuZXdQcm9wZXJ0aWVzOiBQYXJ0aWFsPEFJVGFibGVWaWV3PjtcbiAgICBwYXRoOiBJZFBhdGg7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkVmlld0FjdGlvbiB7XG4gICAgdHlwZTogQWN0aW9uTmFtZS5BZGRWaWV3O1xuICAgIHZpZXc6IEFJVGFibGVWaWV3O1xuICAgIHBhdGg6IFtudW1iZXJdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbW92ZVZpZXdBY3Rpb24ge1xuICAgIHR5cGU6IEFjdGlvbk5hbWUuUmVtb3ZlVmlldztcbiAgICBwYXRoOiBJZFBhdGg7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0UmVjb3JkUG9zaXRpb25BY3Rpb24ge1xuICAgIHR5cGU6IEFjdGlvbk5hbWUuU2V0UmVjb3JkUG9zaXRpb25zO1xuICAgIHBvc2l0aW9uczogUG9zaXRpb25zIHwgUmVtb3ZlUG9zaXRpb25zO1xuICAgIHBhdGg6IElkUGF0aDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVTeXN0ZW1GaWVsZFZhbHVlIHtcbiAgICB0eXBlOiBBY3Rpb25OYW1lLlVwZGF0ZVN5c3RlbUZpZWxkVmFsdWU7XG4gICAgdXBkYXRlZEluZm86IFBhcnRpYWw8QUlUYWJsZVJlY29yZFVwZGF0ZWRJbmZvPjtcbiAgICBwYXRoOiBJZFBhdGg7XG59XG5cbmV4cG9ydCB0eXBlIEFJVGFibGVWaWV3QWN0aW9uID0gU2V0Vmlld0FjdGlvbiB8IEFkZFZpZXdBY3Rpb24gfCBSZW1vdmVWaWV3QWN0aW9uO1xuXG5leHBvcnQgdHlwZSBBSVRhYmxlU3lzdGVtRmllbGRBY3Rpb24gPSBTZXRSZWNvcmRQb3NpdGlvbkFjdGlvbiB8IFVwZGF0ZVN5c3RlbUZpZWxkVmFsdWU7XG5cbmV4cG9ydCB0eXBlIEFJVGFibGVBY3Rpb24gPVxuICAgIHwgVXBkYXRlRmllbGRWYWx1ZUFjdGlvblxuICAgIHwgQWRkUmVjb3JkQWN0aW9uXG4gICAgfCBBZGRGaWVsZEFjdGlvblxuICAgIHwgUmVtb3ZlUmVjb3JkQWN0aW9uXG4gICAgfCBSZW1vdmVGaWVsZEFjdGlvblxuICAgIHwgU2V0RmllbGRBY3Rpb25cbiAgICB8IE1vdmVGaWVsZEFjdGlvblxuICAgIHwgTW92ZVJlY29yZEFjdGlvblxuICAgIHwgQUlUYWJsZVZpZXdBY3Rpb25cbiAgICB8IEFJVGFibGVTeXN0ZW1GaWVsZEFjdGlvbjtcbiJdfQ==
|
package/esm2022/types/view.mjs
CHANGED
@@ -13,21 +13,4 @@ export var AITableFilterLogical;
|
|
13
13
|
AITableFilterLogical["and"] = "and";
|
14
14
|
AITableFilterLogical["or"] = "or";
|
15
15
|
})(AITableFilterLogical || (AITableFilterLogical = {}));
|
16
|
-
|
17
|
-
(function (AITableFilterOperation) {
|
18
|
-
AITableFilterOperation["eq"] = "eq";
|
19
|
-
AITableFilterOperation["gte"] = "gte";
|
20
|
-
AITableFilterOperation["lte"] = "lte";
|
21
|
-
AITableFilterOperation["gt"] = "gt";
|
22
|
-
AITableFilterOperation["lt"] = "lt";
|
23
|
-
AITableFilterOperation["in"] = "in";
|
24
|
-
AITableFilterOperation["contain"] = "contain";
|
25
|
-
AITableFilterOperation["ne"] = "ne";
|
26
|
-
AITableFilterOperation["nin"] = "nin";
|
27
|
-
AITableFilterOperation["between"] = "between";
|
28
|
-
AITableFilterOperation["besides"] = "besides";
|
29
|
-
AITableFilterOperation["empty"] = "empty";
|
30
|
-
AITableFilterOperation["exists"] = "exists";
|
31
|
-
AITableFilterOperation["notContain"] = "not_contain";
|
32
|
-
})(AITableFilterOperation || (AITableFilterOperation = {}));
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy90eXBlcy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxTQUFTO0NBRXJCO0FBRUQsTUFBTSxPQUFPLGVBQWU7Q0FFM0I7QUFjRCxNQUFNLENBQU4sSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ2pCLCtDQUFXLENBQUE7SUFDWCxtREFBYSxDQUFBO0lBQ2Isc0RBQWUsQ0FBQTtBQUNuQixDQUFDLEVBSlcsU0FBUyxLQUFULFNBQVMsUUFJcEI7QUFFRCxNQUFNLENBQU4sSUFBWSxvQkFHWDtBQUhELFdBQVksb0JBQW9CO0lBQzVCLG1DQUFXLENBQUE7SUFDWCxpQ0FBUyxDQUFBO0FBQ2IsQ0FBQyxFQUhXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFHL0I7QUFFRCxNQUFNLENBQU4sSUFBWSxzQkFlWDtBQWZELFdBQVksc0JBQXNCO0lBQzlCLG1DQUFTLENBQUE7SUFDVCxxQ0FBVyxDQUFBO0lBQ1gscUNBQVcsQ0FBQTtJQUNYLG1DQUFTLENBQUE7SUFDVCxtQ0FBUyxDQUFBO0lBQ1QsbUNBQVMsQ0FBQTtJQUNULDZDQUFtQixDQUFBO0lBQ25CLG1DQUFTLENBQUE7SUFDVCxxQ0FBVyxDQUFBO0lBQ1gsNkNBQW1CLENBQUE7SUFDbkIsNkNBQW1CLENBQUE7SUFDbkIseUNBQWUsQ0FBQTtJQUNmLDJDQUFpQixDQUFBO0lBQ2pCLG9EQUEwQixDQUFBO0FBQzlCLENBQUMsRUFmVyxzQkFBc0IsS0FBdEIsc0JBQXNCLFFBZWpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZUZpZWxkLCBBSVRhYmxlUmVjb3JkIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgSWQgfSBmcm9tICduZ3gtdGV0aHlzL3R5cGVzJztcblxuZXhwb3J0IGNsYXNzIFBvc2l0aW9ucyB7XG4gICAgW3ZpZXdfaWQ6IHN0cmluZ106IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIFJlbW92ZVBvc2l0aW9ucyB7XG4gICAgW3ZpZXdfaWQ6IHN0cmluZ106IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlVmlld1JlY29yZCBleHRlbmRzIEFJVGFibGVSZWNvcmQge1xuICAgIHBvc2l0aW9uczogUG9zaXRpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVWaWV3RmllbGQgZXh0ZW5kcyBBSVRhYmxlRmllbGQge1xuICAgIHBvc2l0aW9uczogUG9zaXRpb25zO1xufVxuXG5leHBvcnQgdHlwZSBBSVRhYmxlVmlld1JlY29yZHMgPSBBSVRhYmxlVmlld1JlY29yZFtdO1xuXG5leHBvcnQgdHlwZSBBSVRhYmxlVmlld0ZpZWxkcyA9IEFJVGFibGVWaWV3RmllbGRbXTtcblxuZXhwb3J0IGVudW0gRGlyZWN0aW9uIHtcbiAgICBkZWZhdWx0ID0gMCxcbiAgICBhc2NlbmRpbmcgPSAxLFxuICAgIGRlc2NlbmRpbmcgPSAtMVxufVxuXG5leHBvcnQgZW51bSBBSVRhYmxlRmlsdGVyTG9naWNhbCB7XG4gICAgYW5kID0gJ2FuZCcsXG4gICAgb3IgPSAnb3InXG59XG5cbmV4cG9ydCBlbnVtIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24ge1xuICAgIGVxID0gJ2VxJyxcbiAgICBndGUgPSAnZ3RlJyxcbiAgICBsdGUgPSAnbHRlJyxcbiAgICBndCA9ICdndCcsXG4gICAgbHQgPSAnbHQnLFxuICAgIGluID0gJ2luJyxcbiAgICBjb250YWluID0gJ2NvbnRhaW4nLFxuICAgIG5lID0gJ25lJyxcbiAgICBuaW4gPSAnbmluJyxcbiAgICBiZXR3ZWVuID0gJ2JldHdlZW4nLFxuICAgIGJlc2lkZXMgPSAnYmVzaWRlcycsXG4gICAgZW1wdHkgPSAnZW1wdHknLFxuICAgIGV4aXN0cyA9ICdleGlzdHMnLFxuICAgIG5vdENvbnRhaW4gPSAnbm90X2NvbnRhaW4nXG59XG5cbmV4cG9ydCB0eXBlIFZpZXdTZXR0aW5ncyA9IEFJVGFibGVTZWFyY2hPcHRpb25zICYgQUlUYWJsZUZpbHRlckNvbmRpdGlvbnMgJiBBSVRhYmxlU29ydE9wdGlvbnM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZVZpZXcge1xuICAgIF9pZDogc3RyaW5nO1xuICAgIHNob3J0X2lkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGVtb2ppX2ljb24/OiBzdHJpbmc7XG4gICAgc2V0dGluZ3M/OiBWaWV3U2V0dGluZ3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxUVmFsdWUgPSB1bmtub3duPiB7XG4gICAgZmllbGRfaWQ6IElkO1xuICAgIG9wZXJhdGlvbjogQUlUYWJsZUZpbHRlck9wZXJhdGlvbjtcbiAgICB2YWx1ZTogVFZhbHVlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVGaWx0ZXJDb25kaXRpb25zPFRWYWx1ZSA9IHVua25vd24+IHtcbiAgICBjb25kaXRpb25fbG9naWNhbD86IEFJVGFibGVGaWx0ZXJMb2dpY2FsO1xuICAgIGNvbmRpdGlvbnM/OiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uPFRWYWx1ZT5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlU29ydE9wdGlvbnMge1xuICAgIGlzX2tlZXBfc29ydD86IGJvb2xlYW47XG4gICAgc29ydHM/OiB7XG4gICAgICAgIHNvcnRfYnk6IElkO1xuICAgICAgICBkaXJlY3Rpb246IERpcmVjdGlvbjtcbiAgICB9W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZVNlYXJjaE9wdGlvbnMge1xuICAgIGtleXdvcmRzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBBSVRhYmxlVmlld3MgPSBBSVRhYmxlVmlld1tdO1xuIl19
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy90eXBlcy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxTQUFTO0NBRXJCO0FBRUQsTUFBTSxPQUFPLGVBQWU7Q0FFM0I7QUFjRCxNQUFNLENBQU4sSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ2pCLCtDQUFXLENBQUE7SUFDWCxtREFBYSxDQUFBO0lBQ2Isc0RBQWUsQ0FBQTtBQUNuQixDQUFDLEVBSlcsU0FBUyxLQUFULFNBQVMsUUFJcEI7QUFFRCxNQUFNLENBQU4sSUFBWSxvQkFHWDtBQUhELFdBQVksb0JBQW9CO0lBQzVCLG1DQUFXLENBQUE7SUFDWCxpQ0FBUyxDQUFBO0FBQ2IsQ0FBQyxFQUhXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFHL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlRmllbGQsIEFJVGFibGVGaWx0ZXJDb25kaXRpb24sIEFJVGFibGVSZWNvcmQgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBJZCB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgUG9zaXRpb25zIHtcbiAgICBbdmlld19pZDogc3RyaW5nXTogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgUmVtb3ZlUG9zaXRpb25zIHtcbiAgICBbdmlld19pZDogc3RyaW5nXTogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVWaWV3UmVjb3JkIGV4dGVuZHMgQUlUYWJsZVJlY29yZCB7XG4gICAgcG9zaXRpb25zOiBQb3NpdGlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZVZpZXdGaWVsZCBleHRlbmRzIEFJVGFibGVGaWVsZCB7XG4gICAgcG9zaXRpb25zOiBQb3NpdGlvbnM7XG59XG5cbmV4cG9ydCB0eXBlIEFJVGFibGVWaWV3UmVjb3JkcyA9IEFJVGFibGVWaWV3UmVjb3JkW107XG5cbmV4cG9ydCB0eXBlIEFJVGFibGVWaWV3RmllbGRzID0gQUlUYWJsZVZpZXdGaWVsZFtdO1xuXG5leHBvcnQgZW51bSBEaXJlY3Rpb24ge1xuICAgIGRlZmF1bHQgPSAwLFxuICAgIGFzY2VuZGluZyA9IDEsXG4gICAgZGVzY2VuZGluZyA9IC0xXG59XG5cbmV4cG9ydCBlbnVtIEFJVGFibGVGaWx0ZXJMb2dpY2FsIHtcbiAgICBhbmQgPSAnYW5kJyxcbiAgICBvciA9ICdvcidcbn1cblxuZXhwb3J0IHR5cGUgVmlld1NldHRpbmdzID0gQUlUYWJsZVNlYXJjaE9wdGlvbnMgJiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9ucyAmIEFJVGFibGVTb3J0T3B0aW9ucztcblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlVmlldyB7XG4gICAgX2lkOiBzdHJpbmc7XG4gICAgc2hvcnRfaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZW1vamlfaWNvbj86IHN0cmluZztcbiAgICBzZXR0aW5ncz86IFZpZXdTZXR0aW5ncztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uczxUVmFsdWUgPSB1bmtub3duPiB7XG4gICAgY29uZGl0aW9uX2xvZ2ljYWw/OiBBSVRhYmxlRmlsdGVyTG9naWNhbDtcbiAgICBjb25kaXRpb25zPzogQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxUVmFsdWU+W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZVNvcnRPcHRpb25zIHtcbiAgICBpc19rZWVwX3NvcnQ/OiBib29sZWFuO1xuICAgIHNvcnRzPzoge1xuICAgICAgICBzb3J0X2J5OiBJZDtcbiAgICAgICAgZGlyZWN0aW9uOiBEaXJlY3Rpb247XG4gICAgfVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVTZWFyY2hPcHRpb25zIHtcbiAgICBrZXl3b3Jkcz86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQUlUYWJsZVZpZXdzID0gQUlUYWJsZVZpZXdbXTtcbiJdfQ==
|
package/esm2022/utils/build.mjs
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
import { getSortRecords } from './record/sort';
|
2
2
|
import { getFilteredRecords } from './record/filter';
|
3
3
|
import { getSortFields } from './field/sort-fields';
|
4
|
-
export function buildRecordsByView(aiTable, records, fields, activeView) {
|
4
|
+
export function buildRecordsByView(aiTable, records, fields, activeView, sortKeysMap) {
|
5
5
|
const filteredRecords = getFilteredRecords(aiTable, records, fields, activeView);
|
6
|
-
return getSortRecords(aiTable, filteredRecords, activeView);
|
6
|
+
return getSortRecords(aiTable, filteredRecords, activeView, sortKeysMap);
|
7
7
|
}
|
8
8
|
export function buildFieldsByView(aiTable, fields, activeView) {
|
9
9
|
return getSortFields(aiTable, fields, activeView);
|
10
10
|
}
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvdXRpbHMvYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHcEQsTUFBTSxVQUFVLGtCQUFrQixDQUM5QixPQUFvQixFQUNwQixPQUEyQixFQUMzQixNQUF5QixFQUN6QixVQUF1QixFQUN2QixXQUF1RDtJQUV2RCxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNqRixPQUFPLGNBQWMsQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE9BQW9CLEVBQUUsTUFBeUIsRUFBRSxVQUF1QjtJQUN0RyxPQUFPLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBMkIsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUMzRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZVZpZXcsIEFJVGFibGVWaWV3RmllbGRzLCBBSVRhYmxlVmlld1JlY29yZHMsIEFJVmlld1RhYmxlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0U29ydFJlY29yZHMgfSBmcm9tICcuL3JlY29yZC9zb3J0JztcbmltcG9ydCB7IGdldEZpbHRlcmVkUmVjb3JkcyB9IGZyb20gJy4vcmVjb3JkL2ZpbHRlcic7XG5pbXBvcnQgeyBnZXRTb3J0RmllbGRzIH0gZnJvbSAnLi9maWVsZC9zb3J0LWZpZWxkcyc7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGRUeXBlIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRSZWNvcmRzQnlWaWV3KFxuICAgIGFpVGFibGU6IEFJVmlld1RhYmxlLFxuICAgIHJlY29yZHM6IEFJVGFibGVWaWV3UmVjb3JkcyxcbiAgICBmaWVsZHM6IEFJVGFibGVWaWV3RmllbGRzLFxuICAgIGFjdGl2ZVZpZXc6IEFJVGFibGVWaWV3LFxuICAgIHNvcnRLZXlzTWFwPzogUGFydGlhbDxSZWNvcmQ8QUlUYWJsZUZpZWxkVHlwZSwgc3RyaW5nPj5cbikge1xuICAgIGNvbnN0IGZpbHRlcmVkUmVjb3JkcyA9IGdldEZpbHRlcmVkUmVjb3JkcyhhaVRhYmxlLCByZWNvcmRzLCBmaWVsZHMsIGFjdGl2ZVZpZXcpO1xuICAgIHJldHVybiBnZXRTb3J0UmVjb3JkcyhhaVRhYmxlLCBmaWx0ZXJlZFJlY29yZHMsIGFjdGl2ZVZpZXcsIHNvcnRLZXlzTWFwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkRmllbGRzQnlWaWV3KGFpVGFibGU6IEFJVmlld1RhYmxlLCBmaWVsZHM6IEFJVGFibGVWaWV3RmllbGRzLCBhY3RpdmVWaWV3OiBBSVRhYmxlVmlldykge1xuICAgIHJldHVybiBnZXRTb3J0RmllbGRzKGFpVGFibGUsIGZpZWxkcyBhcyBBSVRhYmxlVmlld0ZpZWxkcywgYWN0aXZlVmlldyk7XG59XG4iXX0=
|
package/esm2022/utils/common.mjs
CHANGED
@@ -1,13 +1,3 @@
|
|
1
|
-
import { isUndefinedOrNull, isEmpty as isArrayEmpty, isArray, isObject } from 'ngx-tethys/util';
|
2
|
-
export function isEmpty(value) {
|
3
|
-
if (isArray(value)) {
|
4
|
-
return isArrayEmpty(value);
|
5
|
-
}
|
6
|
-
if (isObject(value)) {
|
7
|
-
return Reflect.ownKeys(value).length === 0;
|
8
|
-
}
|
9
|
-
return isUndefinedOrNull(value) || value === '';
|
10
|
-
}
|
11
1
|
export function isPathEqual(path, another) {
|
12
2
|
return path.length === another.length && path.every((n, i) => n === another[i]);
|
13
3
|
}
|
@@ -18,4 +8,4 @@ export function sortByViewPosition(data, activeView) {
|
|
18
8
|
}
|
19
9
|
return data;
|
20
10
|
}
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3V0aWxzL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQVUsRUFBRSxPQUFhO0lBQ2pELE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEYsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxJQUE0QyxFQUFFLFVBQXVCO0lBQ3BHLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVFLElBQUksWUFBWSxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0aCB9IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcbmltcG9ydCB7IEFJVGFibGVWaWV3LCBBSVRhYmxlVmlld0ZpZWxkcywgQUlUYWJsZVZpZXdSZWNvcmRzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNQYXRoRXF1YWwocGF0aDogUGF0aCwgYW5vdGhlcjogUGF0aCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBwYXRoLmxlbmd0aCA9PT0gYW5vdGhlci5sZW5ndGggJiYgcGF0aC5ldmVyeSgobiwgaSkgPT4gbiA9PT0gYW5vdGhlcltpXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0QnlWaWV3UG9zaXRpb24oZGF0YTogQUlUYWJsZVZpZXdSZWNvcmRzIHwgQUlUYWJsZVZpZXdGaWVsZHMsIGFjdGl2ZVZpZXc6IEFJVGFibGVWaWV3KSB7XG4gICAgY29uc3QgaGFzUG9zaXRpb25zID0gZGF0YS5ldmVyeSgoaXRlbSkgPT4gaXRlbS5wb3NpdGlvbnMgJiYgaXRlbS5wb3NpdGlvbnMpO1xuICAgIGlmIChoYXNQb3NpdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIFsuLi5kYXRhXS5zb3J0KChhLCBiKSA9PiBhLnBvc2l0aW9uc1thY3RpdmVWaWV3Ll9pZF0gLSBiLnBvc2l0aW9uc1thY3RpdmVWaWV3Ll9pZF0pO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbn1cbiJdfQ==
|
package/esm2022/utils/index.mjs
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
export * from './build';
|
2
|
-
export * from './field/model';
|
3
2
|
export * from './field/add-fields';
|
4
3
|
export * from './field/remove-field';
|
5
4
|
export * from './field/sort-fields';
|
@@ -11,4 +10,4 @@ export * from './record/filter';
|
|
11
10
|
export * from './record/update-field-value';
|
12
11
|
export * from './record/update-system-field-value';
|
13
12
|
export * from './weak-map';
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnVpbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC9hZGQtZmllbGRzJztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQvcmVtb3ZlLWZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQvc29ydC1maWVsZHMnO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3JztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjb3JkL2FkZC1yZWNvcmRzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjb3JkL3NvcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNvcmQvZmlsdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjb3JkL3VwZGF0ZS1maWVsZC12YWx1ZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlY29yZC91cGRhdGUtc3lzdGVtLWZpZWxkLXZhbHVlJztcbmV4cG9ydCAqIGZyb20gJy4vd2Vhay1tYXAnO1xuIl19
|
@@ -1,7 +1,5 @@
|
|
1
|
-
import { AITableFieldType, isSystemField } from '@ai-table/grid';
|
1
|
+
import { AITableFieldType, isSystemField, ViewOperationMap, isEmpty } from '@ai-table/grid';
|
2
2
|
import { AITableFilterLogical } from '../../types';
|
3
|
-
import { ViewOperationMap } from '../field/model';
|
4
|
-
import { isEmpty } from '../common';
|
5
3
|
export function getFilteredRecords(aiTable, records, fields, activeView) {
|
6
4
|
const { conditions, condition_logical } = activeView.settings || {};
|
7
5
|
if (!conditions) {
|
@@ -78,4 +76,4 @@ function getFilterValue(fields, record, condition) {
|
|
78
76
|
cellValue
|
79
77
|
};
|
80
78
|
}
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3V0aWxzL3JlY29yZC9maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGdCQUFnQixFQUloQixhQUFhLEVBRWIsZ0JBQWdCLEVBQ2hCLE9BQU8sRUFDVixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFFSCxvQkFBb0IsRUFNdkIsTUFBTSxhQUFhLENBQUM7QUFFckIsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE9BQW9CLEVBQUUsT0FBMkIsRUFBRSxNQUF5QixFQUFFLFVBQXVCO0lBQ3BJLE1BQU0sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxVQUFVLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztJQUNwRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDZCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1QixPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN0RCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUM3QixJQUFJLGlCQUFpQixJQUFJLGlCQUFpQixDQUFDLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUYsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sZUFBZSxDQUFDLE1BQU0sRUFB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LE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBd0IsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDTCxDQUFDO1NBQU0sQ0FBQztRQUNKLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsSCxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQsT0FBTztRQUNILEtBQUs7UUFDTCxTQUFTO0tBQ1osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFJVGFibGVGaWVsZFR5cGUsXG4gICAgQUlUYWJsZUZpbHRlckNvbmRpdGlvbixcbiAgICBBSVRhYmxlUmVjb3JkLFxuICAgIEZpZWxkVmFsdWUsXG4gICAgaXNTeXN0ZW1GaWVsZCxcbiAgICBTeXN0ZW1GaWVsZFR5cGVzLFxuICAgIFZpZXdPcGVyYXRpb25NYXAsXG4gICAgaXNFbXB0eVxufSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQge1xuICAgIEFJVGFibGVGaWx0ZXJDb25kaXRpb25zLFxuICAgIEFJVGFibGVGaWx0ZXJMb2dpY2FsLFxuICAgIEFJVGFibGVWaWV3LFxuICAgIEFJVGFibGVWaWV3RmllbGQsXG4gICAgQUlUYWJsZVZpZXdGaWVsZHMsXG4gICAgQUlUYWJsZVZpZXdSZWNvcmRzLFxuICAgIEFJVmlld1RhYmxlXG59IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbHRlcmVkUmVjb3JkcyhhaVRhYmxlOiBBSVZpZXdUYWJsZSwgcmVjb3JkczogQUlUYWJsZVZpZXdSZWNvcmRzLCBmaWVsZHM6IEFJVGFibGVWaWV3RmllbGRzLCBhY3RpdmVWaWV3OiBBSVRhYmxlVmlldykge1xuICAgIGNvbnN0IHsgY29uZGl0aW9ucywgY29uZGl0aW9uX2xvZ2ljYWwgfSA9IGFjdGl2ZVZpZXcuc2V0dGluZ3MgfHwge307XG4gICAgaWYgKCFjb25kaXRpb25zKSB7XG4gICAgICAgIHJldHVybiByZWNvcmRzO1xuICAgIH1cbiAgICBjb25zdCBpbGxlZ2FsQ29uZGl0aW9ucyA9IGNvbmRpdGlvbnMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLm9wZXJhdGlvbikgfHwgW107XG4gICAgaWYgKCFpbGxlZ2FsQ29uZGl0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHJlY29yZHM7XG4gICAgfVxuICAgIGNvbnN0IHJlY29yZHNXaWxsSGlkZGVuID0gYWlUYWJsZS5yZWNvcmRzV2lsbEhpZGRlbigpO1xuICAgIHJldHVybiByZWNvcmRzLmZpbHRlcigocmVjb3JkKSA9PiB7XG4gICAgICAgIGlmIChyZWNvcmRzV2lsbEhpZGRlbiAmJiByZWNvcmRzV2lsbEhpZGRlbi5sZW5ndGggJiYgcmVjb3Jkc1dpbGxIaWRkZW4uaW5jbHVkZXMocmVjb3JkLl9pZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjaGVja0NvbmRpdGlvbnMoZmllbGRzLCByZWNvcmQsIHsgY29uZGl0aW9uczogaWxsZWdhbENvbmRpdGlvbnMsIGNvbmRpdGlvbl9sb2dpY2FsIH0pO1xuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBjaGVja0NvbmRpdGlvbnMoZmllbGRzOiBBSVRhYmxlVmlld0ZpZWxkcywgcmVjb3JkOiBBSVRhYmxlUmVjb3JkLCBmaWx0ZXJDb25kaXRpb25zOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9ucykge1xuICAgIGlmICghcmVjb3JkKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCFmaWx0ZXJDb25kaXRpb25zPy5jb25kaXRpb25zKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCB7IGNvbmRpdGlvbl9sb2dpY2FsLCBjb25kaXRpb25zIH0gPSBmaWx0ZXJDb25kaXRpb25zO1xuICAgIGlmIChjb25kaXRpb25fbG9naWNhbCA9PT0gQUlUYWJsZUZpbHRlckxvZ2ljYWwuYW5kKSB7XG4gICAgICAgIHJldHVybiBjb25kaXRpb25zLmV2ZXJ5KChjb25kaXRpb24pID0+IGRvRmlsdGVyT3BlcmF0aW9ucyhmaWVsZHMsIHJlY29yZCwgY29uZGl0aW9uKSk7XG4gICAgfVxuICAgIGlmICghY29uZGl0aW9uX2xvZ2ljYWwgfHwgY29uZGl0aW9uX2xvZ2ljYWwgPT09IEFJVGFibGVGaWx0ZXJMb2dpY2FsLm9yKSB7XG4gICAgICAgIHJldHVybiBjb25kaXRpb25zLnNvbWUoKGNvbmRpdGlvbikgPT4gZG9GaWx0ZXJPcGVyYXRpb25zKGZpZWxkcywgcmVjb3JkLCBjb25kaXRpb24pKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBkb0ZpbHRlck9wZXJhdGlvbnMoZmllbGRzOiBBSVRhYmxlVmlld0ZpZWxkcywgcmVjb3JkOiBBSVRhYmxlUmVjb3JkLCBjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb24pIHtcbiAgICBjb25zdCB7IGZpZWxkLCBjZWxsVmFsdWUgfSA9IGdldEZpbHRlclZhbHVlKGZpZWxkcywgcmVjb3JkLCBjb25kaXRpb24pO1xuXG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIGRvRmlsdGVyKGNvbmRpdGlvbiwgZmllbGQsIGNlbGxWYWx1ZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRvRmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgZmllbGQ6IEFJVGFibGVWaWV3RmllbGQsIGNlbGxWYWx1ZTogRmllbGRWYWx1ZSkge1xuICAgIHJldHVybiBWaWV3T3BlcmF0aW9uTWFwW2ZpZWxkLnR5cGVdLmlzTWVldEZpbHRlcihjb25kaXRpb24sIGNlbGxWYWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0UmVjb3JkRGF0YUJ5RmlsdGVyKFxuICAgIHJlY29yZFZhbHVlczogUmVjb3JkPHN0cmluZywgRmllbGRWYWx1ZT4sXG4gICAgY29uZGl0aW9uczogQUlUYWJsZUZpbHRlckNvbmRpdGlvbltdLFxuICAgIGNvbmRpdGlvbkxvZ2ljYWw/OiBBSVRhYmxlRmlsdGVyTG9naWNhbFxuKSB7XG4gICAgaWYgKGNvbmRpdGlvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIC8vIHJlY29yZFZhbHVlc1tjb25kaXRpb25zWzBdLmZpZWxkX2lkXSA9IGNvbmRpdGlvbnNbMF0udmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgLy8uLi5cbiAgICB9XG4gICAgcmV0dXJuIHJlY29yZFZhbHVlcztcbn1cblxuZnVuY3Rpb24gZ2V0RmlsdGVyVmFsdWUoZmllbGRzOiBBSVRhYmxlVmlld0ZpZWxkcywgcmVjb3JkOiBBSVRhYmxlUmVjb3JkLCBjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb24pIHtcbiAgICBjb25zdCBmaWVsZCA9IGZpZWxkcy5maW5kKChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gY29uZGl0aW9uLmZpZWxkX2lkKTtcbiAgICBsZXQgY2VsbFZhbHVlID0gbnVsbDtcbiAgICBpZiAoZmllbGQgJiYgaXNTeXN0ZW1GaWVsZChmaWVsZCkpIHtcbiAgICAgICAgaWYgKFtBSVRhYmxlRmllbGRUeXBlLmNyZWF0ZWRBdCwgQUlUYWJsZUZpZWxkVHlwZS51cGRhdGVkQXRdLmluY2x1ZGVzKGZpZWxkLnR5cGUpKSB7XG4gICAgICAgICAgICBjZWxsVmFsdWUgPSB7IHRpbWVzdGFtcDogcmVjb3JkW2ZpZWxkLnR5cGUgYXMgU3lzdGVtRmllbGRUeXBlc10gfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNlbGxWYWx1ZSA9IHJlY29yZFtmaWVsZC50eXBlIGFzIFN5c3RlbUZpZWxkVHlwZXNdO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY2VsbFZhbHVlID0gcmVjb3JkLnZhbHVlc1tjb25kaXRpb24uZmllbGRfaWRdO1xuICAgIH1cblxuICAgIGlmIChmaWVsZCAmJiBbQUlUYWJsZUZpZWxkVHlwZS5jcmVhdGVkQnksIEFJVGFibGVGaWVsZFR5cGUudXBkYXRlZEJ5LCBBSVRhYmxlRmllbGRUeXBlLm1lbWJlcl0uaW5jbHVkZXMoZmllbGQudHlwZSkpIHtcbiAgICAgICAgY2VsbFZhbHVlID0gQXJyYXkuaXNBcnJheShjZWxsVmFsdWUpID8gY2VsbFZhbHVlIDogaXNFbXB0eShjZWxsVmFsdWUpID8gW10gOiBbY2VsbFZhbHVlXTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBmaWVsZCxcbiAgICAgICAgY2VsbFZhbHVlXG4gICAgfTtcbn1cbiJdfQ==
|
@@ -1,17 +1,16 @@
|
|
1
|
-
import { AITableQueries } from '@ai-table/grid';
|
2
|
-
import { ViewOperationMap } from '../field/model';
|
1
|
+
import { AITableQueries, ViewOperationMap } from '@ai-table/grid';
|
3
2
|
import { sortByViewPosition } from '../common';
|
4
|
-
export function getSortRecords(aiTable, records, activeView) {
|
3
|
+
export function getSortRecords(aiTable, records, activeView, sortKeysMap) {
|
5
4
|
if (!activeView?.settings || !activeView.settings.sorts?.length) {
|
6
5
|
return records;
|
7
6
|
}
|
8
7
|
const { is_keep_sort, sorts } = activeView.settings;
|
9
8
|
if (is_keep_sort && sorts?.length) {
|
10
|
-
return sortRecordsBySortInfo(aiTable, records, activeView);
|
9
|
+
return sortRecordsBySortInfo(aiTable, records, activeView, sortKeysMap);
|
11
10
|
}
|
12
11
|
return sortByViewPosition(records, activeView);
|
13
12
|
}
|
14
|
-
export function sortRecordsBySortInfo(aiTable, records, activeView) {
|
13
|
+
export function sortRecordsBySortInfo(aiTable, records, activeView, sortKeysMap) {
|
15
14
|
const shallowRows = [...records];
|
16
15
|
if (activeView.settings?.sorts?.length) {
|
17
16
|
shallowRows.sort((prev, current) => {
|
@@ -21,10 +20,11 @@ export function sortRecordsBySortInfo(aiTable, records, activeView) {
|
|
21
20
|
return acc;
|
22
21
|
}
|
23
22
|
const fieldMethod = ViewOperationMap[field.type];
|
23
|
+
const sortKey = sortKeysMap?.[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
26
|
const references = aiTable.references();
|
27
|
-
const res = fieldMethod.compare(cellValue1, cellValue2, field, references);
|
27
|
+
const res = fieldMethod.compare(cellValue1, cellValue2, field, references, sortKey);
|
28
28
|
return res * rule.direction;
|
29
29
|
}, 0);
|
30
30
|
});
|
@@ -32,4 +32,4 @@ export function sortRecordsBySortInfo(aiTable, records, activeView) {
|
|
32
32
|
}
|
33
33
|
return shallowRows;
|
34
34
|
}
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy91dGlscy9yZWNvcmQvc29ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTZCLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUUvQyxNQUFNLFVBQVUsY0FBYyxDQUMxQixPQUFnQixFQUNoQixPQUEyQixFQUMzQixVQUF1QixFQUN2QixXQUF1RDtJQUV2RCxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzlELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFDRCxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDcEQsSUFBSSxZQUFZLElBQUksS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2hDLE9BQU8scUJBQXFCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUNELE9BQU8sa0JBQWtCLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQ2pDLE9BQWdCLEVBQ2hCLE9BQTJCLEVBQzNCLFVBQXVCLEVBQ3ZCLFdBQXVEO0lBRXZELE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUNqQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3JDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDL0IsT0FBTyxVQUFVLENBQUMsUUFBUyxDQUFDLEtBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7Z0JBQ3BELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxLQUFLLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN0QixPQUFPLEdBQUcsQ0FBQztnQkFDZixDQUFDO2dCQUNELE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakQsTUFBTSxPQUFPLEdBQUcsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUUxQyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hGLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDbkYsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN4QyxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDcEYsT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNoQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDVixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZUZpZWxkVHlwZSwgQUlUYWJsZVF1ZXJpZXMsIFZpZXdPcGVyYXRpb25NYXAgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBBSVRhYmxlVmlldywgQUlUYWJsZVZpZXdSZWNvcmRzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgc29ydEJ5Vmlld1Bvc2l0aW9uIH0gZnJvbSAnLi4vY29tbW9uJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNvcnRSZWNvcmRzKFxuICAgIGFpVGFibGU6IEFJVGFibGUsXG4gICAgcmVjb3JkczogQUlUYWJsZVZpZXdSZWNvcmRzLFxuICAgIGFjdGl2ZVZpZXc6IEFJVGFibGVWaWV3LFxuICAgIHNvcnRLZXlzTWFwPzogUGFydGlhbDxSZWNvcmQ8QUlUYWJsZUZpZWxkVHlwZSwgc3RyaW5nPj5cbikge1xuICAgIGlmICghYWN0aXZlVmlldz8uc2V0dGluZ3MgfHwgIWFjdGl2ZVZpZXcuc2V0dGluZ3Muc29ydHM/Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gcmVjb3JkcztcbiAgICB9XG4gICAgY29uc3QgeyBpc19rZWVwX3NvcnQsIHNvcnRzIH0gPSBhY3RpdmVWaWV3LnNldHRpbmdzO1xuICAgIGlmIChpc19rZWVwX3NvcnQgJiYgc29ydHM/Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gc29ydFJlY29yZHNCeVNvcnRJbmZvKGFpVGFibGUsIHJlY29yZHMsIGFjdGl2ZVZpZXcsIHNvcnRLZXlzTWFwKTtcbiAgICB9XG4gICAgcmV0dXJuIHNvcnRCeVZpZXdQb3NpdGlvbihyZWNvcmRzLCBhY3RpdmVWaWV3KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNvcnRSZWNvcmRzQnlTb3J0SW5mbyhcbiAgICBhaVRhYmxlOiBBSVRhYmxlLFxuICAgIHJlY29yZHM6IEFJVGFibGVWaWV3UmVjb3JkcyxcbiAgICBhY3RpdmVWaWV3OiBBSVRhYmxlVmlldyxcbiAgICBzb3J0S2V5c01hcD86IFBhcnRpYWw8UmVjb3JkPEFJVGFibGVGaWVsZFR5cGUsIHN0cmluZz4+XG4pIHtcbiAgICBjb25zdCBzaGFsbG93Um93cyA9IFsuLi5yZWNvcmRzXTtcbiAgICBpZiAoYWN0aXZlVmlldy5zZXR0aW5ncz8uc29ydHM/Lmxlbmd0aCkge1xuICAgICAgICBzaGFsbG93Um93cy5zb3J0KChwcmV2LCBjdXJyZW50KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYWN0aXZlVmlldy5zZXR0aW5ncyEuc29ydHMhLnJlZHVjZSgoYWNjLCBydWxlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGQgPSBhaVRhYmxlLmZpZWxkc01hcCgpW3J1bGUuc29ydF9ieV07XG4gICAgICAgICAgICAgICAgaWYgKCFmaWVsZCB8fCBhY2MgIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRNZXRob2QgPSBWaWV3T3BlcmF0aW9uTWFwW2ZpZWxkLnR5cGVdO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNvcnRLZXkgPSBzb3J0S2V5c01hcD8uW2ZpZWxkLnR5cGVdO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgY2VsbFZhbHVlMSA9IEFJVGFibGVRdWVyaWVzLmdldEZpZWxkVmFsdWUoYWlUYWJsZSwgW3ByZXYuX2lkLCBmaWVsZC5faWRdKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxsVmFsdWUyID0gQUlUYWJsZVF1ZXJpZXMuZ2V0RmllbGRWYWx1ZShhaVRhYmxlLCBbY3VycmVudC5faWQsIGZpZWxkLl9pZF0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSBhaVRhYmxlLnJlZmVyZW5jZXMoKTtcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBmaWVsZE1ldGhvZC5jb21wYXJlKGNlbGxWYWx1ZTEsIGNlbGxWYWx1ZTIsIGZpZWxkLCByZWZlcmVuY2VzLCBzb3J0S2V5KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzICogcnVsZS5kaXJlY3Rpb247XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBzaGFsbG93Um93cztcbiAgICB9XG4gICAgcmV0dXJuIHNoYWxsb3dSb3dzO1xufVxuIl19
|