@ai-table/state 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/shared/to-table/array-event.mjs +45 -15
- package/esm2022/shared/to-table/index.mjs +8 -8
- package/esm2022/shared/to-yjs/add-node.mjs +21 -10
- package/esm2022/shared/to-yjs/index.mjs +3 -1
- package/esm2022/shared/to-yjs/remove-node.mjs +21 -10
- package/esm2022/types/view.mjs +28 -25
- package/esm2022/utils/build.mjs +16 -0
- package/esm2022/utils/common.mjs +11 -0
- package/esm2022/utils/field/date.mjs +56 -0
- package/esm2022/utils/field/field.mjs +32 -0
- package/esm2022/utils/field/index.mjs +22 -0
- package/esm2022/utils/field/number.mjs +28 -0
- package/esm2022/utils/field/rate.mjs +20 -0
- package/esm2022/utils/field/select.mjs +33 -0
- package/esm2022/utils/field/text.mjs +21 -0
- package/esm2022/utils/filter-records.mjs +52 -0
- package/esm2022/utils/index.mjs +6 -0
- package/esm2022/utils/view.mjs +69 -0
- package/esm2022/view/action/general.mjs +89 -5
- package/esm2022/view/action/index.mjs +2 -1
- package/esm2022/view/action/position.mjs +21 -0
- package/esm2022/view/action/view.mjs +4 -4
- package/esm2022/view/constants/view.mjs +3 -2
- package/esm2022/view/plugins/view.plugin.mjs +15 -6
- package/fesm2022/ai-table-state.mjs +565 -67
- package/fesm2022/ai-table-state.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/public-api.d.ts.map +1 -1
- package/shared/to-table/array-event.d.ts +3 -2
- package/shared/to-table/array-event.d.ts.map +1 -1
- package/shared/to-table/index.d.ts +3 -3
- package/shared/to-table/index.d.ts.map +1 -1
- package/shared/to-yjs/add-node.d.ts +2 -2
- package/shared/to-yjs/add-node.d.ts.map +1 -1
- package/shared/to-yjs/index.d.ts.map +1 -1
- package/shared/to-yjs/remove-node.d.ts +2 -2
- package/shared/to-yjs/remove-node.d.ts.map +1 -1
- package/types/view.d.ts +32 -14
- package/types/view.d.ts.map +1 -1
- package/utils/build.d.ts +5 -0
- package/utils/build.d.ts.map +1 -0
- package/utils/common.d.ts +2 -0
- package/utils/common.d.ts.map +1 -0
- package/utils/field/date.d.ts +8 -0
- package/utils/field/date.d.ts.map +1 -0
- package/utils/field/field.d.ts +8 -0
- package/utils/field/field.d.ts.map +1 -0
- package/utils/field/index.d.ts +4 -0
- package/utils/field/index.d.ts.map +1 -0
- package/utils/field/number.d.ts +7 -0
- package/utils/field/number.d.ts.map +1 -0
- package/utils/field/rate.d.ts +7 -0
- package/utils/field/rate.d.ts.map +1 -0
- package/utils/field/select.d.ts +7 -0
- package/utils/field/select.d.ts.map +1 -0
- package/utils/field/text.d.ts +8 -0
- package/utils/field/text.d.ts.map +1 -0
- package/utils/filter-records.d.ts +5 -0
- package/utils/filter-records.d.ts.map +1 -0
- package/utils/index.d.ts +6 -0
- package/utils/index.d.ts.map +1 -0
- package/utils/view.d.ts +6 -0
- package/utils/view.d.ts.map +1 -0
- package/view/action/general.d.ts +9 -1
- package/view/action/general.d.ts.map +1 -1
- package/view/action/index.d.ts +1 -0
- package/view/action/index.d.ts.map +1 -1
- package/view/action/position.d.ts +8 -0
- package/view/action/position.d.ts.map +1 -0
- package/view/action/view.d.ts +4 -3
- package/view/action/view.d.ts.map +1 -1
- package/view/constants/view.d.ts +2 -1
- package/view/constants/view.d.ts.map +1 -1
- package/view/plugins/view.plugin.d.ts.map +1 -1
package/esm2022/public-api.mjs
CHANGED
@@ -3,4 +3,5 @@ export * from './types';
|
|
3
3
|
export * from './view/action';
|
4
4
|
export * from './view/plugins/view.plugin';
|
5
5
|
export * from './view/constants/view';
|
6
|
-
|
6
|
+
export * from './utils';
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3L2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXcvcGx1Z2lucy92aWV3LnBsdWdpbic7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXcvY29uc3RhbnRzL3ZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7Il19
|
@@ -1,16 +1,17 @@
|
|
1
1
|
import { ActionName, AITableQueries } from '@ai-table/grid';
|
2
2
|
import * as Y from 'yjs';
|
3
3
|
import { isArray } from 'ngx-tethys/util';
|
4
|
-
import { ViewActionName } from '../../types';
|
4
|
+
import { PositionActionName, ViewActionName } from '../../types';
|
5
5
|
import { translatePositionToPath, getShareTypeNumberPath } from '../utils';
|
6
6
|
import { getSharedMapValueId, getSharedRecordId, translateToRecordValues } from '../utils/translate';
|
7
|
-
export default function translateArrayEvent(aiTable,
|
7
|
+
export default function translateArrayEvent(aiTable, sharedType, event) {
|
8
8
|
let offset = 0;
|
9
9
|
let targetPath = getShareTypeNumberPath(event.path);
|
10
10
|
const isRecordsTranslate = event.path.includes('records');
|
11
11
|
const isFieldsTranslate = event.path.includes('fields');
|
12
12
|
const isViewsTranslate = event.path.includes('views');
|
13
13
|
const actions = [];
|
14
|
+
const activeViewId = aiTable.activeViewId();
|
14
15
|
event.changes.delta.forEach((delta) => {
|
15
16
|
if ('retain' in delta) {
|
16
17
|
offset += delta.retain ?? 0;
|
@@ -61,21 +62,47 @@ export default function translateArrayEvent(aiTable, activeViewId, sharedType, e
|
|
61
62
|
}
|
62
63
|
else {
|
63
64
|
try {
|
65
|
+
const sharedRecords = sharedType.get('records');
|
66
|
+
const sharedFields = sharedType.get('fields');
|
64
67
|
delta.insert?.map((item) => {
|
65
68
|
const recordIndex = targetPath[0];
|
66
69
|
const fieldIndex = offset;
|
67
|
-
const
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
70
|
+
const record = aiTable.records()[recordIndex];
|
71
|
+
if (isPositionOperation(fieldIndex, sharedFields)) {
|
72
|
+
for (const key in item) {
|
73
|
+
if (!record.positions[key] && record.positions[key] !== 0) {
|
74
|
+
actions.push({
|
75
|
+
type: PositionActionName.AddRecordPosition,
|
76
|
+
path: [record._id],
|
77
|
+
position: {
|
78
|
+
[key]: item[key]
|
79
|
+
}
|
80
|
+
});
|
81
|
+
}
|
82
|
+
}
|
83
|
+
for (const key in record.positions) {
|
84
|
+
if (!item[key] && item[key] !== 0) {
|
85
|
+
actions.push({
|
86
|
+
type: PositionActionName.RemoveRecordPosition,
|
87
|
+
path: [key, record._id]
|
88
|
+
});
|
89
|
+
}
|
90
|
+
}
|
91
|
+
}
|
92
|
+
else {
|
93
|
+
const recordId = getSharedRecordId(sharedRecords, recordIndex);
|
94
|
+
const fieldId = getSharedMapValueId(sharedFields, fieldIndex);
|
95
|
+
const path = [recordId, fieldId];
|
96
|
+
const fieldValue = AITableQueries.getFieldValue(aiTable, path);
|
97
|
+
// To exclude insert triggered by field inserts.
|
98
|
+
if (fieldValue !== item) {
|
99
|
+
actions.push({
|
100
|
+
type: ActionName.UpdateFieldValue,
|
101
|
+
path,
|
102
|
+
fieldValue,
|
103
|
+
newFieldValue: item
|
104
|
+
});
|
105
|
+
}
|
79
106
|
}
|
80
107
|
});
|
81
108
|
}
|
@@ -111,6 +138,9 @@ export default function translateArrayEvent(aiTable, activeViewId, sharedType, e
|
|
111
138
|
export function isAddOrRemove(targetPath) {
|
112
139
|
return targetPath.length === 0;
|
113
140
|
}
|
141
|
+
export function isPositionOperation(fieldIndex, sharedFields) {
|
142
|
+
return fieldIndex === sharedFields.length;
|
143
|
+
}
|
114
144
|
export function getRemoveIds(event, type) {
|
115
145
|
const ids = [];
|
116
146
|
if (!type) {
|
@@ -133,4 +163,4 @@ export function getRemoveIds(event, type) {
|
|
133
163
|
});
|
134
164
|
return ids;
|
135
165
|
}
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXRhYmxlL2FycmF5LWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQThFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hJLE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBU0gsY0FBYyxFQUNqQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckcsTUFBTSxDQUFDLE9BQU8sVUFBVSxtQkFBbUIsQ0FBQyxPQUFvQixFQUFFLFlBQW9CLEVBQUUsVUFBc0IsRUFBRSxLQUFvQjtJQUNoSSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDZixJQUFJLFVBQVUsR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEQsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxRCxNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsTUFBTSxPQUFPLEdBQTBCLEVBQUUsQ0FBQztJQUUxQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMs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LENBQUMsQ0FBQztZQUN6RCxDQUFDO1lBQ0QsSUFBSSxJQUFJLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMxQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDbEMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUMsQ0FDSixDQUFDO0lBQ0YsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uTmFtZSwgQUlGaWVsZElkUGF0aCwgQUlGaWVsZFBhdGgsIEFJRmllbGRWYWx1ZUlkUGF0aCwgQUlSZWNvcmRQYXRoLCBBSVRhYmxlRmllbGQsIEFJVGFibGVRdWVyaWVzIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0ICogYXMgWSBmcm9tICd5anMnO1xuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQge1xuICAgIEFJVGFibGVTaGFyZWRBY3Rpb24sXG4gICAgQUlUYWJsZVZpZXcsXG4gICAgQUlUYWJsZVZpZXdGaWVsZHMsXG4gICAgQUlUYWJsZVZpZXdSZWNvcmRzLFxuICAgIEFJVmlld1RhYmxlLFxuICAgIFNoYXJlZFR5cGUsXG4gICAgU3luY0FycmF5RWxlbWVudCxcbiAgICBTeW5jTWFwRWxlbWVudCxcbiAgICBWaWV3QWN0aW9uTmFtZVxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGVQb3NpdGlvblRvUGF0aCwgZ2V0U2hhcmVUeXBlTnVtYmVyUGF0aCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGdldFNoYXJlZE1hcFZhbHVlSWQsIGdldFNoYXJlZFJlY29yZElkLCB0cmFuc2xhdGVUb1JlY29yZFZhbHVlcyB9IGZyb20gJy4uL3V0aWxzL3RyYW5zbGF0ZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHRyYW5zbGF0ZUFycmF5RXZlbnQoYWlUYWJsZTogQUlWaWV3VGFibGUsIGFjdGl2ZVZpZXdJZDogc3RyaW5nLCBzaGFyZWRUeXBlOiBTaGFyZWRUeXBlLCBldmVudDogWS5ZRXZlbnQ8YW55Pik6IEFJVGFibGVTaGFyZWRBY3Rpb25bXSB7XG4gICAgbGV0IG9mZnNldCA9IDA7XG4gICAgbGV0IHRhcmdldFBhdGggPSBnZXRTaGFyZVR5cGVOdW1iZXJQYXRoKGV2ZW50LnBhdGgpO1xuICAgIGNvbnN0IGlzUmVjb3Jkc1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ3JlY29yZHMnKTtcbiAgICBjb25zdCBpc0ZpZWxkc1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ2ZpZWxkcycpO1xuICAgIGNvbnN0IGlzVmlld3NUcmFuc2xhdGUgPSBldmVudC5wYXRoLmluY2x1ZGVzKCd2aWV3cycpO1xuICAgIGNvbnN0IGFjdGlvbnM6IEFJVGFibGVTaGFyZWRBY3Rpb25bXSA9IFtdO1xuXG4gICAgZXZlbnQuY2hhbmdlcy5kZWx0YS5mb3JFYWNoKChkZWx0YSkgPT4ge1xuICAgICAgICBpZiAoJ3JldGFpbicgaW4gZGVsdGEpIHtcbiAgICAgICAgICAgIG9mZnNldCArPSBkZWx0YS5yZXRhaW4gPz8gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgnZGVsZXRlJyBpbiBkZWx0YSkge1xuICAgICAgICAgICAgaWYgKGlzQWRkT3JSZW1vdmUodGFyZ2V0UGF0aCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNWaWV3c1RyYW5zbGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZW1vdmVWaWV3ID0gYWlUYWJsZS52aWV3cygpW29mZnNldF07XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZW1vdmVWaWV3KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFZpZXdBY3Rpb25OYW1lLlJlbW92ZVZpZXcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogW3JlbW92ZVZpZXcuX2lkXVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlID0gaXNSZWNvcmRzVHJhbnNsYXRlID8gQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmQgOiBBY3Rpb25OYW1lLlJlbW92ZUZpZWxkO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZW1vdmVJZHMgPSBnZXRSZW1vdmVJZHMoZXZlbnQsIHR5cGUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVtb3ZlSWRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlSWRzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgnaW5zZXJ0JyBpbiBkZWx0YSkge1xuICAgICAgICAgICAgaWYgKGlzQXJyYXkoZGVsdGEuaW5zZXJ0KSkge1xuICAgICAgICAgICAgICAgIGlmIChpc1JlY29yZHNUcmFuc2xhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzQWRkT3JSZW1vdmUodGFyZ2V0UGF0aCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBZLkFycmF5PGFueT4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gaXRlbS50b0pTT04oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBbZml4ZWRGaWVsZCwgY3VzdG9tRmllbGRdID0gZGF0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbiA9IGN1c3RvbUZpZWxkW2N1c3RvbUZpZWxkLmxlbmd0aCAtIDFdW2FjdGl2ZVZpZXdJZF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IHRyYW5zbGF0ZVBvc2l0aW9uVG9QYXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnJlY29yZHMoKSBhcyBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVWaWV3SWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIGFzIEFJUmVjb3JkUGF0aDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuQWRkUmVjb3JkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBwYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pZDogZml4ZWRGaWVsZFswXVsnX2lkJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHRyYW5zbGF0ZVRvUmVjb3JkVmFsdWVzKGN1c3RvbUZpZWxkLCBhaVRhYmxlLmZpZWxkcygpIGFzIEFJVGFibGVWaWV3RmllbGRzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGEuaW5zZXJ0Py5tYXAoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRJbmRleCA9IHRhcmdldFBhdGhbMF0gYXMgbnVtYmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWVsZEluZGV4ID0gb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRJZCA9IGdldFNoYXJlZFJlY29yZElkKHNoYXJlZFR5cGUuZ2V0KCdyZWNvcmRzJykhIGFzIFkuQXJyYXk8U3luY0FycmF5RWxlbWVudD4sIHJlY29yZEluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRJZCA9IGdldFNoYXJlZE1hcFZhbHVlSWQoc2hhcmVkVHlwZS5nZXQoJ2ZpZWxkcycpISBhcyBZLkFycmF5PFN5bmNNYXBFbGVtZW50PiwgZmllbGRJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBbcmVjb3JkSWQsIGZpZWxkSWRdIGFzIEFJRmllbGRWYWx1ZUlkUGF0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IEFJVGFibGVRdWVyaWVzLmdldEZpZWxkVmFsdWUoYWlUYWJsZSwgcGF0aCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVG8gZXhjbHVkZSBpbnNlcnQgdHJpZ2dlcmVkIGJ5IGZpZWxkIGluc2VydHMuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZFZhbHVlICE9PSBpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuVXBkYXRlRmllbGRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3RmllbGRWYWx1ZTogaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc0ZpZWxkc1RyYW5zbGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICBkZWx0YS5pbnNlcnQ/Lm1hcCgoaXRlbTogWS5NYXA8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gdHJhbnNsYXRlUG9zaXRpb25Ub1BhdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWlUYWJsZS5maWVsZHMoKSBhcyBBSVRhYmxlVmlld0ZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhWydwb3NpdGlvbnMnXVthY3RpdmVWaWV3SWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZVZpZXdJZFxuICAgICAgICAgICAgICAgICAgICAgICAgKSBhcyBBSUZpZWxkUGF0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5BZGRGaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkOiBkYXRhIGFzIEFJVGFibGVGaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaXNWaWV3c1RyYW5zbGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICBkZWx0YS5pbnNlcnQ/Lm1hcCgoaXRlbTogWS5NYXA8YW55PiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBpdGVtLnRvSlNPTigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBWaWV3QWN0aW9uTmFtZS5BZGRWaWV3LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IFtvZmZzZXQgKyBpbmRleF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlldzogZGF0YSBhcyBBSVRhYmxlVmlld1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBhY3Rpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBZGRPclJlbW92ZSh0YXJnZXRQYXRoOiBudW1iZXJbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0YXJnZXRQYXRoLmxlbmd0aCA9PT0gMDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlbW92ZUlkcyhldmVudDogWS5ZRXZlbnQ8YW55PiwgdHlwZTogQWN0aW9uTmFtZS5SZW1vdmVGaWVsZCB8IEFjdGlvbk5hbWUuUmVtb3ZlUmVjb3JkKSB7XG4gICAgY29uc3QgaWRzOiBbc3RyaW5nXVtdID0gW107XG4gICAgaWYgKCF0eXBlKSB7XG4gICAgICAgIHJldHVybiBpZHM7XG4gICAgfVxuXG4gICAgWS5pdGVyYXRlRGVsZXRlZFN0cnVjdHMoXG4gICAgICAgIGV2ZW50LnRyYW5zYWN0aW9uLFxuICAgICAgICBldmVudC50cmFuc2FjdGlvbi5kZWxldGVTZXQsXG4gICAgICAgIC8vIEBwYXJhbSB7SXRlbXxHQ30gaXRlbVxuICAgICAgICAoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBZLkl0ZW0gJiYgaXRlbS5kZWxldGVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09IEFjdGlvbk5hbWUuUmVtb3ZlRmllbGQgJiYgaXRlbS5wYXJlbnRTdWIgPT09ICdfaWQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGlkcy5wdXNoKGl0ZW0uY29udGVudC5nZXRDb250ZW50KCkgYXMgQUlGaWVsZElkUGF0aCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSBBY3Rpb25OYW1lLlJlbW92ZVJlY29yZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50ID0gaXRlbS5jb250ZW50LmdldENvbnRlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRlbnRbMF0gJiYgY29udGVudFswXVsnX2lkJ10pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkcy5wdXNoKFtjb250ZW50WzBdWydfaWQnXV0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gaWRzO1xufVxuIl19
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXRhYmxlL2FycmF5LWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQThFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hJLE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBTUgsa0JBQWtCLEVBSWxCLGNBQWMsRUFDakIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJHLE1BQU0sQ0FBQyxPQUFPLFVBQVUsbUJBQW1CLENBQUMsT0FBb0IsRUFBRSxVQUFzQixFQUFFLEtBQW9CO0lBQzFHLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNmLElBQUksVUFBVSxHQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFELE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxNQUFNLE9BQU8sR0FBMEIsRUFBRSxDQUFDO0lBQzFDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FB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VyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQzlELEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQW1CLENBQUMsQ0FBQztZQUN6RCxDQUFDO1lBQ0QsSUFBSSxJQUFJLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMxQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDbEMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUMsQ0FDSixDQUFDO0lBQ0YsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uTmFtZSwgQUlGaWVsZElkUGF0aCwgQUlGaWVsZFBhdGgsIEFJRmllbGRWYWx1ZUlkUGF0aCwgQUlSZWNvcmRQYXRoLCBBSVRhYmxlRmllbGQsIEFJVGFibGVRdWVyaWVzIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0ICogYXMgWSBmcm9tICd5anMnO1xuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQge1xuICAgIEFJVGFibGVTaGFyZWRBY3Rpb24sXG4gICAgQUlUYWJsZVZpZXcsXG4gICAgQUlUYWJsZVZpZXdGaWVsZHMsXG4gICAgQUlUYWJsZVZpZXdSZWNvcmRzLFxuICAgIEFJVmlld1RhYmxlLFxuICAgIFBvc2l0aW9uQWN0aW9uTmFtZSxcbiAgICBTaGFyZWRUeXBlLFxuICAgIFN5bmNBcnJheUVsZW1lbnQsXG4gICAgU3luY01hcEVsZW1lbnQsXG4gICAgVmlld0FjdGlvbk5hbWVcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgdHJhbnNsYXRlUG9zaXRpb25Ub1BhdGgsIGdldFNoYXJlVHlwZU51bWJlclBhdGggfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBnZXRTaGFyZWRNYXBWYWx1ZUlkLCBnZXRTaGFyZWRSZWNvcmRJZCwgdHJhbnNsYXRlVG9SZWNvcmRWYWx1ZXMgfSBmcm9tICcuLi91dGlscy90cmFuc2xhdGUnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0cmFuc2xhdGVBcnJheUV2ZW50KGFpVGFibGU6IEFJVmlld1RhYmxlLCBzaGFyZWRUeXBlOiBTaGFyZWRUeXBlLCBldmVudDogWS5ZRXZlbnQ8YW55Pik6IEFJVGFibGVTaGFyZWRBY3Rpb25bXSB7XG4gICAgbGV0IG9mZnNldCA9IDA7XG4gICAgbGV0IHRhcmdldFBhdGggPSBnZXRTaGFyZVR5cGVOdW1iZXJQYXRoKGV2ZW50LnBhdGgpO1xuICAgIGNvbnN0IGlzUmVjb3Jkc1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ3JlY29yZHMnKTtcbiAgICBjb25zdCBpc0ZpZWxkc1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ2ZpZWxkcycpO1xuICAgIGNvbnN0IGlzVmlld3NUcmFuc2xhdGUgPSBldmVudC5wYXRoLmluY2x1ZGVzKCd2aWV3cycpO1xuICAgIGNvbnN0IGFjdGlvbnM6IEFJVGFibGVTaGFyZWRBY3Rpb25bXSA9IFtdO1xuICAgIGNvbnN0IGFjdGl2ZVZpZXdJZCA9IGFpVGFibGUuYWN0aXZlVmlld0lkKCk7XG5cbiAgICBldmVudC5jaGFuZ2VzLmRlbHRhLmZvckVhY2goKGRlbHRhKSA9PiB7XG4gICAgICAgIGlmICgncmV0YWluJyBpbiBkZWx0YSkge1xuICAgICAgICAgICAgb2Zmc2V0ICs9IGRlbHRhLnJldGFpbiA/PyAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCdkZWxldGUnIGluIGRlbHRhKSB7XG4gICAgICAgICAgICBpZiAoaXNBZGRPclJlbW92ZSh0YXJnZXRQYXRoKSkge1xuICAgICAgICAgICAgICAgIGlmIChpc1ZpZXdzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlbW92ZVZpZXcgPSBhaVRhYmxlLnZpZXdzKClbb2Zmc2V0XTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbW92ZVZpZXcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogVmlld0FjdGlvbk5hbWUuUmVtb3ZlVmlldyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBbcmVtb3ZlVmlldy5faWRdXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBpc1JlY29yZHNUcmFuc2xhdGUgPyBBY3Rpb25OYW1lLlJlbW92ZVJlY29yZCA6IEFjdGlvbk5hbWUuUmVtb3ZlRmllbGQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlbW92ZUlkcyA9IGdldFJlbW92ZUlkcyhldmVudCwgdHlwZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZW1vdmVJZHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZW1vdmVJZHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCdpbnNlcnQnIGluIGRlbHRhKSB7XG4gICAgICAgICAgICBpZiAoaXNBcnJheShkZWx0YS5pbnNlcnQpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzUmVjb3Jkc1RyYW5zbGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNBZGRPclJlbW92ZSh0YXJnZXRQYXRoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGEuaW5zZXJ0Py5tYXAoKGl0ZW06IFkuQXJyYXk8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBpdGVtLnRvSlNPTigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFtmaXhlZEZpZWxkLCBjdXN0b21GaWVsZF0gPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gY3VzdG9tRmllbGRbY3VzdG9tRmllbGQubGVuZ3RoIC0gMV1bYWN0aXZlVmlld0lkXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gdHJhbnNsYXRlUG9zaXRpb25Ub1BhdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFpVGFibGUucmVjb3JkcygpIGFzIEFJVGFibGVWaWV3UmVjb3JkcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZVZpZXdJZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgYXMgQUlSZWNvcmRQYXRoO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5BZGRSZWNvcmQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IHBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2lkOiBmaXhlZEZpZWxkWzBdWydfaWQnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczogdHJhbnNsYXRlVG9SZWNvcmRWYWx1ZXMoY3VzdG9tRmllbGQsIGFpVGFibGUuZmllbGRzKCkgYXMgQUlUYWJsZVZpZXdGaWVsZHMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaGFyZWRSZWNvcmRzID0gc2hhcmVkVHlwZS5nZXQoJ3JlY29yZHMnKSEgYXMgWS5BcnJheTxTeW5jQXJyYXlFbGVtZW50PjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaGFyZWRGaWVsZHMgPSBzaGFyZWRUeXBlLmdldCgnZmllbGRzJykhIGFzIFkuQXJyYXk8U3luY01hcEVsZW1lbnQ+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSB0YXJnZXRQYXRoWzBdIGFzIG51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IG9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkID0gKGFpVGFibGUucmVjb3JkcygpIGFzIEFJVGFibGVWaWV3UmVjb3JkcylbcmVjb3JkSW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQb3NpdGlvbk9wZXJhdGlvbihmaWVsZEluZGV4LCBzaGFyZWRGaWVsZHMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFyZWNvcmQucG9zaXRpb25zW2tleV0gJiYgcmVjb3JkLnBvc2l0aW9uc1trZXldICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBQb3NpdGlvbkFjdGlvbk5hbWUuQWRkUmVjb3JkUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBbcmVjb3JkLl9pZF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtrZXldOiBpdGVtW2tleV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gcmVjb3JkLnBvc2l0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXRlbVtrZXldICYmIGl0ZW1ba2V5XSAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogUG9zaXRpb25BY3Rpb25OYW1lLlJlbW92ZVJlY29yZFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogW2tleSwgcmVjb3JkLl9pZF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSWQgPSBnZXRTaGFyZWRSZWNvcmRJZChzaGFyZWRSZWNvcmRzLCByZWNvcmRJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWVsZElkID0gZ2V0U2hhcmVkTWFwVmFsdWVJZChzaGFyZWRGaWVsZHMsIGZpZWxkSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IFtyZWNvcmRJZCwgZmllbGRJZF0gYXMgQUlGaWVsZFZhbHVlSWRQYXRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IEFJVGFibGVRdWVyaWVzLmdldEZpZWxkVmFsdWUoYWlUYWJsZSwgcGF0aCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRvIGV4Y2x1ZGUgaW5zZXJ0IHRyaWdnZXJlZCBieSBmaWVsZCBpbnNlcnRzLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkVmFsdWUgIT09IGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLlVwZGF0ZUZpZWxkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0ZpZWxkVmFsdWU6IGl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHt9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlzRmllbGRzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBZLk1hcDxhbnk+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gaXRlbS50b0pTT04oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSB0cmFuc2xhdGVQb3NpdGlvblRvUGF0aChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLmZpZWxkcygpIGFzIEFJVGFibGVWaWV3RmllbGRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbJ3Bvc2l0aW9ucyddW2FjdGl2ZVZpZXdJZF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlVmlld0lkXG4gICAgICAgICAgICAgICAgICAgICAgICApIGFzIEFJRmllbGRQYXRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZEZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQ6IGRhdGEgYXMgQUlUYWJsZUZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc1ZpZXdzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBZLk1hcDxhbnk+LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFZpZXdBY3Rpb25OYW1lLkFkZFZpZXcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogW29mZnNldCArIGluZGV4XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3OiBkYXRhIGFzIEFJVGFibGVWaWV3XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGFjdGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FkZE9yUmVtb3ZlKHRhcmdldFBhdGg6IG51bWJlcltdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRhcmdldFBhdGgubGVuZ3RoID09PSAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQb3NpdGlvbk9wZXJhdGlvbihmaWVsZEluZGV4OiBudW1iZXIsIHNoYXJlZEZpZWxkczogWS5BcnJheTxTeW5jTWFwRWxlbWVudD4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmllbGRJbmRleCA9PT0gc2hhcmVkRmllbGRzLmxlbmd0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlbW92ZUlkcyhldmVudDogWS5ZRXZlbnQ8YW55PiwgdHlwZTogQWN0aW9uTmFtZS5SZW1vdmVGaWVsZCB8IEFjdGlvbk5hbWUuUmVtb3ZlUmVjb3JkKSB7XG4gICAgY29uc3QgaWRzOiBbc3RyaW5nXVtdID0gW107XG4gICAgaWYgKCF0eXBlKSB7XG4gICAgICAgIHJldHVybiBpZHM7XG4gICAgfVxuXG4gICAgWS5pdGVyYXRlRGVsZXRlZFN0cnVjdHMoXG4gICAgICAgIGV2ZW50LnRyYW5zYWN0aW9uLFxuICAgICAgICBldmVudC50cmFuc2FjdGlvbi5kZWxldGVTZXQsXG4gICAgICAgIC8vIEBwYXJhbSB7SXRlbXxHQ30gaXRlbVxuICAgICAgICAoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBZLkl0ZW0gJiYgaXRlbS5kZWxldGVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09IEFjdGlvbk5hbWUuUmVtb3ZlRmllbGQgJiYgaXRlbS5wYXJlbnRTdWIgPT09ICdfaWQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGlkcy5wdXNoKGl0ZW0uY29udGVudC5nZXRDb250ZW50KCkgYXMgQUlGaWVsZElkUGF0aCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSBBY3Rpb25OYW1lLlJlbW92ZVJlY29yZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50ID0gaXRlbS5jb250ZW50LmdldENvbnRlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRlbnRbMF0gJiYgY29udGVudFswXVsnX2lkJ10pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkcy5wdXNoKFtjb250ZW50WzBdWydfaWQnXV0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gaWRzO1xufVxuIl19
|
@@ -2,28 +2,28 @@ import * as Y from 'yjs';
|
|
2
2
|
import translateArrayEvent from './array-event';
|
3
3
|
import translateMapEvent from './map-event';
|
4
4
|
import { YjsAITable } from '../yjs-table';
|
5
|
-
export function translateYjsEvent(aiTable,
|
5
|
+
export function translateYjsEvent(aiTable, sharedType, event) {
|
6
6
|
if (event instanceof Y.YArrayEvent) {
|
7
|
-
return translateArrayEvent(aiTable,
|
7
|
+
return translateArrayEvent(aiTable, sharedType, event);
|
8
8
|
}
|
9
9
|
if (event instanceof Y.YMapEvent) {
|
10
10
|
return translateMapEvent(aiTable, sharedType, event);
|
11
11
|
}
|
12
12
|
return [];
|
13
13
|
}
|
14
|
-
export function applyEvents(aiTable,
|
15
|
-
events.forEach((event) => translateYjsEvent(aiTable,
|
14
|
+
export function applyEvents(aiTable, sharedType, events) {
|
15
|
+
events.forEach((event) => translateYjsEvent(aiTable, sharedType, event).forEach((item) => {
|
16
16
|
aiTable.apply(item);
|
17
17
|
}));
|
18
18
|
}
|
19
|
-
export function applyYjsEvents(aiTable,
|
19
|
+
export function applyYjsEvents(aiTable, sharedType, events) {
|
20
20
|
if (YjsAITable.isUndo(aiTable)) {
|
21
|
-
applyEvents(aiTable,
|
21
|
+
applyEvents(aiTable, sharedType, events);
|
22
22
|
}
|
23
23
|
else {
|
24
24
|
YjsAITable.asRemote(aiTable, () => {
|
25
|
-
applyEvents(aiTable,
|
25
|
+
applyEvents(aiTable, sharedType, events);
|
26
26
|
});
|
27
27
|
}
|
28
28
|
}
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXRhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO0FBQ3pCLE9BQU8sbUJBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8saUJBQWlCLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE9BQW9CLEVBQUUsVUFBc0IsRUFBRSxLQUFvQjtJQUNoRyxJQUFJLEtBQUssWUFBWSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakMsT0FBTyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCxJQUFJLEtBQUssWUFBWSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDL0IsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQW9CLEVBQUUsVUFBc0IsRUFBRSxNQUF1QjtJQUM3RixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDckIsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUF5QixFQUFFLEVBQUU7UUFDaEYsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDLENBQUMsQ0FDTCxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBb0IsRUFBRSxVQUFzQixFQUFFLE1BQXVCO0lBQ2hHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzdCLFdBQVcsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLENBQUM7U0FBTSxDQUFDO1FBQ0osVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQzlCLFdBQVcsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBZIGZyb20gJ3lqcyc7XG5pbXBvcnQgdHJhbnNsYXRlQXJyYXlFdmVudCBmcm9tICcuL2FycmF5LWV2ZW50JztcbmltcG9ydCB0cmFuc2xhdGVNYXBFdmVudCBmcm9tICcuL21hcC1ldmVudCc7XG5pbXBvcnQgeyBZanNBSVRhYmxlIH0gZnJvbSAnLi4veWpzLXRhYmxlJztcbmltcG9ydCB7IEFJVGFibGVTaGFyZWRBY3Rpb24sIEFJVmlld1RhYmxlLCBTaGFyZWRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNsYXRlWWpzRXZlbnQoYWlUYWJsZTogQUlWaWV3VGFibGUsIHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsIGV2ZW50OiBZLllFdmVudDxhbnk+KTogQUlUYWJsZVNoYXJlZEFjdGlvbltdIHtcbiAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBZLllBcnJheUV2ZW50KSB7XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGVBcnJheUV2ZW50KGFpVGFibGUsIHNoYXJlZFR5cGUsIGV2ZW50KTtcbiAgICB9XG4gICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgWS5ZTWFwRXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZU1hcEV2ZW50KGFpVGFibGUsIHNoYXJlZFR5cGUsIGV2ZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlFdmVudHMoYWlUYWJsZTogQUlWaWV3VGFibGUsIHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsIGV2ZW50czogWS5ZRXZlbnQ8YW55PltdKSB7XG4gICAgZXZlbnRzLmZvckVhY2goKGV2ZW50KSA9PlxuICAgICAgICB0cmFuc2xhdGVZanNFdmVudChhaVRhYmxlLCBzaGFyZWRUeXBlLCBldmVudCkuZm9yRWFjaCgoaXRlbTogQUlUYWJsZVNoYXJlZEFjdGlvbikgPT4ge1xuICAgICAgICAgICAgYWlUYWJsZS5hcHBseShpdGVtKTtcbiAgICAgICAgfSlcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlZanNFdmVudHMoYWlUYWJsZTogQUlWaWV3VGFibGUsIHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsIGV2ZW50czogWS5ZRXZlbnQ8YW55PltdKTogdm9pZCB7XG4gICAgaWYgKFlqc0FJVGFibGUuaXNVbmRvKGFpVGFibGUpKSB7XG4gICAgICAgIGFwcGx5RXZlbnRzKGFpVGFibGUsIHNoYXJlZFR5cGUsIGV2ZW50cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgWWpzQUlUYWJsZS5hc1JlbW90ZShhaVRhYmxlLCAoKSA9PiB7XG4gICAgICAgICAgICBhcHBseUV2ZW50cyhhaVRhYmxlLCBzaGFyZWRUeXBlLCBldmVudHMpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
@@ -1,23 +1,34 @@
|
|
1
|
-
import { toRecordSyncElement, toSyncElement } from '../utils';
|
2
|
-
import { ViewActionName } from '../../types';
|
1
|
+
import { getSharedRecordIndex, toRecordSyncElement, toSyncElement } from '../utils';
|
2
|
+
import { PositionActionName, ViewActionName } from '../../types';
|
3
3
|
import { ActionName, getDefaultFieldValue } from '@ai-table/grid';
|
4
4
|
export default function addNode(sharedType, action) {
|
5
|
+
const records = sharedType.get('records');
|
6
|
+
const views = sharedType.get('views');
|
7
|
+
const fields = sharedType.get('fields');
|
5
8
|
switch (action.type) {
|
6
9
|
case ActionName.AddRecord:
|
7
|
-
const records = sharedType.get('records');
|
8
10
|
records && records.push([toRecordSyncElement(action.record)]);
|
9
11
|
break;
|
10
12
|
case ViewActionName.AddView:
|
11
|
-
const views = sharedType.get('views');
|
12
13
|
views && views.push([toSyncElement(action.view)]);
|
13
14
|
break;
|
15
|
+
case PositionActionName.AddRecordPosition:
|
16
|
+
if (records) {
|
17
|
+
const recordIndex = getSharedRecordIndex(records, action.path[0]);
|
18
|
+
const record = records.get(recordIndex);
|
19
|
+
const customField = record.get(1);
|
20
|
+
const positionsIndex = customField.length - 1;
|
21
|
+
const positions = customField.get(positionsIndex);
|
22
|
+
const newPositions = { ...positions, ...action.position };
|
23
|
+
customField.delete(positionsIndex);
|
24
|
+
customField.insert(positionsIndex, [newPositions]);
|
25
|
+
}
|
26
|
+
break;
|
14
27
|
case ActionName.AddField:
|
15
|
-
|
16
|
-
|
17
|
-
if (sharedFields && sharedRecords) {
|
18
|
-
sharedFields.push([toSyncElement(action.field)]);
|
28
|
+
if (fields && records) {
|
29
|
+
fields.push([toSyncElement(action.field)]);
|
19
30
|
const path = action.path[0];
|
20
|
-
for (let value of
|
31
|
+
for (let value of records) {
|
21
32
|
const newRecord = getDefaultFieldValue(action.field);
|
22
33
|
const customField = value.get(1);
|
23
34
|
customField.insert(path, [newRecord]);
|
@@ -27,4 +38,4 @@ export default function addNode(sharedType, action) {
|
|
27
38
|
}
|
28
39
|
return sharedType;
|
29
40
|
}
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXlqcy9hZGQtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BGLE9BQU8sRUFJSCxrQkFBa0IsRUFJbEIsY0FBYyxFQUNqQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsVUFBVSxFQUFtQyxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR25HLE1BQU0sQ0FBQyxPQUFPLFVBQVUsT0FBTyxDQUMzQixVQUFzQixFQUN0QixNQUFrRjtJQUVsRixNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBK0IsQ0FBQztJQUN4RSxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBRSxDQUFDO0lBQ3ZDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUE2QixDQUFDO0lBQ3BFLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLEtBQUssVUFBVSxDQUFDLFNBQVM7WUFDckIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsTUFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRixNQUFNO1FBQ1YsS0FBSyxjQUFjLENBQUMsT0FBTztZQUN2QixLQUFLLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xELE1BQU07UUFDVixLQUFLLGtCQUFrQixDQUFDLGlCQUFpQjtZQUNyQyxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNWLE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3hDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFpQixDQUFDO2dCQUNsRCxNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDOUMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDbEQsTUFBTSxZQUFZLEdBQUcsRUFBRSxHQUFHLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDMUQsV0FBVyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDbkMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7WUFDRCxNQUFNO1FBQ1YsS0FBSyxVQUFVLENBQUMsUUFBUTtZQUNwQixJQUFJLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixLQUFLLElBQUksS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUN4QixNQUFNLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3JELE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2pDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDMUMsQ0FBQztZQUNMLENBQUM7WUFDRCxNQUFNO0lBQ2QsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRTaGFyZWRSZWNvcmRJbmRleCwgdG9SZWNvcmRTeW5jRWxlbWVudCwgdG9TeW5jRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7XG4gICAgQWRkUmVjb3JkUG9zaXRpb25BY3Rpb24sXG4gICAgQWRkVmlld0FjdGlvbixcbiAgICBBSVRhYmxlVmlld1JlY29yZCxcbiAgICBQb3NpdGlvbkFjdGlvbk5hbWUsXG4gICAgU2hhcmVkVHlwZSxcbiAgICBTeW5jQXJyYXlFbGVtZW50LFxuICAgIFN5bmNNYXBFbGVtZW50LFxuICAgIFZpZXdBY3Rpb25OYW1lXG59IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEFjdGlvbk5hbWUsIEFkZEZpZWxkQWN0aW9uLCBBZGRSZWNvcmRBY3Rpb24sIGdldERlZmF1bHRGaWVsZFZhbHVlIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0ICogYXMgWSBmcm9tICd5anMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhZGROb2RlKFxuICAgIHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsXG4gICAgYWN0aW9uOiBBZGRGaWVsZEFjdGlvbiB8IEFkZFJlY29yZEFjdGlvbiB8IEFkZFZpZXdBY3Rpb24gfCBBZGRSZWNvcmRQb3NpdGlvbkFjdGlvblxuKTogU2hhcmVkVHlwZSB7XG4gICAgY29uc3QgcmVjb3JkcyA9IHNoYXJlZFR5cGUuZ2V0KCdyZWNvcmRzJykhIGFzIFkuQXJyYXk8U3luY0FycmF5RWxlbWVudD47XG4gICAgY29uc3Qgdmlld3MgPSBzaGFyZWRUeXBlLmdldCgndmlld3MnKSE7XG4gICAgY29uc3QgZmllbGRzID0gc2hhcmVkVHlwZS5nZXQoJ2ZpZWxkcycpISBhcyBZLkFycmF5PFN5bmNNYXBFbGVtZW50PjtcbiAgICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5BZGRSZWNvcmQ6XG4gICAgICAgICAgICByZWNvcmRzICYmIHJlY29yZHMucHVzaChbdG9SZWNvcmRTeW5jRWxlbWVudChhY3Rpb24ucmVjb3JkIGFzIEFJVGFibGVWaWV3UmVjb3JkKV0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVmlld0FjdGlvbk5hbWUuQWRkVmlldzpcbiAgICAgICAgICAgIHZpZXdzICYmIHZpZXdzLnB1c2goW3RvU3luY0VsZW1lbnQoYWN0aW9uLnZpZXcpXSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBQb3NpdGlvbkFjdGlvbk5hbWUuQWRkUmVjb3JkUG9zaXRpb246XG4gICAgICAgICAgICBpZiAocmVjb3Jkcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZEluZGV4ID0gZ2V0U2hhcmVkUmVjb3JkSW5kZXgocmVjb3JkcywgYWN0aW9uLnBhdGhbMF0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZCA9IHJlY29yZHMuZ2V0KHJlY29yZEluZGV4KTtcbiAgICAgICAgICAgICAgICBjb25zdCBjdXN0b21GaWVsZCA9IHJlY29yZC5nZXQoMSkgYXMgWS5BcnJheTxhbnk+O1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uc0luZGV4ID0gY3VzdG9tRmllbGQubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbnMgPSBjdXN0b21GaWVsZC5nZXQocG9zaXRpb25zSW5kZXgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1Bvc2l0aW9ucyA9IHsgLi4ucG9zaXRpb25zLCAuLi5hY3Rpb24ucG9zaXRpb24gfTtcbiAgICAgICAgICAgICAgICBjdXN0b21GaWVsZC5kZWxldGUocG9zaXRpb25zSW5kZXgpO1xuICAgICAgICAgICAgICAgIGN1c3RvbUZpZWxkLmluc2VydChwb3NpdGlvbnNJbmRleCwgW25ld1Bvc2l0aW9uc10pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5BZGRGaWVsZDpcbiAgICAgICAgICAgIGlmIChmaWVsZHMgJiYgcmVjb3Jkcykge1xuICAgICAgICAgICAgICAgIGZpZWxkcy5wdXNoKFt0b1N5bmNFbGVtZW50KGFjdGlvbi5maWVsZCldKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gYWN0aW9uLnBhdGhbMF07XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgdmFsdWUgb2YgcmVjb3Jkcykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdSZWNvcmQgPSBnZXREZWZhdWx0RmllbGRWYWx1ZShhY3Rpb24uZmllbGQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXN0b21GaWVsZCA9IHZhbHVlLmdldCgxKTtcbiAgICAgICAgICAgICAgICAgICAgY3VzdG9tRmllbGQuaW5zZXJ0KHBhdGgsIFtuZXdSZWNvcmRdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gc2hhcmVkVHlwZTtcbn1cbiJdfQ==
|
@@ -12,6 +12,8 @@ export const actionMappers = {
|
|
12
12
|
set_view: setNode,
|
13
13
|
add_view: addNode,
|
14
14
|
remove_view: removeNode,
|
15
|
+
add_record_position: addNode,
|
16
|
+
remove_record_position: removeNode
|
15
17
|
};
|
16
18
|
export function applyActionOps(sharedType, actions, aiTable) {
|
17
19
|
if (actions.length > 0) {
|
@@ -27,4 +29,4 @@ export function applyActionOps(sharedType, actions, aiTable) {
|
|
27
29
|
}
|
28
30
|
return sharedType;
|
29
31
|
}
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXlqcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLGdCQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBRXBELE9BQU8sT0FBTyxNQUFNLFlBQVksQ0FBQztBQUNqQyxPQUFPLE9BQU8sTUFBTSxZQUFZLENBQUM7QUFDakMsT0FBTyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBUXZDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBK0I7SUFDckQsVUFBVSxFQUFFLE9BQU87SUFDbkIsa0JBQWtCLEVBQUUsZ0JBQWdCO0lBQ3BDLGFBQWEsRUFBRSxVQUFVO0lBQ3pCLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLFlBQVksRUFBRSxVQUFVO0lBQ3hCLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLFdBQVcsRUFBRSxVQUFVO0lBQ3ZCLG1CQUFtQixFQUFFLE9BQU87SUFDNUIsc0JBQXNCLEVBQUUsVUFBVTtDQUNyQyxDQUFDO0FBRUYsTUFBTSxVQUFVLGNBQWMsQ0FBQyxVQUFzQixFQUFFLE9BQXdCLEVBQUUsT0FBZ0I7SUFDN0YsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3JCLFVBQVUsQ0FBQyxHQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMxQixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3ZCLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUE2QixDQUFDO2dCQUNyRSxJQUFJLEtBQUssRUFBRSxDQUFDO29CQUNSLE9BQU8sS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDckMsQ0FBQztnQkFDRCxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGUsIEFJVGFibGVBY3Rpb24gfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgdXBkYXRlRmllbGRWYWx1ZSBmcm9tICcuL3VwZGF0ZS1maWVsZC12YWx1ZSc7XG5pbXBvcnQgeyBTaGFyZWRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHNldE5vZGUgZnJvbSAnLi9zZXQtbm9kZSc7XG5pbXBvcnQgYWRkTm9kZSBmcm9tICcuL2FkZC1ub2RlJztcbmltcG9ydCByZW1vdmVOb2RlIGZyb20gJy4vcmVtb3ZlLW5vZGUnO1xuXG5leHBvcnQgdHlwZSBBY3Rpb25NYXBwZXI8TyBleHRlbmRzIEFJVGFibGVBY3Rpb24gPSBBSVRhYmxlQWN0aW9uPiA9IHtcbiAgICBbSyBpbiBPWyd0eXBlJ11dOiBPIGV4dGVuZHMgeyB0eXBlOiBLIH0gPyBBcHBseUZ1bmM8Tz4gOiBuZXZlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEFwcGx5RnVuYzxPIGV4dGVuZHMgQUlUYWJsZUFjdGlvbiA9IEFJVGFibGVBY3Rpb24+ID0gKHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsIG9wOiBPKSA9PiBTaGFyZWRUeXBlO1xuXG5leHBvcnQgY29uc3QgYWN0aW9uTWFwcGVyczogUGFydGlhbDxBY3Rpb25NYXBwZXI8YW55Pj4gPSB7XG4gICAgYWRkX3JlY29yZDogYWRkTm9kZSxcbiAgICB1cGRhdGVfZmllbGRfdmFsdWU6IHVwZGF0ZUZpZWxkVmFsdWUsXG4gICAgcmVtb3ZlX3JlY29yZDogcmVtb3ZlTm9kZSxcbiAgICBhZGRfZmllbGQ6IGFkZE5vZGUsXG4gICAgc2V0X2ZpZWxkOiBzZXROb2RlLFxuICAgIHJlbW92ZV9maWVsZDogcmVtb3ZlTm9kZSxcbiAgICBzZXRfdmlldzogc2V0Tm9kZSxcbiAgICBhZGRfdmlldzogYWRkTm9kZSxcbiAgICByZW1vdmVfdmlldzogcmVtb3ZlTm9kZSxcbiAgICBhZGRfcmVjb3JkX3Bvc2l0aW9uOiBhZGROb2RlLFxuICAgIHJlbW92ZV9yZWNvcmRfcG9zaXRpb246IHJlbW92ZU5vZGVcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseUFjdGlvbk9wcyhzaGFyZWRUeXBlOiBTaGFyZWRUeXBlLCBhY3Rpb25zOiBBSVRhYmxlQWN0aW9uW10sIGFpVGFibGU6IEFJVGFibGUpOiBTaGFyZWRUeXBlIHtcbiAgICBpZiAoYWN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHNoYXJlZFR5cGUuZG9jIS50cmFuc2FjdCgoKSA9PiB7XG4gICAgICAgICAgICBhY3Rpb25zLmZvckVhY2goKGFjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFwcGx5ID0gYWN0aW9uTWFwcGVyc1thY3Rpb24udHlwZV0gYXMgQXBwbHlGdW5jPHR5cGVvZiBhY3Rpb24+O1xuICAgICAgICAgICAgICAgIGlmIChhcHBseSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXBwbHkoc2hhcmVkVHlwZSwgYWN0aW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgYWlUYWJsZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNoYXJlZFR5cGU7XG59XG4iXX0=
|
@@ -1,10 +1,12 @@
|
|
1
1
|
import { ActionName } from '@ai-table/grid';
|
2
|
-
import { ViewActionName } from '../../types';
|
2
|
+
import { PositionActionName, ViewActionName } from '../../types';
|
3
3
|
import { getSharedMapValueIndex, getSharedRecordIndex } from '../utils';
|
4
4
|
export default function removeNode(sharedType, action) {
|
5
|
+
const fields = sharedType.get('fields');
|
6
|
+
const records = sharedType.get('records');
|
7
|
+
const views = sharedType.get('views');
|
5
8
|
switch (action.type) {
|
6
9
|
case ActionName.RemoveRecord:
|
7
|
-
const records = sharedType.get('records');
|
8
10
|
if (records) {
|
9
11
|
const recordIndex = getSharedRecordIndex(records, action.path[0]);
|
10
12
|
if (recordIndex > -1) {
|
@@ -13,7 +15,6 @@ export default function removeNode(sharedType, action) {
|
|
13
15
|
}
|
14
16
|
break;
|
15
17
|
case ViewActionName.RemoveView:
|
16
|
-
const views = sharedType.get('views');
|
17
18
|
if (views) {
|
18
19
|
const viewIndex = getSharedMapValueIndex(views, action.path[0]);
|
19
20
|
if (viewIndex > -1) {
|
@@ -21,14 +22,24 @@ export default function removeNode(sharedType, action) {
|
|
21
22
|
}
|
22
23
|
}
|
23
24
|
break;
|
25
|
+
case PositionActionName.RemoveRecordPosition:
|
26
|
+
if (records) {
|
27
|
+
const recordIndex = getSharedRecordIndex(records, action.path[1]);
|
28
|
+
const record = records.get(recordIndex);
|
29
|
+
const customField = record.get(1);
|
30
|
+
const positionsIndex = customField.length - 1;
|
31
|
+
const positions = customField.get(positionsIndex);
|
32
|
+
delete positions[action.path[0]];
|
33
|
+
customField.delete(positionsIndex);
|
34
|
+
customField.insert(positionsIndex, [positions]);
|
35
|
+
}
|
36
|
+
break;
|
24
37
|
case ActionName.RemoveField:
|
25
|
-
|
26
|
-
|
27
|
-
if (sharedFields && sharedRecords) {
|
28
|
-
const fieldIndex = getSharedMapValueIndex(sharedFields, action.path[0]);
|
38
|
+
if (fields && records) {
|
39
|
+
const fieldIndex = getSharedMapValueIndex(fields, action.path[0]);
|
29
40
|
if (fieldIndex > -1) {
|
30
|
-
|
31
|
-
for (let value of
|
41
|
+
fields.delete(fieldIndex);
|
42
|
+
for (let value of records) {
|
32
43
|
value.get(1).delete(fieldIndex);
|
33
44
|
}
|
34
45
|
}
|
@@ -37,4 +48,4 @@ export default function removeNode(sharedType, action) {
|
|
37
48
|
}
|
38
49
|
return sharedType;
|
39
50
|
}
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXlqcy9yZW1vdmUtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUF5QyxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFDSCxrQkFBa0IsRUFNbEIsY0FBYyxFQUNqQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHeEUsTUFBTSxDQUFDLE9BQU8sVUFBVSxVQUFVLENBQzlCLFVBQXNCLEVBQ3RCLE1BQThGO0lBRTlGLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUE0QixDQUFDO0lBQ25FLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUE4QixDQUFDO0lBQ3ZFLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUE2QixDQUFDO0lBRWxFLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLEtBQUssVUFBVSxDQUFDLFlBQVk7WUFDeEIsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDVixNQUFNLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsRSxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNuQixPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNoQyxDQUFDO1lBQ0wsQ0FBQztZQUNELE1BQU07UUFDVixLQUFLLGNBQWMsQ0FBQyxVQUFVO1lBQzFCLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1IsTUFBTSxTQUFTLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEUsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDakIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDNUIsQ0FBQztZQUNMLENBQUM7WUFDRCxNQUFNO1FBQ1YsS0FBSyxrQkFBa0IsQ0FBQyxvQkFBb0I7WUFDeEMsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDVixNQUFNLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsRSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN4QyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBaUIsQ0FBQztnQkFDbEQsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQzlDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ2xELE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDbkMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFDRCxNQUFNO1FBQ1YsS0FBSyxVQUFVLENBQUMsV0FBVztZQUN2QixJQUFJLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDbEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDMUIsS0FBSyxJQUFJLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQzt3QkFDeEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQ3BDLENBQUM7Z0JBQ0wsQ0FBQztZQUNMLENBQUM7WUFDRCxNQUFNO0lBQ2QsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb25OYW1lLCBSZW1vdmVGaWVsZEFjdGlvbiwgUmVtb3ZlUmVjb3JkQWN0aW9uIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHtcbiAgICBQb3NpdGlvbkFjdGlvbk5hbWUsXG4gICAgUmVtb3ZlUmVjb3JkUG9zaXRpb25BY3Rpb24sXG4gICAgUmVtb3ZlVmlld0FjdGlvbixcbiAgICBTaGFyZWRUeXBlLFxuICAgIFN5bmNBcnJheUVsZW1lbnQsXG4gICAgU3luY01hcEVsZW1lbnQsXG4gICAgVmlld0FjdGlvbk5hbWVcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0U2hhcmVkTWFwVmFsdWVJbmRleCwgZ2V0U2hhcmVkUmVjb3JkSW5kZXggfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgKiBhcyBZIGZyb20gJ3lqcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHJlbW92ZU5vZGUoXG4gICAgc2hhcmVkVHlwZTogU2hhcmVkVHlwZSxcbiAgICBhY3Rpb246IFJlbW92ZUZpZWxkQWN0aW9uIHwgUmVtb3ZlUmVjb3JkQWN0aW9uIHwgUmVtb3ZlVmlld0FjdGlvbiB8IFJlbW92ZVJlY29yZFBvc2l0aW9uQWN0aW9uXG4pOiBTaGFyZWRUeXBlIHtcbiAgICBjb25zdCBmaWVsZHMgPSBzaGFyZWRUeXBlLmdldCgnZmllbGRzJykgYXMgWS5BcnJheTxTeW5jTWFwRWxlbWVudD47XG4gICAgY29uc3QgcmVjb3JkcyA9IHNoYXJlZFR5cGUuZ2V0KCdyZWNvcmRzJykgYXMgWS5BcnJheTxTeW5jQXJyYXlFbGVtZW50PjtcbiAgICBjb25zdCB2aWV3cyA9IHNoYXJlZFR5cGUuZ2V0KCd2aWV3cycpISBhcyBZLkFycmF5PFN5bmNNYXBFbGVtZW50PjtcblxuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlJlbW92ZVJlY29yZDpcbiAgICAgICAgICAgIGlmIChyZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSBnZXRTaGFyZWRSZWNvcmRJbmRleChyZWNvcmRzLCBhY3Rpb24ucGF0aFswXSk7XG4gICAgICAgICAgICAgICAgaWYgKHJlY29yZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVjb3Jkcy5kZWxldGUocmVjb3JkSW5kZXgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFZpZXdBY3Rpb25OYW1lLlJlbW92ZVZpZXc6XG4gICAgICAgICAgICBpZiAodmlld3MpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2aWV3SW5kZXggPSBnZXRTaGFyZWRNYXBWYWx1ZUluZGV4KHZpZXdzLCBhY3Rpb24ucGF0aFswXSk7XG4gICAgICAgICAgICAgICAgaWYgKHZpZXdJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHZpZXdzLmRlbGV0ZSh2aWV3SW5kZXgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFBvc2l0aW9uQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmRQb3NpdGlvbjpcbiAgICAgICAgICAgIGlmIChyZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSBnZXRTaGFyZWRSZWNvcmRJbmRleChyZWNvcmRzLCBhY3Rpb24ucGF0aFsxXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkID0gcmVjb3Jkcy5nZXQocmVjb3JkSW5kZXgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1c3RvbUZpZWxkID0gcmVjb3JkLmdldCgxKSBhcyBZLkFycmF5PGFueT47XG4gICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb25zSW5kZXggPSBjdXN0b21GaWVsZC5sZW5ndGggLSAxO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IGN1c3RvbUZpZWxkLmdldChwb3NpdGlvbnNJbmRleCk7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHBvc2l0aW9uc1thY3Rpb24ucGF0aFswXV07XG4gICAgICAgICAgICAgICAgY3VzdG9tRmllbGQuZGVsZXRlKHBvc2l0aW9uc0luZGV4KTtcbiAgICAgICAgICAgICAgICBjdXN0b21GaWVsZC5pbnNlcnQocG9zaXRpb25zSW5kZXgsIFtwb3NpdGlvbnNdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuUmVtb3ZlRmllbGQ6XG4gICAgICAgICAgICBpZiAoZmllbGRzICYmIHJlY29yZHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZEluZGV4ID0gZ2V0U2hhcmVkTWFwVmFsdWVJbmRleChmaWVsZHMsIGFjdGlvbi5wYXRoWzBdKTtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGRJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkcy5kZWxldGUoZmllbGRJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IHZhbHVlIG9mIHJlY29yZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLmdldCgxKS5kZWxldGUoZmllbGRJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gc2hhcmVkVHlwZTtcbn1cbiJdfQ==
|
package/esm2022/types/view.mjs
CHANGED
@@ -6,34 +6,37 @@ export var Direction;
|
|
6
6
|
Direction[Direction["ascending"] = 1] = "ascending";
|
7
7
|
Direction[Direction["descending"] = -1] = "descending";
|
8
8
|
})(Direction || (Direction = {}));
|
9
|
-
export var
|
10
|
-
(function (
|
11
|
-
|
12
|
-
|
13
|
-
})(
|
14
|
-
export var
|
15
|
-
(function (
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
})(
|
31
|
-
export class GridSettings {
|
32
|
-
}
|
9
|
+
export var AITableFilterLogical;
|
10
|
+
(function (AITableFilterLogical) {
|
11
|
+
AITableFilterLogical["and"] = "and";
|
12
|
+
AITableFilterLogical["or"] = "or";
|
13
|
+
})(AITableFilterLogical || (AITableFilterLogical = {}));
|
14
|
+
export var AITableFilterOperation;
|
15
|
+
(function (AITableFilterOperation) {
|
16
|
+
AITableFilterOperation["eq"] = "eq";
|
17
|
+
AITableFilterOperation["gte"] = "gte";
|
18
|
+
AITableFilterOperation["lte"] = "lte";
|
19
|
+
AITableFilterOperation["gt"] = "gt";
|
20
|
+
AITableFilterOperation["lt"] = "lt";
|
21
|
+
AITableFilterOperation["in"] = "in";
|
22
|
+
AITableFilterOperation["contain"] = "contain";
|
23
|
+
AITableFilterOperation["ne"] = "ne";
|
24
|
+
AITableFilterOperation["nin"] = "nin";
|
25
|
+
AITableFilterOperation["between"] = "between";
|
26
|
+
AITableFilterOperation["besides"] = "besides";
|
27
|
+
AITableFilterOperation["empty"] = "empty";
|
28
|
+
AITableFilterOperation["exists"] = "exists";
|
29
|
+
AITableFilterOperation["notContain"] = "not_contain";
|
30
|
+
})(AITableFilterOperation || (AITableFilterOperation = {}));
|
33
31
|
export var ViewActionName;
|
34
32
|
(function (ViewActionName) {
|
35
33
|
ViewActionName["SetView"] = "set_view";
|
36
34
|
ViewActionName["AddView"] = "add_view";
|
37
35
|
ViewActionName["RemoveView"] = "remove_view";
|
38
36
|
})(ViewActionName || (ViewActionName = {}));
|
39
|
-
|
37
|
+
export var PositionActionName;
|
38
|
+
(function (PositionActionName) {
|
39
|
+
PositionActionName["AddRecordPosition"] = "add_record_position";
|
40
|
+
PositionActionName["RemoveRecordPosition"] = "remove_record_position";
|
41
|
+
})(PositionActionName || (PositionActionName = {}));
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy90eXBlcy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyxTQUFTO0NBRXJCO0FBY0QsTUFBTSxDQUFOLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNqQiwrQ0FBVyxDQUFBO0lBQ1gsbURBQWEsQ0FBQTtJQUNiLHNEQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUpXLFNBQVMsS0FBVCxTQUFTLFFBSXBCO0FBRUQsTUFBTSxDQUFOLElBQVksb0JBR1g7QUFIRCxXQUFZLG9CQUFvQjtJQUM1QixtQ0FBVyxDQUFBO0lBQ1gsaUNBQVMsQ0FBQTtBQUNiLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CO0FBRUQsTUFBTSxDQUFOLElBQVksc0JBZVg7QUFmRCxXQUFZLHNCQUFzQjtJQUM5QixtQ0FBUyxDQUFBO0lBQ1QscUNBQVcsQ0FBQTtJQUNYLHFDQUFXLENBQUE7SUFDWCxtQ0FBUyxDQUFBO0lBQ1QsbUNBQVMsQ0FBQTtJQUNULG1DQUFTLENBQUE7SUFDVCw2Q0FBbUIsQ0FBQTtJQUNuQixtQ0FBUyxDQUFBO0lBQ1QscUNBQVcsQ0FBQTtJQUNYLDZDQUFtQixDQUFBO0lBQ25CLDZDQUFtQixDQUFBO0lBQ25CLHlDQUFlLENBQUE7SUFDZiwyQ0FBaUIsQ0FBQTtJQUNqQixvREFBMEIsQ0FBQTtBQUM5QixDQUFDLEVBZlcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQWVqQztBQXVDRCxNQUFNLENBQU4sSUFBWSxjQUlYO0FBSkQsV0FBWSxjQUFjO0lBQ3RCLHNDQUFvQixDQUFBO0lBQ3BCLHNDQUFvQixDQUFBO0lBQ3BCLDRDQUEwQixDQUFBO0FBQzlCLENBQUMsRUFKVyxjQUFjLEtBQWQsY0FBYyxRQUl6QjtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDMUIsK0RBQXlDLENBQUE7SUFDekMscUVBQStDLENBQUE7QUFDbkQsQ0FBQyxFQUhXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFHN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVJlY29yZElkUGF0aCwgQUlUYWJsZSwgQUlUYWJsZUFjdGlvbiwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlUmVjb3JkIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElkIH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBQb3NpdGlvbnMge1xuICAgIFt2aWV3X2lkOiBzdHJpbmddOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZVZpZXdSZWNvcmQgZXh0ZW5kcyBBSVRhYmxlUmVjb3JkIHtcbiAgICBwb3NpdGlvbnM6IFBvc2l0aW9ucztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlVmlld0ZpZWxkIGV4dGVuZHMgQUlUYWJsZUZpZWxkIHtcbiAgICBwb3NpdGlvbnM6IFBvc2l0aW9ucztcbn1cblxuZXhwb3J0IHR5cGUgQUlUYWJsZVZpZXdSZWNvcmRzID0gQUlUYWJsZVZpZXdSZWNvcmRbXTtcblxuZXhwb3J0IHR5cGUgQUlUYWJsZVZpZXdGaWVsZHMgPSBBSVRhYmxlVmlld0ZpZWxkW107XG5cbmV4cG9ydCBlbnVtIERpcmVjdGlvbiB7XG4gICAgZGVmYXVsdCA9IDAsXG4gICAgYXNjZW5kaW5nID0gMSxcbiAgICBkZXNjZW5kaW5nID0gLTFcbn1cblxuZXhwb3J0IGVudW0gQUlUYWJsZUZpbHRlckxvZ2ljYWwge1xuICAgIGFuZCA9ICdhbmQnLFxuICAgIG9yID0gJ29yJ1xufVxuXG5leHBvcnQgZW51bSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uIHtcbiAgICBlcSA9ICdlcScsXG4gICAgZ3RlID0gJ2d0ZScsXG4gICAgbHRlID0gJ2x0ZScsXG4gICAgZ3QgPSAnZ3QnLFxuICAgIGx0ID0gJ2x0JyxcbiAgICBpbiA9ICdpbicsXG4gICAgY29udGFpbiA9ICdjb250YWluJyxcbiAgICBuZSA9ICduZScsXG4gICAgbmluID0gJ25pbicsXG4gICAgYmV0d2VlbiA9ICdiZXR3ZWVuJyxcbiAgICBiZXNpZGVzID0gJ2Jlc2lkZXMnLFxuICAgIGVtcHR5ID0gJ2VtcHR5JyxcbiAgICBleGlzdHMgPSAnZXhpc3RzJyxcbiAgICBub3RDb250YWluID0gJ25vdF9jb250YWluJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVWaWV3IHtcbiAgICBfaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZW1vamlfaWNvbj86IHN0cmluZztcbiAgICBzZXR0aW5ncz86IEdyaWRTZXR0aW5ncztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uPFRWYWx1ZSA9IHVua25vd24+IHtcbiAgICBmaWVsZF9pZDogSWQ7XG4gICAgb3BlcmF0aW9uOiBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uO1xuICAgIHZhbHVlOiBUVmFsdWU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZUZpbHRlckNvbmRpdGlvbnM8VFZhbHVlID0gdW5rbm93bj4ge1xuICAgIGNvbmRpdGlvbl9sb2dpY2FsPzogQUlUYWJsZUZpbHRlckxvZ2ljYWw7XG4gICAgY29uZGl0aW9ucz86IEFJVGFibGVGaWx0ZXJDb25kaXRpb248VFZhbHVlPltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRTZXR0aW5nczxUVmFsdWUgPSB1bmtub3duPiBleHRlbmRzIEFJVGFibGVGaWx0ZXJDb25kaXRpb25zPFRWYWx1ZT4ge1xuICAgIGlzX2tlZXBfc29ydD86IGJvb2xlYW47XG4gICAgc29ydHM/OiB7XG4gICAgICAgIHNvcnRfYnk6IElkO1xuICAgICAgICBkaXJlY3Rpb246IERpcmVjdGlvbjtcbiAgICAgICAgLy8geHh4XG4gICAgfVtdO1xufVxuXG5leHBvcnQgdHlwZSBBSVRhYmxlVmlld3MgPSBBSVRhYmxlVmlld1tdO1xuXG5leHBvcnQgdHlwZSBBSVZpZXdJZFBhdGggPSBbc3RyaW5nXTtcblxuZXhwb3J0IGludGVyZmFjZSBBSVZpZXdUYWJsZSBleHRlbmRzIEFJVGFibGUge1xuICAgIHZpZXdzOiBXcml0YWJsZVNpZ25hbDxBSVRhYmxlVmlld1tdPjtcbiAgICBhY3RpdmVWaWV3SWQ6IFdyaXRhYmxlU2lnbmFsPHN0cmluZz47XG4gICAgYXBwbHk6IChhY3Rpb246IEFJVGFibGVTaGFyZWRBY3Rpb24pID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBlbnVtIFZpZXdBY3Rpb25OYW1lIHtcbiAgICBTZXRWaWV3ID0gJ3NldF92aWV3JyxcbiAgICBBZGRWaWV3ID0gJ2FkZF92aWV3JyxcbiAgICBSZW1vdmVWaWV3ID0gJ3JlbW92ZV92aWV3J1xufVxuXG5leHBvcnQgZW51bSBQb3NpdGlvbkFjdGlvbk5hbWUge1xuICAgIEFkZFJlY29yZFBvc2l0aW9uID0gJ2FkZF9yZWNvcmRfcG9zaXRpb24nLFxuICAgIFJlbW92ZVJlY29yZFBvc2l0aW9uID0gJ3JlbW92ZV9yZWNvcmRfcG9zaXRpb24nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0Vmlld0FjdGlvbiB7XG4gICAgdHlwZTogVmlld0FjdGlvbk5hbWUuU2V0VmlldztcbiAgICBwcm9wZXJ0aWVzOiBQYXJ0aWFsPEFJVGFibGVWaWV3PjtcbiAgICBuZXdQcm9wZXJ0aWVzOiBQYXJ0aWFsPEFJVGFibGVWaWV3PjtcbiAgICBwYXRoOiBBSVZpZXdJZFBhdGg7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkVmlld0FjdGlvbiB7XG4gICAgdHlwZTogVmlld0FjdGlvbk5hbWUuQWRkVmlldztcbiAgICB2aWV3OiBBSVRhYmxlVmlldztcbiAgICBwYXRoOiBbbnVtYmVyXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdmVWaWV3QWN0aW9uIHtcbiAgICB0eXBlOiBWaWV3QWN0aW9uTmFtZS5SZW1vdmVWaWV3O1xuICAgIHBhdGg6IEFJVmlld0lkUGF0aDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRSZWNvcmRQb3NpdGlvbkFjdGlvbiB7XG4gICAgdHlwZTogUG9zaXRpb25BY3Rpb25OYW1lLkFkZFJlY29yZFBvc2l0aW9uO1xuICAgIHBvc2l0aW9uOiBQb3NpdGlvbnM7XG4gICAgcGF0aDogQUlSZWNvcmRJZFBhdGg7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3ZlUmVjb3JkUG9zaXRpb25BY3Rpb24ge1xuICAgIHR5cGU6IFBvc2l0aW9uQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmRQb3NpdGlvbjtcbiAgICBwYXRoOiBbc3RyaW5nLCBzdHJpbmddO1xufVxuXG5leHBvcnQgdHlwZSBBSVRhYmxlVmlld0FjdGlvbiA9IFNldFZpZXdBY3Rpb24gfCBBZGRWaWV3QWN0aW9uIHwgUmVtb3ZlVmlld0FjdGlvbjtcblxuZXhwb3J0IHR5cGUgQUlUYWJsZVBvc2l0aW9uQWN0aW9uID0gQWRkUmVjb3JkUG9zaXRpb25BY3Rpb24gfCBSZW1vdmVSZWNvcmRQb3NpdGlvbkFjdGlvbjtcblxuZXhwb3J0IHR5cGUgQUlUYWJsZVNoYXJlZEFjdGlvbiA9IEFJVGFibGVWaWV3QWN0aW9uIHwgQUlUYWJsZUFjdGlvbiB8IEFJVGFibGVQb3NpdGlvbkFjdGlvbjtcbiJdfQ==
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { getFilteredRecords } from './filter-records';
|
2
|
+
export function sortByView(data, activeViewId) {
|
3
|
+
const hasPositions = data.every((item) => item.positions && item.positions);
|
4
|
+
if (hasPositions) {
|
5
|
+
return [...data].sort((a, b) => a.positions[activeViewId] - b.positions[activeViewId]);
|
6
|
+
}
|
7
|
+
return data;
|
8
|
+
}
|
9
|
+
export function buildRecordsByView(records, fields, activeView) {
|
10
|
+
const filteredRecords = getFilteredRecords(records, fields, activeView);
|
11
|
+
return sortByView(filteredRecords, activeView._id);
|
12
|
+
}
|
13
|
+
export function buildFieldsByView(fields, activeView) {
|
14
|
+
return sortByView(fields, activeView._id);
|
15
|
+
}
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvdXRpbHMvYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdEQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUE0QyxFQUFFLFlBQW9CO0lBQ3pGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVFLElBQUksWUFBWSxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUEyQixFQUFFLE1BQXlCLEVBQUUsVUFBdUI7SUFDOUcsTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN4RSxPQUFPLFVBQVUsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBeUIsRUFBRSxVQUF1QjtJQUNoRixPQUFPLFVBQVUsQ0FBQyxNQUEyQixFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNuRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZVZpZXcsIEFJVGFibGVWaWV3RmllbGRzLCBBSVRhYmxlVmlld1JlY29yZHMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRGaWx0ZXJlZFJlY29yZHMgfSBmcm9tICcuL2ZpbHRlci1yZWNvcmRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNvcnRCeVZpZXcoZGF0YTogQUlUYWJsZVZpZXdSZWNvcmRzIHwgQUlUYWJsZVZpZXdGaWVsZHMsIGFjdGl2ZVZpZXdJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgaGFzUG9zaXRpb25zID0gZGF0YS5ldmVyeSgoaXRlbSkgPT4gaXRlbS5wb3NpdGlvbnMgJiYgaXRlbS5wb3NpdGlvbnMpO1xuICAgIGlmIChoYXNQb3NpdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIFsuLi5kYXRhXS5zb3J0KChhLCBiKSA9PiBhLnBvc2l0aW9uc1thY3RpdmVWaWV3SWRdIC0gYi5wb3NpdGlvbnNbYWN0aXZlVmlld0lkXSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRSZWNvcmRzQnlWaWV3KHJlY29yZHM6IEFJVGFibGVWaWV3UmVjb3JkcywgZmllbGRzOiBBSVRhYmxlVmlld0ZpZWxkcywgYWN0aXZlVmlldzogQUlUYWJsZVZpZXcpIHtcbiAgICBjb25zdCBmaWx0ZXJlZFJlY29yZHMgPSBnZXRGaWx0ZXJlZFJlY29yZHMocmVjb3JkcywgZmllbGRzLCBhY3RpdmVWaWV3KTtcbiAgICByZXR1cm4gc29ydEJ5VmlldyhmaWx0ZXJlZFJlY29yZHMsIGFjdGl2ZVZpZXcuX2lkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkRmllbGRzQnlWaWV3KGZpZWxkczogQUlUYWJsZVZpZXdGaWVsZHMsIGFjdGl2ZVZpZXc6IEFJVGFibGVWaWV3KSB7XG4gICAgcmV0dXJuIHNvcnRCeVZpZXcoZmllbGRzIGFzIEFJVGFibGVWaWV3RmllbGRzLCBhY3RpdmVWaWV3Ll9pZCk7XG59XG4iXX0=
|
@@ -0,0 +1,11 @@
|
|
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
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3V0aWxzL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxJQUFJLFlBQVksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEcsTUFBTSxVQUFVLE9BQU8sQ0FBQyxLQUFVO0lBQzlCLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDakIsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbEIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELE9BQU8saUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNVbmRlZmluZWRPck51bGwsIGlzRW1wdHkgYXMgaXNBcnJheUVtcHR5LCBpc0FycmF5LCBpc09iamVjdCB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0VtcHR5KHZhbHVlOiBhbnkpIHtcbiAgICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGlzQXJyYXlFbXB0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5vd25LZXlzKHZhbHVlKS5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlzVW5kZWZpbmVkT3JOdWxsKHZhbHVlKSB8fCB2YWx1ZSA9PSAnJztcbn1cbiJdfQ==
|
@@ -0,0 +1,56 @@
|
|
1
|
+
import { Field } from './field';
|
2
|
+
import { fromUnixTime, subDays } from 'date-fns';
|
3
|
+
import { isArray, TinyDate } from 'ngx-tethys/util';
|
4
|
+
import { AITableFilterOperation } from '../../types';
|
5
|
+
import { isEmpty } from '../common';
|
6
|
+
export class DateField extends Field {
|
7
|
+
isMeetFilter(condition, cellValue) {
|
8
|
+
const [left, right] = this.getTimeRange(condition.value);
|
9
|
+
switch (condition.operation) {
|
10
|
+
case AITableFilterOperation.empty:
|
11
|
+
return isEmpty(cellValue.timestamp) || cellValue.timestamp === 0;
|
12
|
+
case AITableFilterOperation.exists:
|
13
|
+
return !isEmpty(cellValue.timestamp) && cellValue.timestamp !== 0;
|
14
|
+
case AITableFilterOperation.eq:
|
15
|
+
return left <= cellValue.timestamp && cellValue.timestamp < right;
|
16
|
+
case AITableFilterOperation.gt:
|
17
|
+
return cellValue.timestamp > right;
|
18
|
+
case AITableFilterOperation.lt:
|
19
|
+
return cellValue.timestamp < left;
|
20
|
+
case AITableFilterOperation.between:
|
21
|
+
return left <= cellValue.timestamp && cellValue.timestamp < right;
|
22
|
+
default:
|
23
|
+
return super.isMeetFilter(condition, cellValue);
|
24
|
+
}
|
25
|
+
}
|
26
|
+
getTimeRange(value) {
|
27
|
+
switch (value) {
|
28
|
+
case 'today':
|
29
|
+
return [new TinyDate(new Date()).startOfDay().getUnixTime(), new TinyDate(new Date()).endOfDay().getUnixTime()];
|
30
|
+
case 'current_week':
|
31
|
+
return [
|
32
|
+
new TinyDate().startOfWeek({ weekStartsOn: 1 }).getUnixTime(),
|
33
|
+
new TinyDate().endOfWeek({ weekStartsOn: 1 }).getUnixTime()
|
34
|
+
];
|
35
|
+
case 'yesterday':
|
36
|
+
return [
|
37
|
+
new TinyDate(subDays(new Date(), 1)).startOfDay().getUnixTime(),
|
38
|
+
new TinyDate(subDays(new Date(), 1)).endOfDay().getUnixTime()
|
39
|
+
];
|
40
|
+
case 'current_month':
|
41
|
+
return [new TinyDate().startOfMonth().getUnixTime(), new TinyDate().endOfMonth().getUnixTime()];
|
42
|
+
default:
|
43
|
+
if (isArray(value)) {
|
44
|
+
return [
|
45
|
+
new TinyDate(fromUnixTime(value[0])).startOfDay().getUnixTime(),
|
46
|
+
new TinyDate(fromUnixTime(value[1])).endOfDay().getUnixTime()
|
47
|
+
];
|
48
|
+
}
|
49
|
+
return [
|
50
|
+
new TinyDate(fromUnixTime(value)).startOfDay().getUnixTime(),
|
51
|
+
new TinyDate(fromUnixTime(value)).endOfDay().getUnixTime()
|
52
|
+
];
|
53
|
+
}
|
54
|
+
}
|
55
|
+
}
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy91dGlscy9maWVsZC9kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFaEMsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQTBCLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsTUFBTSxPQUFPLFNBQVUsU0FBUSxLQUFLO0lBQ3ZCLFlBQVksQ0FBQyxTQUF5QyxFQUFFLFNBQXlCO1FBQ3RGLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsUUFBUSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLO2dCQUM3QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUM7WUFDckUsS0FBSyxzQkFBc0IsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQztZQUN0RSxLQUFLLHNCQUFzQixDQUFDLEVBQUU7Z0JBQzFCLE9BQU8sSUFBSSxJQUFJLFNBQVMsQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdEUsS0FBSyxzQkFBc0IsQ0FBQyxFQUFFO2dCQUMxQixPQUFPLFNBQVMsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZDLEtBQUssc0JBQXNCLENBQUMsRUFBRTtnQkFDMUIsT0FBTyxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QyxLQUFLLHNCQUFzQixDQUFDLE9BQU87Z0JBQy9CLE9BQU8sSUFBSSxJQUFJLFNBQVMsQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdEU7Z0JBQ0ksT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFpQztRQUMxQyxRQUFRLEtBQUssRUFBRSxDQUFDO1lBQ1osS0FBSyxPQUFPO2dCQUNSLE9BQU8sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDcEgsS0FBSyxjQUFjO2dCQUNmLE9BQU87b0JBQ0gsSUFBSSxRQUFRLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUU7b0JBQzdELElBQUksUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFO2lCQUM5RCxDQUFDO1lBQ04sS0FBSyxXQUFXO2dCQUNaLE9BQU87b0JBQ0gsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxXQUFXLEVBQUU7b0JBQy9ELElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFO2lCQUNoRSxDQUFDO1lBQ04sS0FBSyxlQUFlO2dCQUNoQixPQUFPLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDcEc7Z0JBQ0ksSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDakIsT0FBTzt3QkFDSCxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxXQUFXLEVBQUU7d0JBQ3pFLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRTtxQkFDMUUsQ0FBQztnQkFDTixDQUFDO2dCQUNELE9BQU87b0JBQ0gsSUFBSSxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQWUsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsV0FBVyxFQUFFO29CQUN0RSxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBZSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUU7aUJBQ3ZFLENBQUM7UUFDVixDQUFDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkJztcbmltcG9ydCB7IERhdGVGaWVsZFZhbHVlIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgZnJvbVVuaXhUaW1lLCBzdWJEYXlzIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgaXNBcnJheSwgVGlueURhdGUgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgQUlUYWJsZUZpbHRlck9wZXJhdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJy4uL2NvbW1vbic7XG5cbmV4cG9ydCBjbGFzcyBEYXRlRmllbGQgZXh0ZW5kcyBGaWVsZCB7XG4gICAgb3ZlcnJpZGUgaXNNZWV0RmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxzdHJpbmc+LCBjZWxsVmFsdWU6IERhdGVGaWVsZFZhbHVlKSB7XG4gICAgICAgIGNvbnN0IFtsZWZ0LCByaWdodF0gPSB0aGlzLmdldFRpbWVSYW5nZShjb25kaXRpb24udmFsdWUpO1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNFbXB0eShjZWxsVmFsdWUudGltZXN0YW1wKSB8fCBjZWxsVmFsdWUudGltZXN0YW1wID09PSAwO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmV4aXN0czpcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzRW1wdHkoY2VsbFZhbHVlLnRpbWVzdGFtcCkgJiYgY2VsbFZhbHVlLnRpbWVzdGFtcCAhPT0gMDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lcTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbGVmdCA8PSBjZWxsVmFsdWUudGltZXN0YW1wICYmIGNlbGxWYWx1ZS50aW1lc3RhbXAgPCByaWdodDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5ndDpcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlLnRpbWVzdGFtcCA+IHJpZ2h0O1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBjZWxsVmFsdWUudGltZXN0YW1wIDwgbGVmdDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5iZXR3ZWVuOlxuICAgICAgICAgICAgICAgIHJldHVybiBsZWZ0IDw9IGNlbGxWYWx1ZS50aW1lc3RhbXAgJiYgY2VsbFZhbHVlLnRpbWVzdGFtcCA8IHJpZ2h0O1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIuaXNNZWV0RmlsdGVyKGNvbmRpdGlvbiwgY2VsbFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFRpbWVSYW5nZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVtYmVyW10pIHtcbiAgICAgICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgICAgICAgY2FzZSAndG9kYXknOlxuICAgICAgICAgICAgICAgIHJldHVybiBbbmV3IFRpbnlEYXRlKG5ldyBEYXRlKCkpLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLCBuZXcgVGlueURhdGUobmV3IERhdGUoKSkuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXTtcbiAgICAgICAgICAgIGNhc2UgJ2N1cnJlbnRfd2Vlayc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKCkuc3RhcnRPZldlZWsoeyB3ZWVrU3RhcnRzT246IDEgfSkuZ2V0VW5peFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKCkuZW5kT2ZXZWVrKHsgd2Vla1N0YXJ0c09uOiAxIH0pLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgY2FzZSAneWVzdGVyZGF5JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoc3ViRGF5cyhuZXcgRGF0ZSgpLCAxKSkuc3RhcnRPZkRheSgpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShzdWJEYXlzKG5ldyBEYXRlKCksIDEpKS5lbmRPZkRheSgpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgY2FzZSAnY3VycmVudF9tb250aCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtuZXcgVGlueURhdGUoKS5zdGFydE9mTW9udGgoKS5nZXRVbml4VGltZSgpLCBuZXcgVGlueURhdGUoKS5lbmRPZk1vbnRoKCkuZ2V0VW5peFRpbWUoKV07XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKGZyb21Vbml4VGltZSh2YWx1ZVswXSBhcyBudW1iZXIpKS5zdGFydE9mRGF5KCkuZ2V0VW5peFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShmcm9tVW5peFRpbWUodmFsdWVbMV0gYXMgbnVtYmVyKSkuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShmcm9tVW5peFRpbWUodmFsdWUgYXMgbnVtYmVyKSkuc3RhcnRPZkRheSgpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShmcm9tVW5peFRpbWUodmFsdWUgYXMgbnVtYmVyKSkuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|