@ai-table/state 0.0.73 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action/index.d.ts +1 -1
- package/action/position.d.ts +2 -2
- package/action/position.d.ts.map +1 -1
- package/constants/context-menu-item.d.ts.map +1 -1
- package/constants/field-menu-item.d.ts.map +1 -1
- package/fesm2022/ai-table-state.mjs +52 -23
- package/fesm2022/ai-table-state.mjs.map +1 -1
- package/package.json +1 -3
- package/plugins/state.plugin.d.ts.map +1 -1
- package/shared/utils/initialize.d.ts.map +1 -1
- package/utils/field/add-fields.d.ts.map +1 -1
- package/utils/field/remove-field.d.ts.map +1 -1
- package/utils/field/sort-fields.d.ts.map +1 -1
- package/utils/i18n.d.ts +3 -1
- package/utils/i18n.d.ts.map +1 -1
- package/utils/record/move-records.d.ts.map +1 -1
- package/esm2022/action/field.mjs +0 -75
- package/esm2022/action/general.mjs +0 -163
- package/esm2022/action/index.mjs +0 -13
- package/esm2022/action/position.mjs +0 -13
- package/esm2022/action/record.mjs +0 -61
- package/esm2022/action/view.mjs +0 -57
- package/esm2022/ai-table-state.mjs +0 -5
- package/esm2022/constants/context-menu-item.mjs +0 -56
- package/esm2022/constants/field-menu-item.mjs +0 -56
- package/esm2022/constants/index.mjs +0 -4
- package/esm2022/constants/view.mjs +0 -3
- package/esm2022/index.mjs +0 -2
- package/esm2022/plugins/state.plugin.mjs +0 -20
- package/esm2022/public-api.mjs +0 -7
- package/esm2022/shared/index.mjs +0 -6
- package/esm2022/shared/to-table/index.mjs +0 -29
- package/esm2022/shared/to-table/map-event.mjs +0 -48
- package/esm2022/shared/to-yjs/add-node.mjs +0 -63
- package/esm2022/shared/to-yjs/index.mjs +0 -33
- package/esm2022/shared/to-yjs/remove-node.mjs +0 -37
- package/esm2022/shared/to-yjs/set-node.mjs +0 -31
- package/esm2022/shared/to-yjs/update-field-value.mjs +0 -23
- package/esm2022/shared/undo-manager.service.mjs +0 -60
- package/esm2022/shared/utils/index.mjs +0 -2
- package/esm2022/shared/utils/initialize.mjs +0 -51
- package/esm2022/shared/yjs-table.mjs +0 -39
- package/esm2022/types/ai-table.mjs +0 -2
- package/esm2022/types/index.mjs +0 -2
- package/esm2022/utils/build.mjs +0 -11
- package/esm2022/utils/common.mjs +0 -22
- package/esm2022/utils/field/add-fields.mjs +0 -25
- package/esm2022/utils/field/move-fields.mjs +0 -6
- package/esm2022/utils/field/position-field.mjs +0 -38
- package/esm2022/utils/field/remove-field.mjs +0 -13
- package/esm2022/utils/field/sort-fields.mjs +0 -5
- package/esm2022/utils/i18n.mjs +0 -37
- package/esm2022/utils/index.mjs +0 -17
- package/esm2022/utils/record/add-records.mjs +0 -40
- package/esm2022/utils/record/filter.mjs +0 -121
- package/esm2022/utils/record/move-records.mjs +0 -33
- package/esm2022/utils/record/sort.mjs +0 -38
- package/esm2022/utils/record/update-field-value.mjs +0 -11
- package/esm2022/utils/record/update-system-field-value.mjs +0 -8
- package/esm2022/utils/view.mjs +0 -96
- package/esm2022/utils/weak-map.mjs +0 -2
@@ -1,56 +0,0 @@
|
|
1
|
-
import { AI_TABLE_GRID_FIELD_SERVICE_MAP, idCreator } from '@ai-table/grid';
|
2
|
-
import _ from 'lodash';
|
3
|
-
import { Actions } from '../action';
|
4
|
-
import { generateCopyName } from '../utils';
|
5
|
-
import { AITableStateI18nKey, getStateI18nTextByKey } from '../utils/i18n';
|
6
|
-
export const DividerMenuItem = {
|
7
|
-
type: 'divider'
|
8
|
-
};
|
9
|
-
export const EditFieldPropertyItem = (aiTable) => ({
|
10
|
-
type: 'editFieldProperty',
|
11
|
-
name: getStateI18nTextByKey(aiTable, AITableStateI18nKey.editField),
|
12
|
-
icon: 'edit',
|
13
|
-
exec: (aiTable, field, origin, position) => {
|
14
|
-
const fieldService = AI_TABLE_GRID_FIELD_SERVICE_MAP.get(aiTable);
|
15
|
-
const copyField = _.cloneDeep(field());
|
16
|
-
if (origin && position) {
|
17
|
-
const popoverRef = fieldService?.editFieldProperty(aiTable, {
|
18
|
-
field: copyField,
|
19
|
-
isUpdate: true,
|
20
|
-
origin: origin,
|
21
|
-
position
|
22
|
-
});
|
23
|
-
if (popoverRef && fieldService && !fieldService.aiFieldConfig?.fieldSettingComponent) {
|
24
|
-
popoverRef.componentInstance.setField.subscribe((value) => {
|
25
|
-
Actions.setField(aiTable, value.field, value.path);
|
26
|
-
});
|
27
|
-
}
|
28
|
-
return popoverRef;
|
29
|
-
}
|
30
|
-
return undefined;
|
31
|
-
}
|
32
|
-
});
|
33
|
-
export const CopyFieldPropertyItem = (aiTable, addFieldFn) => {
|
34
|
-
const name = getStateI18nTextByKey(aiTable, AITableStateI18nKey.copyField);
|
35
|
-
return {
|
36
|
-
type: 'copyFieldProperty',
|
37
|
-
name,
|
38
|
-
icon: 'copy',
|
39
|
-
exec: (aiTable, field) => {
|
40
|
-
const allFieldNames = (aiTable.fields() || []).map((item) => item.name);
|
41
|
-
const copyName = field().name;
|
42
|
-
let newFieldName = generateCopyName(aiTable, allFieldNames, copyName);
|
43
|
-
const fieldOptions = {
|
44
|
-
originId: field()._id,
|
45
|
-
isDuplicate: true,
|
46
|
-
defaultValue: {
|
47
|
-
...field(),
|
48
|
-
_id: idCreator(),
|
49
|
-
name: newFieldName
|
50
|
-
}
|
51
|
-
};
|
52
|
-
addFieldFn(fieldOptions);
|
53
|
-
}
|
54
|
-
};
|
55
|
-
};
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbWVudS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL2NvbnN0YW50cy9maWVsZC1tZW51LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLCtCQUErQixFQUFnQyxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRyxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUMzQixJQUFJLEVBQUUsU0FBUztDQUNsQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxPQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELElBQUksRUFBRSxtQkFBbUI7SUFDekIsSUFBSSxFQUFFLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxTQUFTLENBQUM7SUFDbkUsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsQ0FDRixPQUFvQixFQUNwQixLQUEyQixFQUMzQixNQUFzQyxFQUN0QyxRQUFtQyxFQUNyQyxFQUFFO1FBQ0EsTUFBTSxZQUFZLEdBQUcsK0JBQStCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sU0FBUyxHQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckQsSUFBSSxNQUFNLElBQUksUUFBUSxFQUFFLENBQUM7WUFDckIsTUFBTSxVQUFVLEdBQUcsWUFBWSxFQUFFLGlCQUFpQixDQUFDLE9BQU8sRUFBRTtnQkFDeEQsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLFFBQVEsRUFBRSxJQUFJO2dCQUNkLE1BQU0sRUFBRSxNQUFPO2dCQUNmLFFBQVE7YUFDWCxDQUFDLENBQUM7WUFDSCxJQUFJLFVBQVUsSUFBSSxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLHFCQUFxQixFQUFFLENBQUM7Z0JBQ2xGLFVBQVUsQ0FBQyxpQkFBeUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQy9FLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN2RCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxPQUFPLFVBQVUsQ0FBQztRQUN0QixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsT0FBZ0IsRUFBRSxVQUEyQyxFQUFFLEVBQUU7SUFDbkcsTUFBTSxJQUFJLEdBQUcscUJBQXFCLENBQUMsT0FBTyxFQUFFLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNFLE9BQU87UUFDSCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLElBQUk7UUFDSixJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxDQUFDLE9BQW9CLEVBQUUsS0FBMkIsRUFBRSxFQUFFO1lBQ3hELE1BQU0sYUFBYSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hFLE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQztZQUM5QixJQUFJLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRXRFLE1BQU0sWUFBWSxHQUFvQjtnQkFDbEMsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLEdBQUc7Z0JBQ3JCLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixZQUFZLEVBQUU7b0JBQ1YsR0FBRyxLQUFLLEVBQUU7b0JBQ1YsR0FBRyxFQUFFLFNBQVMsRUFBRTtvQkFDaEIsSUFBSSxFQUFFLFlBQVk7aUJBQ3JCO2FBQ0osQ0FBQztZQUNGLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QixDQUFDO0tBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJX1RBQkxFX0dSSURfRklFTERfU0VSVklDRV9NQVAsIEFJVGFibGUsIEFJVGFibGVGaWVsZFNldHRpbmcsIGlkQ3JlYXRvciB9IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcbmltcG9ydCB7IEVsZW1lbnRSZWYsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEFjdGlvbnMgfSBmcm9tICcuLi9hY3Rpb24nO1xuaW1wb3J0IHsgQUlWaWV3VGFibGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBnZW5lcmF0ZUNvcHlOYW1lIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgQUlUYWJsZVN0YXRlSTE4bktleSwgZ2V0U3RhdGVJMThuVGV4dEJ5S2V5IH0gZnJvbSAnLi4vdXRpbHMvaTE4bic7XG5pbXBvcnQgeyBBZGRGaWVsZE9wdGlvbnMsIEFJVGFibGVGaWVsZCB9IGZyb20gJ0BhaS10YWJsZS91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBEaXZpZGVyTWVudUl0ZW0gPSB7XG4gICAgdHlwZTogJ2RpdmlkZXInXG59O1xuXG5leHBvcnQgY29uc3QgRWRpdEZpZWxkUHJvcGVydHlJdGVtID0gKGFpVGFibGU6IEFJVGFibGUpID0+ICh7XG4gICAgdHlwZTogJ2VkaXRGaWVsZFByb3BlcnR5JyxcbiAgICBuYW1lOiBnZXRTdGF0ZUkxOG5UZXh0QnlLZXkoYWlUYWJsZSwgQUlUYWJsZVN0YXRlSTE4bktleS5lZGl0RmllbGQpLFxuICAgIGljb246ICdlZGl0JyxcbiAgICBleGVjOiAoXG4gICAgICAgIGFpVGFibGU6IEFJVmlld1RhYmxlLFxuICAgICAgICBmaWVsZDogU2lnbmFsPEFJVGFibGVGaWVsZD4sXG4gICAgICAgIG9yaWdpbj86IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZjxhbnk+LFxuICAgICAgICBwb3NpdGlvbj86IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfVxuICAgICkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZFNlcnZpY2UgPSBBSV9UQUJMRV9HUklEX0ZJRUxEX1NFUlZJQ0VfTUFQLmdldChhaVRhYmxlKTtcbiAgICAgICAgY29uc3QgY29weUZpZWxkOiBBSVRhYmxlRmllbGQgPSBfLmNsb25lRGVlcChmaWVsZCgpKTtcbiAgICAgICAgaWYgKG9yaWdpbiAmJiBwb3NpdGlvbikge1xuICAgICAgICAgICAgY29uc3QgcG9wb3ZlclJlZiA9IGZpZWxkU2VydmljZT8uZWRpdEZpZWxkUHJvcGVydHkoYWlUYWJsZSwge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBjb3B5RmllbGQsXG4gICAgICAgICAgICAgICAgaXNVcGRhdGU6IHRydWUsXG4gICAgICAgICAgICAgICAgb3JpZ2luOiBvcmlnaW4hLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChwb3BvdmVyUmVmICYmIGZpZWxkU2VydmljZSAmJiAhZmllbGRTZXJ2aWNlLmFpRmllbGRDb25maWc/LmZpZWxkU2V0dGluZ0NvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIChwb3BvdmVyUmVmLmNvbXBvbmVudEluc3RhbmNlIGFzIEFJVGFibGVGaWVsZFNldHRpbmcpLnNldEZpZWxkLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgQWN0aW9ucy5zZXRGaWVsZChhaVRhYmxlLCB2YWx1ZS5maWVsZCwgdmFsdWUucGF0aCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcG9wb3ZlclJlZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgQ29weUZpZWxkUHJvcGVydHlJdGVtID0gKGFpVGFibGU6IEFJVGFibGUsIGFkZEZpZWxkRm46IChkYXRhOiBBZGRGaWVsZE9wdGlvbnMpID0+IHZvaWQpID0+IHtcbiAgICBjb25zdCBuYW1lID0gZ2V0U3RhdGVJMThuVGV4dEJ5S2V5KGFpVGFibGUsIEFJVGFibGVTdGF0ZUkxOG5LZXkuY29weUZpZWxkKTtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAnY29weUZpZWxkUHJvcGVydHknLFxuICAgICAgICBuYW1lLFxuICAgICAgICBpY29uOiAnY29weScsXG4gICAgICAgIGV4ZWM6IChhaVRhYmxlOiBBSVZpZXdUYWJsZSwgZmllbGQ6IFNpZ25hbDxBSVRhYmxlRmllbGQ+KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhbGxGaWVsZE5hbWVzID0gKGFpVGFibGUuZmllbGRzKCkgfHwgW10pLm1hcCgoaXRlbSkgPT4gaXRlbS5uYW1lKTtcbiAgICAgICAgICAgIGNvbnN0IGNvcHlOYW1lID0gZmllbGQoKS5uYW1lO1xuICAgICAgICAgICAgbGV0IG5ld0ZpZWxkTmFtZSA9IGdlbmVyYXRlQ29weU5hbWUoYWlUYWJsZSwgYWxsRmllbGROYW1lcywgY29weU5hbWUpO1xuXG4gICAgICAgICAgICBjb25zdCBmaWVsZE9wdGlvbnM6IEFkZEZpZWxkT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICBvcmlnaW5JZDogZmllbGQoKS5faWQsXG4gICAgICAgICAgICAgICAgaXNEdXBsaWNhdGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmZpZWxkKCksXG4gICAgICAgICAgICAgICAgICAgIF9pZDogaWRDcmVhdG9yKCksXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IG5ld0ZpZWxkTmFtZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBhZGRGaWVsZEZuKGZpZWxkT3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICB9O1xufTtcbiJdfQ==
|
@@ -1,4 +0,0 @@
|
|
1
|
-
export * from './field-menu-item';
|
2
|
-
export * from './context-menu-item';
|
3
|
-
export * from './view';
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvY29uc3RhbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmllbGQtbWVudS1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC1tZW51LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3JztcbiJdfQ==
|
@@ -1,3 +0,0 @@
|
|
1
|
-
import { ActionName } from "@ai-table/utils";
|
2
|
-
export const VIEW_ACTIONS = [ActionName.SetView, ActionName.AddView, ActionName.RemoveView];
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy9jb25zdGFudHMvdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbk5hbWUgfSBmcm9tIFwiQGFpLXRhYmxlL3V0aWxzXCI7XG5cbmV4cG9ydCBjb25zdCBWSUVXX0FDVElPTlMgPSBbQWN0aW9uTmFtZS5TZXRWaWV3LCBBY3Rpb25OYW1lLkFkZFZpZXcsIEFjdGlvbk5hbWUuUmVtb3ZlVmlld107XG4iXX0=
|
package/esm2022/index.mjs
DELETED
@@ -1,2 +0,0 @@
|
|
1
|
-
export * from './public-api';
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknOyJdfQ==
|
@@ -1,20 +0,0 @@
|
|
1
|
-
import { Actions } from '../action';
|
2
|
-
import { FLUSHING } from '../utils';
|
3
|
-
export const withState = (aiTable) => {
|
4
|
-
const viewTable = aiTable;
|
5
|
-
viewTable.actions = [];
|
6
|
-
viewTable.apply = (action) => {
|
7
|
-
viewTable.actions.push(action);
|
8
|
-
Actions.transform(viewTable, action);
|
9
|
-
if (!FLUSHING.get(viewTable)) {
|
10
|
-
FLUSHING.set(viewTable, true);
|
11
|
-
Promise.resolve().then(() => {
|
12
|
-
FLUSHING.set(viewTable, false);
|
13
|
-
viewTable.onChange();
|
14
|
-
viewTable.actions = [];
|
15
|
-
});
|
16
|
-
}
|
17
|
-
};
|
18
|
-
return aiTable;
|
19
|
-
};
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3BsdWdpbnMvc3RhdGUucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdwQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxPQUFnQixFQUFFLEVBQUU7SUFDMUMsTUFBTSxTQUFTLEdBQUcsT0FBc0IsQ0FBQztJQUN6QyxTQUFTLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUV2QixTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsTUFBcUIsRUFBRSxFQUFFO1FBQ3hDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLE1BQXVCLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzNCLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzlCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUN4QixRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDL0IsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNyQixTQUFTLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDLENBQUM7SUFDRixPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgQUlWaWV3VGFibGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBBY3Rpb25zIH0gZnJvbSAnLi4vYWN0aW9uJztcbmltcG9ydCB7IEZMVVNISU5HIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgQUlUYWJsZUFjdGlvbiB9IGZyb20gJ0BhaS10YWJsZS91dGlscyc7XG5cbmV4cG9ydCBjb25zdCB3aXRoU3RhdGUgPSAoYWlUYWJsZTogQUlUYWJsZSkgPT4ge1xuICAgIGNvbnN0IHZpZXdUYWJsZSA9IGFpVGFibGUgYXMgQUlWaWV3VGFibGU7XG4gICAgdmlld1RhYmxlLmFjdGlvbnMgPSBbXTtcblxuICAgIHZpZXdUYWJsZS5hcHBseSA9IChhY3Rpb246IEFJVGFibGVBY3Rpb24pID0+IHtcbiAgICAgICAgdmlld1RhYmxlLmFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgICBBY3Rpb25zLnRyYW5zZm9ybSh2aWV3VGFibGUsIGFjdGlvbiBhcyBBSVRhYmxlQWN0aW9uKTtcblxuICAgICAgICBpZiAoIUZMVVNISU5HLmdldCh2aWV3VGFibGUpKSB7XG4gICAgICAgICAgICBGTFVTSElORy5zZXQodmlld1RhYmxlLCB0cnVlKTtcbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIEZMVVNISU5HLnNldCh2aWV3VGFibGUsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICB2aWV3VGFibGUub25DaGFuZ2UoKTtcbiAgICAgICAgICAgICAgICB2aWV3VGFibGUuYWN0aW9ucyA9IFtdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBhaVRhYmxlO1xufTtcbiJdfQ==
|
package/esm2022/public-api.mjs
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
export * from './shared';
|
2
|
-
export * from './types';
|
3
|
-
export * from './utils';
|
4
|
-
export * from './plugins/state.plugin';
|
5
|
-
export * from './action';
|
6
|
-
export * from './constants';
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9wbHVnaW5zL3N0YXRlLnBsdWdpbic7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cyc7Il19
|
package/esm2022/shared/index.mjs
DELETED
@@ -1,6 +0,0 @@
|
|
1
|
-
export * from './to-table';
|
2
|
-
export * from './to-yjs';
|
3
|
-
export * from './yjs-table';
|
4
|
-
export * from './utils';
|
5
|
-
export * from './undo-manager.service';
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RvLXRhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vdG8teWpzJztcbmV4cG9ydCAqIGZyb20gJy4veWpzLXRhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi91bmRvLW1hbmFnZXIuc2VydmljZSc7XG4iXX0=
|
@@ -1,29 +0,0 @@
|
|
1
|
-
import * as Y from 'yjs';
|
2
|
-
import { YjsAITable } from '../yjs-table';
|
3
|
-
import translateMapEvent from './map-event';
|
4
|
-
import { translateArrayEvent } from '@ai-table/utils';
|
5
|
-
export function translateYjsEvent(aiTable, sharedType, event) {
|
6
|
-
if (event instanceof Y.YArrayEvent) {
|
7
|
-
return translateArrayEvent(sharedType, event);
|
8
|
-
}
|
9
|
-
if (event instanceof Y.YMapEvent) {
|
10
|
-
return translateMapEvent(aiTable, sharedType, event);
|
11
|
-
}
|
12
|
-
return [];
|
13
|
-
}
|
14
|
-
export function applyEvents(aiTable, sharedType, events) {
|
15
|
-
events.forEach((event) => translateYjsEvent(aiTable, sharedType, event).forEach((item) => {
|
16
|
-
aiTable.apply(item);
|
17
|
-
}));
|
18
|
-
}
|
19
|
-
export function applyYjsEvents(aiTable, sharedType, events) {
|
20
|
-
if (YjsAITable.isUndo(aiTable)) {
|
21
|
-
applyEvents(aiTable, sharedType, events);
|
22
|
-
}
|
23
|
-
else {
|
24
|
-
YjsAITable.asRemote(aiTable, () => {
|
25
|
-
applyEvents(aiTable, sharedType, events);
|
26
|
-
});
|
27
|
-
}
|
28
|
-
}
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXRhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO0FBRXpCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxpQkFBaUIsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUE2QixtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxPQUFvQixFQUFFLFVBQXNCLEVBQUUsS0FBb0I7SUFDaEcsSUFBSSxLQUFLLFlBQVksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sbUJBQW1CLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxJQUFJLEtBQUssWUFBWSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDL0IsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQW9CLEVBQUUsVUFBc0IsRUFBRSxNQUF1QjtJQUM3RixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDckIsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFtQixFQUFFLEVBQUU7UUFDMUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDLENBQUMsQ0FDTCxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBb0IsRUFBRSxVQUFzQixFQUFFLE1BQXVCO0lBQ2hHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzdCLFdBQVcsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLENBQUM7U0FBTSxDQUFDO1FBQ0osVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQzlCLFdBQVcsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBZIGZyb20gJ3lqcyc7XG5pbXBvcnQgeyBBSVZpZXdUYWJsZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IFlqc0FJVGFibGUgfSBmcm9tICcuLi95anMtdGFibGUnO1xuaW1wb3J0IHRyYW5zbGF0ZU1hcEV2ZW50IGZyb20gJy4vbWFwLWV2ZW50JztcbmltcG9ydCB7IEFJVGFibGVBY3Rpb24sIFNoYXJlZFR5cGUsIHRyYW5zbGF0ZUFycmF5RXZlbnQgfSBmcm9tICdAYWktdGFibGUvdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNsYXRlWWpzRXZlbnQoYWlUYWJsZTogQUlWaWV3VGFibGUsIHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsIGV2ZW50OiBZLllFdmVudDxhbnk+KTogQUlUYWJsZUFjdGlvbltdIHtcbiAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBZLllBcnJheUV2ZW50KSB7XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGVBcnJheUV2ZW50KHNoYXJlZFR5cGUsIGV2ZW50KTtcbiAgICB9XG4gICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgWS5ZTWFwRXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZU1hcEV2ZW50KGFpVGFibGUsIHNoYXJlZFR5cGUsIGV2ZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlFdmVudHMoYWlUYWJsZTogQUlWaWV3VGFibGUsIHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsIGV2ZW50czogWS5ZRXZlbnQ8YW55PltdKSB7XG4gICAgZXZlbnRzLmZvckVhY2goKGV2ZW50KSA9PlxuICAgICAgICB0cmFuc2xhdGVZanNFdmVudChhaVRhYmxlLCBzaGFyZWRUeXBlLCBldmVudCkuZm9yRWFjaCgoaXRlbTogQUlUYWJsZUFjdGlvbikgPT4ge1xuICAgICAgICAgICAgYWlUYWJsZS5hcHBseShpdGVtKTtcbiAgICAgICAgfSlcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlZanNFdmVudHMoYWlUYWJsZTogQUlWaWV3VGFibGUsIHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsIGV2ZW50czogWS5ZRXZlbnQ8YW55PltdKTogdm9pZCB7XG4gICAgaWYgKFlqc0FJVGFibGUuaXNVbmRvKGFpVGFibGUpKSB7XG4gICAgICAgIGFwcGx5RXZlbnRzKGFpVGFibGUsIHNoYXJlZFR5cGUsIGV2ZW50cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgWWpzQUlUYWJsZS5hc1JlbW90ZShhaVRhYmxlLCAoKSA9PiB7XG4gICAgICAgICAgICBhcHBseUV2ZW50cyhhaVRhYmxlLCBzaGFyZWRUeXBlLCBldmVudHMpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
@@ -1,48 +0,0 @@
|
|
1
|
-
import * as Y from 'yjs';
|
2
|
-
import { getShareTypeNumberPath, ActionName } from '@ai-table/utils';
|
3
|
-
export default function translateMapEvent(aiTable, sharedType, event) {
|
4
|
-
const isFieldsTranslate = event.path.includes('fields');
|
5
|
-
const isViewTranslate = event.path.includes('views');
|
6
|
-
if (isViewTranslate || isFieldsTranslate) {
|
7
|
-
let [targetPath] = getShareTypeNumberPath(event.path);
|
8
|
-
let targetElement;
|
9
|
-
const targetSyncElement = event.target;
|
10
|
-
if (isFieldsTranslate) {
|
11
|
-
const field = sharedType.get('fields')?.get(targetPath);
|
12
|
-
const fieldId = field && field.get('_id');
|
13
|
-
targetElement = fieldId && aiTable.gridData().fields.find((item) => item._id === field.get('_id'));
|
14
|
-
}
|
15
|
-
if (isViewTranslate) {
|
16
|
-
targetElement = aiTable.views()[targetPath];
|
17
|
-
}
|
18
|
-
if (targetElement) {
|
19
|
-
const keyChanges = Array.from(event.changes.keys.entries());
|
20
|
-
const newProperties = {};
|
21
|
-
const properties = {};
|
22
|
-
const entries = keyChanges.map(([key, info]) => {
|
23
|
-
const value = targetSyncElement.get(key);
|
24
|
-
return [key, info.action === 'delete' ? null : value instanceof Y.AbstractType ? value.toJSON() : value];
|
25
|
-
});
|
26
|
-
for (const [key, value] of entries) {
|
27
|
-
const k = key;
|
28
|
-
newProperties[k] = value;
|
29
|
-
}
|
30
|
-
const oldEntries = keyChanges.map(([key]) => [key, targetElement[key]]);
|
31
|
-
for (const [key, value] of oldEntries) {
|
32
|
-
const k = key;
|
33
|
-
properties[k] = value;
|
34
|
-
}
|
35
|
-
const type = isFieldsTranslate ? ActionName.SetField : ActionName.SetView;
|
36
|
-
return [
|
37
|
-
{
|
38
|
-
type,
|
39
|
-
properties: properties,
|
40
|
-
newProperties: newProperties,
|
41
|
-
path: [targetElement._id]
|
42
|
-
}
|
43
|
-
];
|
44
|
-
}
|
45
|
-
}
|
46
|
-
return [];
|
47
|
-
}
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3NoYXJlZC90by10YWJsZS9tYXAtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7QUFFekIsT0FBTyxFQUF5RCxzQkFBc0IsRUFBaUIsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0ksTUFBTSxDQUFDLE9BQU8sVUFBVSxpQkFBaUIsQ0FBQyxPQUFvQixFQUFFLFVBQXNCLEVBQUUsS0FBMkI7SUFDL0csTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVyRCxJQUFJLGVBQWUsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFhLENBQUM7UUFDbEUsSUFBSSxhQUFhLENBQUM7UUFDbEIsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsTUFBb0IsQ0FBQztRQUNyRCxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDcEIsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFtQixDQUFDO1lBQzFFLE1BQU0sT0FBTyxHQUFHLEtBQUssSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFDLGFBQWEsR0FBRyxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3ZHLENBQUM7UUFFRCxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLGFBQWEsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVELElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEIsTUFBTSxVQUFVLEdBQXVFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNoSSxNQUFNLGFBQWEsR0FBd0MsRUFBRSxDQUFDO1lBQzlELE1BQU0sVUFBVSxHQUF3QyxFQUFFLENBQUM7WUFFM0QsTUFBTSxPQUFPLEdBQW9CLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO2dCQUM1RCxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3pDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxZQUFZLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0csQ0FBQyxDQUFDLENBQUM7WUFFSCxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sQ0FBQyxHQUFHLEdBQXlDLENBQUM7Z0JBQ3BELGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDN0IsQ0FBQztZQUVELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRyxhQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sQ0FBQyxHQUFHLEdBQXlDLENBQUM7Z0JBQ3BELFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDMUIsQ0FBQztZQUNELE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQzFFLE9BQU87Z0JBQ0g7b0JBQ0ksSUFBSTtvQkFDSixVQUFVLEVBQUUsVUFBVTtvQkFDdEIsYUFBYSxFQUFFLGFBQWE7b0JBQzVCLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUM7aUJBQzVCO2FBQ2UsQ0FBQztRQUN6QixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFkgZnJvbSAneWpzJztcbmltcG9ydCB7IEFJVmlld1RhYmxlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQUlUYWJsZVZpZXcsIEFJVGFibGVGaWVsZCwgU2hhcmVkVHlwZSwgU3luY01hcEVsZW1lbnQsIGdldFNoYXJlVHlwZU51bWJlclBhdGgsIEFJVGFibGVBY3Rpb24sIEFjdGlvbk5hbWUgfSBmcm9tICdAYWktdGFibGUvdXRpbHMnO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdHJhbnNsYXRlTWFwRXZlbnQoYWlUYWJsZTogQUlWaWV3VGFibGUsIHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsIGV2ZW50OiBZLllNYXBFdmVudDx1bmtub3duPik6IEFJVGFibGVBY3Rpb25bXSB7XG4gICAgY29uc3QgaXNGaWVsZHNUcmFuc2xhdGUgPSBldmVudC5wYXRoLmluY2x1ZGVzKCdmaWVsZHMnKTtcbiAgICBjb25zdCBpc1ZpZXdUcmFuc2xhdGUgPSBldmVudC5wYXRoLmluY2x1ZGVzKCd2aWV3cycpO1xuXG4gICAgaWYgKGlzVmlld1RyYW5zbGF0ZSB8fCBpc0ZpZWxkc1RyYW5zbGF0ZSkge1xuICAgICAgICBsZXQgW3RhcmdldFBhdGhdID0gZ2V0U2hhcmVUeXBlTnVtYmVyUGF0aChldmVudC5wYXRoKSBhcyBbbnVtYmVyXTtcbiAgICAgICAgbGV0IHRhcmdldEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHRhcmdldFN5bmNFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIFNoYXJlZFR5cGU7XG4gICAgICAgIGlmIChpc0ZpZWxkc1RyYW5zbGF0ZSkge1xuICAgICAgICAgICAgY29uc3QgZmllbGQgPSBzaGFyZWRUeXBlLmdldCgnZmllbGRzJyk/LmdldCh0YXJnZXRQYXRoKSBhcyBTeW5jTWFwRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkSWQgPSBmaWVsZCAmJiBmaWVsZC5nZXQoJ19pZCcpO1xuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudCA9IGZpZWxkSWQgJiYgYWlUYWJsZS5ncmlkRGF0YSgpLmZpZWxkcy5maW5kKChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gZmllbGQuZ2V0KCdfaWQnKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNWaWV3VHJhbnNsYXRlKSB7XG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50ID0gYWlUYWJsZS52aWV3cygpW3RhcmdldFBhdGhdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleUNoYW5nZXM6IFtzdHJpbmcsIHsgYWN0aW9uOiAnYWRkJyB8ICd1cGRhdGUnIHwgJ2RlbGV0ZSc7IG9sZFZhbHVlOiBhbnkgfV1bXSA9IEFycmF5LmZyb20oZXZlbnQuY2hhbmdlcy5rZXlzLmVudHJpZXMoKSk7XG4gICAgICAgICAgICBjb25zdCBuZXdQcm9wZXJ0aWVzOiBQYXJ0aWFsPEFJVGFibGVWaWV3IHwgQUlUYWJsZUZpZWxkPiA9IHt9O1xuICAgICAgICAgICAgY29uc3QgcHJvcGVydGllczogUGFydGlhbDxBSVRhYmxlVmlldyB8IEFJVGFibGVGaWVsZD4gPSB7fTtcblxuICAgICAgICAgICAgY29uc3QgZW50cmllczogW3N0cmluZywgYW55XVtdID0ga2V5Q2hhbmdlcy5tYXAoKFtrZXksIGluZm9dKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0YXJnZXRTeW5jRWxlbWVudC5nZXQoa2V5KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gW2tleSwgaW5mby5hY3Rpb24gPT09ICdkZWxldGUnID8gbnVsbCA6IHZhbHVlIGluc3RhbmNlb2YgWS5BYnN0cmFjdFR5cGUgPyB2YWx1ZS50b0pTT04oKSA6IHZhbHVlXTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBlbnRyaWVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgayA9IGtleSBhcyBrZXlvZiAoQUlUYWJsZVZpZXcgfCBBSVRhYmxlRmllbGQpO1xuICAgICAgICAgICAgICAgIG5ld1Byb3BlcnRpZXNba10gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgb2xkRW50cmllcyA9IGtleUNoYW5nZXMubWFwKChba2V5XSkgPT4gW2tleSwgKHRhcmdldEVsZW1lbnQgYXMgYW55KVtrZXldXSk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBvbGRFbnRyaWVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgayA9IGtleSBhcyBrZXlvZiAoQUlUYWJsZVZpZXcgfCBBSVRhYmxlRmllbGQpO1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXNba10gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBpc0ZpZWxkc1RyYW5zbGF0ZSA/IEFjdGlvbk5hbWUuU2V0RmllbGQgOiBBY3Rpb25OYW1lLlNldFZpZXc7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczogcHJvcGVydGllcyxcbiAgICAgICAgICAgICAgICAgICAgbmV3UHJvcGVydGllczogbmV3UHJvcGVydGllcyxcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogW3RhcmdldEVsZW1lbnQuX2lkXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0gYXMgQUlUYWJsZUFjdGlvbltdO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbXTtcbn1cbiJdfQ==
|
@@ -1,63 +0,0 @@
|
|
1
|
-
import { ActionName, getPositionsByRecordSyncElement, getSharedRecordIndex, setRecordPositions, getIdBySystemFieldValuesType, setRecordUpdatedInfo, toRecordSyncElement, toMapSyncElement } from '@ai-table/utils';
|
2
|
-
export default function addNode(aiTable, sharedType, action) {
|
3
|
-
const records = sharedType.get('records');
|
4
|
-
const views = sharedType.get('views');
|
5
|
-
const fields = sharedType.get('fields');
|
6
|
-
switch (action.type) {
|
7
|
-
case ActionName.AddRecord:
|
8
|
-
records && records.push([toRecordSyncElement(action.record, aiTable.fields())]);
|
9
|
-
break;
|
10
|
-
case ActionName.AddView:
|
11
|
-
views && views.push([toMapSyncElement(action.view)]);
|
12
|
-
break;
|
13
|
-
case ActionName.SetRecordPositions:
|
14
|
-
if (records) {
|
15
|
-
const recordIndex = getSharedRecordIndex(records, action.path[0]);
|
16
|
-
const record = records.get(recordIndex);
|
17
|
-
const positions = getPositionsByRecordSyncElement(record);
|
18
|
-
const newPositions = { ...positions };
|
19
|
-
for (const key in action.positions) {
|
20
|
-
if (action.positions[key] === null || action.positions[key] === undefined) {
|
21
|
-
delete newPositions[key];
|
22
|
-
}
|
23
|
-
else {
|
24
|
-
newPositions[key] = action.positions[key];
|
25
|
-
}
|
26
|
-
}
|
27
|
-
setRecordPositions(record, newPositions);
|
28
|
-
}
|
29
|
-
break;
|
30
|
-
case ActionName.UpdateSystemFieldValue:
|
31
|
-
if (records) {
|
32
|
-
const recordIndex = getSharedRecordIndex(records, action.path[0]);
|
33
|
-
const record = records.get(recordIndex);
|
34
|
-
if (action.updatedInfo.updated_at && action.updatedInfo.updated_by) {
|
35
|
-
setRecordUpdatedInfo(record, action.updatedInfo);
|
36
|
-
}
|
37
|
-
}
|
38
|
-
break;
|
39
|
-
case ActionName.AddField:
|
40
|
-
if (fields && records) {
|
41
|
-
const { field } = action;
|
42
|
-
const insertIndex = fields.length;
|
43
|
-
const fieldSyncElement = toMapSyncElement(field);
|
44
|
-
fields.insert(insertIndex, [fieldSyncElement]);
|
45
|
-
for (let value of records) {
|
46
|
-
const customFieldValues = value.get(1);
|
47
|
-
const systemFieldValues = value.get(0);
|
48
|
-
const recordEntity = aiTable.recordsMap()[getIdBySystemFieldValuesType(systemFieldValues)];
|
49
|
-
const newFieldValue = recordEntity.values[action.field._id];
|
50
|
-
// 幽灵单元格,暂不处理交给后端统一处理
|
51
|
-
if (insertIndex <= customFieldValues.length) {
|
52
|
-
customFieldValues.insert(insertIndex, [newFieldValue]);
|
53
|
-
}
|
54
|
-
else {
|
55
|
-
console.error('Field index out of bounds, cannot initialize record value for new field');
|
56
|
-
}
|
57
|
-
}
|
58
|
-
}
|
59
|
-
break;
|
60
|
-
}
|
61
|
-
return sharedType;
|
62
|
-
}
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXlqcy9hZGQtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0gsVUFBVSxFQU1WLCtCQUErQixFQUMvQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLDRCQUE0QixFQUM1QixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQU1uQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE1BQU0sQ0FBQyxPQUFPLFVBQVUsT0FBTyxDQUMzQixPQUFnQixFQUNoQixVQUFzQixFQUN0QixNQUEyRztJQUUzRyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBK0IsQ0FBQztJQUN4RSxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBRSxDQUFDO0lBQ3ZDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUE2QixDQUFDO0lBQ3BFLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLEtBQUssVUFBVSxDQUFDLFNBQVM7WUFDckIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsTUFBMkIsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFILE1BQU07UUFDVixLQUFLLFVBQVUsQ0FBQyxPQUFPO1lBQ25CLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRCxNQUFNO1FBQ1YsS0FBSyxVQUFVLENBQUMsa0JBQWtCO1lBQzlCLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1YsTUFBTSxXQUFXLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEUsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxTQUFTLEdBQUcsK0JBQStCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFELE1BQU0sWUFBWSxHQUFHLEVBQUUsR0FBRyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ2pDLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDeEUsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzdCLENBQUM7eUJBQU0sQ0FBQzt3QkFDSixZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDOUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELGtCQUFrQixDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztZQUM3QyxDQUFDO1lBQ0QsTUFBTTtRQUNWLEtBQUssVUFBVSxDQUFDLHNCQUFzQjtZQUNsQyxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNWLE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3hDLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDakUsb0JBQW9CLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxXQUF5RCxDQUFDLENBQUM7Z0JBQ25HLENBQUM7WUFDTCxDQUFDO1lBQ0QsTUFBTTtRQUNWLEtBQUssVUFBVSxDQUFDLFFBQVE7WUFDcEIsSUFBSSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLENBQUM7Z0JBQ3pCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQ2xDLE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pELE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO2dCQUMvQyxLQUFLLElBQUksS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUN4QixNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFpQixDQUFDO29CQUN2RCxNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7b0JBQzNGLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDNUQscUJBQXFCO29CQUNyQixJQUFJLFdBQVcsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDMUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7b0JBQzNELENBQUM7eUJBQU0sQ0FBQzt3QkFDSixPQUFPLENBQUMsS0FBSyxDQUFDLHlFQUF5RSxDQUFDLENBQUM7b0JBQzdGLENBQUM7Z0JBQ0wsQ0FBQztZQUNMLENBQUM7WUFDRCxNQUFNO0lBQ2QsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0ICogYXMgWSBmcm9tICd5anMnO1xuaW1wb3J0IHtcbiAgICBBY3Rpb25OYW1lLFxuICAgIEFkZEZpZWxkQWN0aW9uLFxuICAgIEFkZFJlY29yZEFjdGlvbixcbiAgICBTZXRSZWNvcmRQb3NpdGlvbkFjdGlvbixcbiAgICBBZGRWaWV3QWN0aW9uLFxuICAgIFVwZGF0ZVN5c3RlbUZpZWxkVmFsdWUsXG4gICAgZ2V0UG9zaXRpb25zQnlSZWNvcmRTeW5jRWxlbWVudCxcbiAgICBnZXRTaGFyZWRSZWNvcmRJbmRleCxcbiAgICBzZXRSZWNvcmRQb3NpdGlvbnMsXG4gICAgZ2V0SWRCeVN5c3RlbUZpZWxkVmFsdWVzVHlwZSxcbiAgICBzZXRSZWNvcmRVcGRhdGVkSW5mbyxcbiAgICB0b1JlY29yZFN5bmNFbGVtZW50LFxuICAgIHRvTWFwU3luY0VsZW1lbnQsXG4gICAgQUlUYWJsZVZpZXdGaWVsZHMsXG4gICAgQUlUYWJsZVZpZXdSZWNvcmQsXG4gICAgU2hhcmVkVHlwZSxcbiAgICBTeW5jQXJyYXlFbGVtZW50LFxuICAgIFN5bmNNYXBFbGVtZW50XG59IGZyb20gJ0BhaS10YWJsZS91dGlscyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFkZE5vZGUoXG4gICAgYWlUYWJsZTogQUlUYWJsZSxcbiAgICBzaGFyZWRUeXBlOiBTaGFyZWRUeXBlLFxuICAgIGFjdGlvbjogQWRkRmllbGRBY3Rpb24gfCBBZGRSZWNvcmRBY3Rpb24gfCBBZGRWaWV3QWN0aW9uIHwgU2V0UmVjb3JkUG9zaXRpb25BY3Rpb24gfCBVcGRhdGVTeXN0ZW1GaWVsZFZhbHVlXG4pOiBTaGFyZWRUeXBlIHtcbiAgICBjb25zdCByZWNvcmRzID0gc2hhcmVkVHlwZS5nZXQoJ3JlY29yZHMnKSEgYXMgWS5BcnJheTxTeW5jQXJyYXlFbGVtZW50PjtcbiAgICBjb25zdCB2aWV3cyA9IHNoYXJlZFR5cGUuZ2V0KCd2aWV3cycpITtcbiAgICBjb25zdCBmaWVsZHMgPSBzaGFyZWRUeXBlLmdldCgnZmllbGRzJykhIGFzIFkuQXJyYXk8U3luY01hcEVsZW1lbnQ+O1xuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLkFkZFJlY29yZDpcbiAgICAgICAgICAgIHJlY29yZHMgJiYgcmVjb3Jkcy5wdXNoKFt0b1JlY29yZFN5bmNFbGVtZW50KGFjdGlvbi5yZWNvcmQgYXMgQUlUYWJsZVZpZXdSZWNvcmQsIGFpVGFibGUuZmllbGRzKCkgYXMgQUlUYWJsZVZpZXdGaWVsZHMpXSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLkFkZFZpZXc6XG4gICAgICAgICAgICB2aWV3cyAmJiB2aWV3cy5wdXNoKFt0b01hcFN5bmNFbGVtZW50KGFjdGlvbi52aWV3KV0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5TZXRSZWNvcmRQb3NpdGlvbnM6XG4gICAgICAgICAgICBpZiAocmVjb3Jkcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZEluZGV4ID0gZ2V0U2hhcmVkUmVjb3JkSW5kZXgocmVjb3JkcywgYWN0aW9uLnBhdGhbMF0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZCA9IHJlY29yZHMuZ2V0KHJlY29yZEluZGV4KTtcbiAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbnMgPSBnZXRQb3NpdGlvbnNCeVJlY29yZFN5bmNFbGVtZW50KHJlY29yZCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3UG9zaXRpb25zID0geyAuLi5wb3NpdGlvbnMgfTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBhY3Rpb24ucG9zaXRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhY3Rpb24ucG9zaXRpb25zW2tleV0gPT09IG51bGwgfHwgYWN0aW9uLnBvc2l0aW9uc1trZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBuZXdQb3NpdGlvbnNba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Bvc2l0aW9uc1trZXldID0gYWN0aW9uLnBvc2l0aW9uc1trZXldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNldFJlY29yZFBvc2l0aW9ucyhyZWNvcmQsIG5ld1Bvc2l0aW9ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlVwZGF0ZVN5c3RlbUZpZWxkVmFsdWU6XG4gICAgICAgICAgICBpZiAocmVjb3Jkcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZEluZGV4ID0gZ2V0U2hhcmVkUmVjb3JkSW5kZXgocmVjb3JkcywgYWN0aW9uLnBhdGhbMF0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZCA9IHJlY29yZHMuZ2V0KHJlY29yZEluZGV4KTtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aW9uLnVwZGF0ZWRJbmZvLnVwZGF0ZWRfYXQgJiYgYWN0aW9uLnVwZGF0ZWRJbmZvLnVwZGF0ZWRfYnkpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0UmVjb3JkVXBkYXRlZEluZm8ocmVjb3JkLCBhY3Rpb24udXBkYXRlZEluZm8gYXMgeyB1cGRhdGVkX2F0OiBudW1iZXI7IHVwZGF0ZWRfYnk6IHN0cmluZyB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLkFkZEZpZWxkOlxuICAgICAgICAgICAgaWYgKGZpZWxkcyAmJiByZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBmaWVsZCB9ID0gYWN0aW9uO1xuICAgICAgICAgICAgICAgIGNvbnN0IGluc2VydEluZGV4ID0gZmllbGRzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZFN5bmNFbGVtZW50ID0gdG9NYXBTeW5jRWxlbWVudChmaWVsZCk7XG4gICAgICAgICAgICAgICAgZmllbGRzLmluc2VydChpbnNlcnRJbmRleCwgW2ZpZWxkU3luY0VsZW1lbnRdKTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCB2YWx1ZSBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1c3RvbUZpZWxkVmFsdWVzID0gdmFsdWUuZ2V0KDEpIGFzIFkuQXJyYXk8YW55PjtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3lzdGVtRmllbGRWYWx1ZXMgPSB2YWx1ZS5nZXQoMCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZEVudGl0eSA9IGFpVGFibGUucmVjb3Jkc01hcCgpW2dldElkQnlTeXN0ZW1GaWVsZFZhbHVlc1R5cGUoc3lzdGVtRmllbGRWYWx1ZXMpXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3RmllbGRWYWx1ZSA9IHJlY29yZEVudGl0eS52YWx1ZXNbYWN0aW9uLmZpZWxkLl9pZF07XG4gICAgICAgICAgICAgICAgICAgIC8vIOW5veeBteWNleWFg+agvO+8jOaaguS4jeWkhOeQhuS6pOe7meWQjuerr+e7n+S4gOWkhOeQhlxuICAgICAgICAgICAgICAgICAgICBpZiAoaW5zZXJ0SW5kZXggPD0gY3VzdG9tRmllbGRWYWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21GaWVsZFZhbHVlcy5pbnNlcnQoaW5zZXJ0SW5kZXgsIFtuZXdGaWVsZFZhbHVlXSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGaWVsZCBpbmRleCBvdXQgb2YgYm91bmRzLCBjYW5ub3QgaW5pdGlhbGl6ZSByZWNvcmQgdmFsdWUgZm9yIG5ldyBmaWVsZCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNoYXJlZFR5cGU7XG59XG4iXX0=
|
@@ -1,33 +0,0 @@
|
|
1
|
-
import updateFieldValue from './update-field-value';
|
2
|
-
import setNode from './set-node';
|
3
|
-
import addNode from './add-node';
|
4
|
-
import removeNode from './remove-node';
|
5
|
-
import { ActionName } from '@ai-table/utils';
|
6
|
-
export const actionMappers = {
|
7
|
-
[ActionName.AddRecord]: addNode,
|
8
|
-
[ActionName.UpdateFieldValue]: updateFieldValue,
|
9
|
-
[ActionName.RemoveRecord]: removeNode,
|
10
|
-
[ActionName.AddField]: addNode,
|
11
|
-
[ActionName.SetField]: setNode,
|
12
|
-
[ActionName.RemoveField]: removeNode,
|
13
|
-
[ActionName.SetView]: setNode,
|
14
|
-
[ActionName.AddView]: addNode,
|
15
|
-
[ActionName.RemoveView]: removeNode,
|
16
|
-
[ActionName.SetRecordPositions]: addNode,
|
17
|
-
[ActionName.UpdateSystemFieldValue]: addNode
|
18
|
-
};
|
19
|
-
export function applyActionOps(aiTable, sharedType, actions) {
|
20
|
-
if (actions.length > 0) {
|
21
|
-
sharedType.doc.transact(() => {
|
22
|
-
actions.forEach((action) => {
|
23
|
-
const apply = actionMappers[action.type];
|
24
|
-
if (apply) {
|
25
|
-
return apply(aiTable, sharedType, action);
|
26
|
-
}
|
27
|
-
return null;
|
28
|
-
});
|
29
|
-
}, aiTable);
|
30
|
-
}
|
31
|
-
return sharedType;
|
32
|
-
}
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXlqcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLGdCQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sT0FBTyxNQUFNLFlBQVksQ0FBQztBQUNqQyxPQUFPLE9BQU8sTUFBTSxZQUFZLENBQUM7QUFDakMsT0FBTyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQTZCLE1BQU0saUJBQWlCLENBQUM7QUFReEUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUErQjtJQUNyRCxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPO0lBQy9CLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsZ0JBQWdCO0lBQy9DLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVU7SUFDckMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTztJQUM5QixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPO0lBQzlCLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFVBQVU7SUFDcEMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTztJQUM3QixDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPO0lBQzdCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVU7SUFDbkMsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsRUFBRSxPQUFPO0lBQ3hDLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsT0FBTztDQUMvQyxDQUFDO0FBRUYsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUFnQixFQUFFLFVBQXNCLEVBQUUsT0FBd0I7SUFDN0YsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3JCLFVBQVUsQ0FBQyxHQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMxQixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3ZCLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUE2QixDQUFDO2dCQUNyRSxJQUFJLEtBQUssRUFBRSxDQUFDO29CQUNSLE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQzlDLENBQUM7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHVwZGF0ZUZpZWxkVmFsdWUgZnJvbSAnLi91cGRhdGUtZmllbGQtdmFsdWUnO1xuaW1wb3J0IHNldE5vZGUgZnJvbSAnLi9zZXQtbm9kZSc7XG5pbXBvcnQgYWRkTm9kZSBmcm9tICcuL2FkZC1ub2RlJztcbmltcG9ydCByZW1vdmVOb2RlIGZyb20gJy4vcmVtb3ZlLW5vZGUnO1xuaW1wb3J0IHsgQWN0aW9uTmFtZSwgQUlUYWJsZUFjdGlvbiwgU2hhcmVkVHlwZSB9IGZyb20gJ0BhaS10YWJsZS91dGlscyc7XG5cbmV4cG9ydCB0eXBlIEFjdGlvbk1hcHBlcjxPIGV4dGVuZHMgQUlUYWJsZUFjdGlvbiA9IEFJVGFibGVBY3Rpb24+ID0ge1xuICAgIFtLIGluIE9bJ3R5cGUnXV06IE8gZXh0ZW5kcyB7IHR5cGU6IEsgfSA/IEFwcGx5RnVuYzxPPiA6IG5ldmVyO1xufTtcblxuZXhwb3J0IHR5cGUgQXBwbHlGdW5jPE8gZXh0ZW5kcyBBSVRhYmxlQWN0aW9uID0gQUlUYWJsZUFjdGlvbj4gPSAoYWlUYWJsZTogQUlUYWJsZSwgc2hhcmVkVHlwZTogU2hhcmVkVHlwZSwgb3A6IE8pID0+IFNoYXJlZFR5cGU7XG5cbmV4cG9ydCBjb25zdCBhY3Rpb25NYXBwZXJzOiBQYXJ0aWFsPEFjdGlvbk1hcHBlcjxhbnk+PiA9IHtcbiAgICBbQWN0aW9uTmFtZS5BZGRSZWNvcmRdOiBhZGROb2RlLFxuICAgIFtBY3Rpb25OYW1lLlVwZGF0ZUZpZWxkVmFsdWVdOiB1cGRhdGVGaWVsZFZhbHVlLFxuICAgIFtBY3Rpb25OYW1lLlJlbW92ZVJlY29yZF06IHJlbW92ZU5vZGUsXG4gICAgW0FjdGlvbk5hbWUuQWRkRmllbGRdOiBhZGROb2RlLFxuICAgIFtBY3Rpb25OYW1lLlNldEZpZWxkXTogc2V0Tm9kZSxcbiAgICBbQWN0aW9uTmFtZS5SZW1vdmVGaWVsZF06IHJlbW92ZU5vZGUsXG4gICAgW0FjdGlvbk5hbWUuU2V0Vmlld106IHNldE5vZGUsXG4gICAgW0FjdGlvbk5hbWUuQWRkVmlld106IGFkZE5vZGUsXG4gICAgW0FjdGlvbk5hbWUuUmVtb3ZlVmlld106IHJlbW92ZU5vZGUsXG4gICAgW0FjdGlvbk5hbWUuU2V0UmVjb3JkUG9zaXRpb25zXTogYWRkTm9kZSxcbiAgICBbQWN0aW9uTmFtZS5VcGRhdGVTeXN0ZW1GaWVsZFZhbHVlXTogYWRkTm9kZVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5QWN0aW9uT3BzKGFpVGFibGU6IEFJVGFibGUsIHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsIGFjdGlvbnM6IEFJVGFibGVBY3Rpb25bXSk6IFNoYXJlZFR5cGUge1xuICAgIGlmIChhY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgc2hhcmVkVHlwZS5kb2MhLnRyYW5zYWN0KCgpID0+IHtcbiAgICAgICAgICAgIGFjdGlvbnMuZm9yRWFjaCgoYWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXBwbHkgPSBhY3Rpb25NYXBwZXJzW2FjdGlvbi50eXBlXSBhcyBBcHBseUZ1bmM8dHlwZW9mIGFjdGlvbj47XG4gICAgICAgICAgICAgICAgaWYgKGFwcGx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhcHBseShhaVRhYmxlLCBzaGFyZWRUeXBlLCBhY3Rpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBhaVRhYmxlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2hhcmVkVHlwZTtcbn1cbiJdfQ==
|
@@ -1,37 +0,0 @@
|
|
1
|
-
import { ActionName, getSharedMapValueIndex, getSharedRecordIndex } from '@ai-table/utils';
|
2
|
-
export default function removeNode(aiTable, sharedType, action) {
|
3
|
-
const fields = sharedType.get('fields');
|
4
|
-
const records = sharedType.get('records');
|
5
|
-
const views = sharedType.get('views');
|
6
|
-
switch (action.type) {
|
7
|
-
case ActionName.RemoveRecord:
|
8
|
-
if (records) {
|
9
|
-
const recordIndex = getSharedRecordIndex(records, action.path[0]);
|
10
|
-
if (recordIndex > -1) {
|
11
|
-
records.delete(recordIndex);
|
12
|
-
}
|
13
|
-
}
|
14
|
-
break;
|
15
|
-
case ActionName.RemoveView:
|
16
|
-
if (views) {
|
17
|
-
const viewIndex = getSharedMapValueIndex(views, action.path[0]);
|
18
|
-
if (viewIndex > -1) {
|
19
|
-
views.delete(viewIndex);
|
20
|
-
}
|
21
|
-
}
|
22
|
-
break;
|
23
|
-
case ActionName.RemoveField:
|
24
|
-
if (fields && records) {
|
25
|
-
const fieldIndex = getSharedMapValueIndex(fields, action.path[0]);
|
26
|
-
if (fieldIndex > -1) {
|
27
|
-
fields.delete(fieldIndex);
|
28
|
-
for (let value of records) {
|
29
|
-
value.get(1).delete(fieldIndex);
|
30
|
-
}
|
31
|
-
}
|
32
|
-
}
|
33
|
-
break;
|
34
|
-
}
|
35
|
-
return sharedType;
|
36
|
-
}
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXlqcy9yZW1vdmUtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsVUFBVSxFQUlWLHNCQUFzQixFQUN0QixvQkFBb0IsRUFJdkIsTUFBTSxpQkFBaUIsQ0FBQztBQUd6QixNQUFNLENBQUMsT0FBTyxVQUFVLFVBQVUsQ0FDOUIsT0FBZ0IsRUFDaEIsVUFBc0IsRUFDdEIsTUFBaUU7SUFFakUsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQTRCLENBQUM7SUFDbkUsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQThCLENBQUM7SUFDdkUsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQTZCLENBQUM7SUFFbEUsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsS0FBSyxVQUFVLENBQUMsWUFBWTtZQUN4QixJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNWLE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xFLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ25CLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ2hDLENBQUM7WUFDTCxDQUFDO1lBQ0QsTUFBTTtRQUNWLEtBQUssVUFBVSxDQUFDLFVBQVU7WUFDdEIsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDUixNQUFNLFNBQVMsR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoRSxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNqQixLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUM1QixDQUFDO1lBQ0wsQ0FBQztZQUNELE1BQU07UUFDVixLQUFLLFVBQVUsQ0FBQyxXQUFXO1lBQ3ZCLElBQUksTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNwQixNQUFNLFVBQVUsR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsRSxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNsQixNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUMxQixLQUFLLElBQUksS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO3dCQUN4QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDcEMsQ0FBQztnQkFDTCxDQUFDO1lBQ0wsQ0FBQztZQUNELE1BQU07SUFDZCxDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFkgZnJvbSAneWpzJztcbmltcG9ydCB7XG4gICAgQWN0aW9uTmFtZSxcbiAgICBSZW1vdmVGaWVsZEFjdGlvbixcbiAgICBSZW1vdmVSZWNvcmRBY3Rpb24sXG4gICAgUmVtb3ZlVmlld0FjdGlvbixcbiAgICBnZXRTaGFyZWRNYXBWYWx1ZUluZGV4LFxuICAgIGdldFNoYXJlZFJlY29yZEluZGV4LFxuICAgIFNoYXJlZFR5cGUsXG4gICAgU3luY0FycmF5RWxlbWVudCxcbiAgICBTeW5jTWFwRWxlbWVudFxufSBmcm9tICdAYWktdGFibGUvdXRpbHMnO1xuaW1wb3J0IHsgQUlUYWJsZSB9IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVtb3ZlTm9kZShcbiAgICBhaVRhYmxlOiBBSVRhYmxlLFxuICAgIHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsXG4gICAgYWN0aW9uOiBSZW1vdmVGaWVsZEFjdGlvbiB8IFJlbW92ZVJlY29yZEFjdGlvbiB8IFJlbW92ZVZpZXdBY3Rpb25cbik6IFNoYXJlZFR5cGUge1xuICAgIGNvbnN0IGZpZWxkcyA9IHNoYXJlZFR5cGUuZ2V0KCdmaWVsZHMnKSBhcyBZLkFycmF5PFN5bmNNYXBFbGVtZW50PjtcbiAgICBjb25zdCByZWNvcmRzID0gc2hhcmVkVHlwZS5nZXQoJ3JlY29yZHMnKSBhcyBZLkFycmF5PFN5bmNBcnJheUVsZW1lbnQ+O1xuICAgIGNvbnN0IHZpZXdzID0gc2hhcmVkVHlwZS5nZXQoJ3ZpZXdzJykhIGFzIFkuQXJyYXk8U3luY01hcEVsZW1lbnQ+O1xuXG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuUmVtb3ZlUmVjb3JkOlxuICAgICAgICAgICAgaWYgKHJlY29yZHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRJbmRleCA9IGdldFNoYXJlZFJlY29yZEluZGV4KHJlY29yZHMsIGFjdGlvbi5wYXRoWzBdKTtcbiAgICAgICAgICAgICAgICBpZiAocmVjb3JkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICByZWNvcmRzLmRlbGV0ZShyZWNvcmRJbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5SZW1vdmVWaWV3OlxuICAgICAgICAgICAgaWYgKHZpZXdzKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgdmlld0luZGV4ID0gZ2V0U2hhcmVkTWFwVmFsdWVJbmRleCh2aWV3cywgYWN0aW9uLnBhdGhbMF0pO1xuICAgICAgICAgICAgICAgIGlmICh2aWV3SW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICB2aWV3cy5kZWxldGUodmlld0luZGV4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlJlbW92ZUZpZWxkOlxuICAgICAgICAgICAgaWYgKGZpZWxkcyAmJiByZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IGdldFNoYXJlZE1hcFZhbHVlSW5kZXgoZmllbGRzLCBhY3Rpb24ucGF0aFswXSk7XG4gICAgICAgICAgICAgICAgaWYgKGZpZWxkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZHMuZGVsZXRlKGZpZWxkSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCB2YWx1ZSBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZS5nZXQoMSkuZGVsZXRlKGZpZWxkSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNoYXJlZFR5cGU7XG59XG4iXX0=
|
@@ -1,31 +0,0 @@
|
|
1
|
-
import { ActionName, getSharedMapValueIndex } from '@ai-table/utils';
|
2
|
-
export default function setNode(aiTable, sharedType, action) {
|
3
|
-
let sharedNodes;
|
4
|
-
if (action.type === ActionName.SetField) {
|
5
|
-
sharedNodes = sharedType.get('fields');
|
6
|
-
}
|
7
|
-
if (action.type === ActionName.SetView) {
|
8
|
-
sharedNodes = sharedType.get('views');
|
9
|
-
}
|
10
|
-
if (sharedNodes) {
|
11
|
-
let nodeIndex = getSharedMapValueIndex(sharedNodes, action.path[0]);
|
12
|
-
if (nodeIndex > -1) {
|
13
|
-
const node = sharedNodes.get(nodeIndex);
|
14
|
-
Object.entries(action.newProperties).forEach(([key, value]) => {
|
15
|
-
if (value == null) {
|
16
|
-
node.delete(key);
|
17
|
-
}
|
18
|
-
else {
|
19
|
-
node.set(key, value);
|
20
|
-
}
|
21
|
-
});
|
22
|
-
Object.entries(action.properties).forEach(([key]) => {
|
23
|
-
if (!action.newProperties.hasOwnProperty(key)) {
|
24
|
-
node.delete(key);
|
25
|
-
}
|
26
|
-
});
|
27
|
-
}
|
28
|
-
}
|
29
|
-
return sharedType;
|
30
|
-
}
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXlqcy9zZXQtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFpQyxzQkFBc0IsRUFBOEIsTUFBTSxpQkFBaUIsQ0FBQztBQUloSSxNQUFNLENBQUMsT0FBTyxVQUFVLE9BQU8sQ0FBQyxPQUFnQixFQUFFLFVBQXNCLEVBQUUsTUFBc0M7SUFDNUcsSUFBSSxXQUFXLENBQUM7SUFDaEIsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0QyxXQUFXLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQTZCLENBQUM7SUFDdkUsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUE2QixDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2QsSUFBSSxTQUFTLEdBQUcsc0JBQXNCLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFXLENBQUMsQ0FBQztRQUM5RSxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFtQixDQUFDO1lBQzFELE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQzFELElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO29CQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQixDQUFDO3FCQUFNLENBQUM7b0JBQ0osSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3pCLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JCLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbk5hbWUsIFNldEZpZWxkQWN0aW9uLCBTZXRWaWV3QWN0aW9uLCBnZXRTaGFyZWRNYXBWYWx1ZUluZGV4LCBTaGFyZWRUeXBlLCBTeW5jTWFwRWxlbWVudCB9IGZyb20gJ0BhaS10YWJsZS91dGlscyc7XG5pbXBvcnQgKiBhcyBZIGZyb20gJ3lqcyc7XG5pbXBvcnQgeyBBSVRhYmxlIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzZXROb2RlKGFpVGFibGU6IEFJVGFibGUsIHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsIGFjdGlvbjogU2V0RmllbGRBY3Rpb24gfCBTZXRWaWV3QWN0aW9uKTogU2hhcmVkVHlwZSB7XG4gICAgbGV0IHNoYXJlZE5vZGVzO1xuICAgIGlmIChhY3Rpb24udHlwZSA9PT0gQWN0aW9uTmFtZS5TZXRGaWVsZCkge1xuICAgICAgICBzaGFyZWROb2RlcyA9IHNoYXJlZFR5cGUuZ2V0KCdmaWVsZHMnKSEgYXMgWS5BcnJheTxTeW5jTWFwRWxlbWVudD47XG4gICAgfVxuXG4gICAgaWYgKGFjdGlvbi50eXBlID09PSBBY3Rpb25OYW1lLlNldFZpZXcpIHtcbiAgICAgICAgc2hhcmVkTm9kZXMgPSBzaGFyZWRUeXBlLmdldCgndmlld3MnKSEgYXMgWS5BcnJheTxTeW5jTWFwRWxlbWVudD47XG4gICAgfVxuXG4gICAgaWYgKHNoYXJlZE5vZGVzKSB7XG4gICAgICAgIGxldCBub2RlSW5kZXggPSBnZXRTaGFyZWRNYXBWYWx1ZUluZGV4KHNoYXJlZE5vZGVzLCBhY3Rpb24ucGF0aFswXSBhcyBzdHJpbmcpO1xuICAgICAgICBpZiAobm9kZUluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBzaGFyZWROb2Rlcy5nZXQobm9kZUluZGV4KSBhcyBTeW5jTWFwRWxlbWVudDtcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGFjdGlvbi5uZXdQcm9wZXJ0aWVzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBub2RlLmRlbGV0ZShrZXkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGUuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoYWN0aW9uLnByb3BlcnRpZXMpLmZvckVhY2goKFtrZXldKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFhY3Rpb24ubmV3UHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGUuZGVsZXRlKGtleSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHNoYXJlZFR5cGU7XG59XG4iXX0=
|
@@ -1,23 +0,0 @@
|
|
1
|
-
import { getSharedMapValueIndex, getSharedRecordIndex } from '@ai-table/utils';
|
2
|
-
export default function updateFieldValue(aiTable, sharedType, action) {
|
3
|
-
const sharedRecords = sharedType.get('records');
|
4
|
-
const sharedFields = sharedType.get('fields');
|
5
|
-
if (sharedRecords && sharedFields) {
|
6
|
-
const recordIndex = getSharedRecordIndex(sharedRecords, action.path[0]);
|
7
|
-
const fieldIndex = getSharedMapValueIndex(sharedFields, action.path[1]);
|
8
|
-
if (recordIndex > -1 && fieldIndex > -1) {
|
9
|
-
const record = sharedRecords?.get(recordIndex);
|
10
|
-
const customField = record.get(1);
|
11
|
-
if (fieldIndex < customField.length) {
|
12
|
-
customField.delete(fieldIndex);
|
13
|
-
customField.insert(fieldIndex, [action.newFieldValue]);
|
14
|
-
}
|
15
|
-
else {
|
16
|
-
// 幽灵单元格,协同的后端会对这样的数据进行纠正,但是在纠正同步到位之前,前端可能会出现幽灵单元格
|
17
|
-
console.error('Field index out of bounds, cannot update field value');
|
18
|
-
}
|
19
|
-
}
|
20
|
-
}
|
21
|
-
return sharedType;
|
22
|
-
}
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWZpZWxkLXZhbHVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3NoYXJlZC90by15anMvdXBkYXRlLWZpZWxkLXZhbHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFFSCxzQkFBc0IsRUFDdEIsb0JBQW9CLEVBSXZCLE1BQU0saUJBQWlCLENBQUM7QUFFekIsTUFBTSxDQUFDLE9BQU8sVUFBVSxnQkFBZ0IsQ0FBQyxPQUFnQixFQUFFLFVBQXNCLEVBQUUsTUFBOEI7SUFDN0csTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBRSxDQUFDO0lBQy9DLElBQUksYUFBYSxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLGFBQTBDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JHLE1BQU0sVUFBVSxHQUFHLHNCQUFzQixDQUFDLFlBQXVDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25HLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sTUFBTSxHQUFHLGFBQWEsRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFxQixDQUFDO1lBQ25FLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEMsSUFBSSxVQUFVLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNsQyxXQUFXLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMvQixXQUFXLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQzNELENBQUM7aUJBQU0sQ0FBQztnQkFDSixrREFBa0Q7Z0JBQ2xELE9BQU8sQ0FBQyxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztZQUMxRSxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLFVBQVUsQ0FBQztBQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZSB9IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcbmltcG9ydCAqIGFzIFkgZnJvbSAneWpzJztcbmltcG9ydCB7XG4gICAgVXBkYXRlRmllbGRWYWx1ZUFjdGlvbixcbiAgICBnZXRTaGFyZWRNYXBWYWx1ZUluZGV4LFxuICAgIGdldFNoYXJlZFJlY29yZEluZGV4LFxuICAgIFNoYXJlZFR5cGUsXG4gICAgU3luY0FycmF5RWxlbWVudCxcbiAgICBTeW5jTWFwRWxlbWVudFxufSBmcm9tICdAYWktdGFibGUvdXRpbHMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1cGRhdGVGaWVsZFZhbHVlKGFpVGFibGU6IEFJVGFibGUsIHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsIGFjdGlvbjogVXBkYXRlRmllbGRWYWx1ZUFjdGlvbik6IFNoYXJlZFR5cGUge1xuICAgIGNvbnN0IHNoYXJlZFJlY29yZHMgPSBzaGFyZWRUeXBlLmdldCgncmVjb3JkcycpO1xuICAgIGNvbnN0IHNoYXJlZEZpZWxkcyA9IHNoYXJlZFR5cGUuZ2V0KCdmaWVsZHMnKSE7XG4gICAgaWYgKHNoYXJlZFJlY29yZHMgJiYgc2hhcmVkRmllbGRzKSB7XG4gICAgICAgIGNvbnN0IHJlY29yZEluZGV4ID0gZ2V0U2hhcmVkUmVjb3JkSW5kZXgoc2hhcmVkUmVjb3JkcyBhcyBZLkFycmF5PFN5bmNBcnJheUVsZW1lbnQ+LCBhY3Rpb24ucGF0aFswXSk7XG4gICAgICAgIGNvbnN0IGZpZWxkSW5kZXggPSBnZXRTaGFyZWRNYXBWYWx1ZUluZGV4KHNoYXJlZEZpZWxkcyBhcyBZLkFycmF5PFN5bmNNYXBFbGVtZW50PiwgYWN0aW9uLnBhdGhbMV0pO1xuICAgICAgICBpZiAocmVjb3JkSW5kZXggPiAtMSAmJiBmaWVsZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlY29yZCA9IHNoYXJlZFJlY29yZHM/LmdldChyZWNvcmRJbmRleCkgYXMgU3luY0FycmF5RWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbUZpZWxkID0gcmVjb3JkLmdldCgxKTtcbiAgICAgICAgICAgIGlmIChmaWVsZEluZGV4IDwgY3VzdG9tRmllbGQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY3VzdG9tRmllbGQuZGVsZXRlKGZpZWxkSW5kZXgpO1xuICAgICAgICAgICAgICAgIGN1c3RvbUZpZWxkLmluc2VydChmaWVsZEluZGV4LCBbYWN0aW9uLm5ld0ZpZWxkVmFsdWVdKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8g5bm954G15Y2V5YWD5qC877yM5Y2P5ZCM55qE5ZCO56uv5Lya5a+56L+Z5qC355qE5pWw5o2u6L+b6KGM57qg5q2j77yM5L2G5piv5Zyo57qg5q2j5ZCM5q2l5Yiw5L2N5LmL5YmN77yM5YmN56uv5Y+v6IO95Lya5Ye6546w5bm954G15Y2V5YWD5qC8XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmllbGQgaW5kZXggb3V0IG9mIGJvdW5kcywgY2Fubm90IHVwZGF0ZSBmaWVsZCB2YWx1ZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNoYXJlZFR5cGU7XG59XG4iXX0=
|
@@ -1,60 +0,0 @@
|
|
1
|
-
import { Injectable, signal } from '@angular/core';
|
2
|
-
import { UndoManager } from 'yjs';
|
3
|
-
import { YjsAITable } from './yjs-table';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
export class UndoManagerService {
|
6
|
-
constructor() {
|
7
|
-
this._undoManager = null;
|
8
|
-
this._canUndoCount = signal(0);
|
9
|
-
this._canRedoCount = signal(0);
|
10
|
-
this._aiTable = null;
|
11
|
-
}
|
12
|
-
get undoManager() {
|
13
|
-
return this._undoManager;
|
14
|
-
}
|
15
|
-
get canUndoCount() {
|
16
|
-
return this._canUndoCount;
|
17
|
-
}
|
18
|
-
get canRedoCount() {
|
19
|
-
return this._canRedoCount;
|
20
|
-
}
|
21
|
-
initialize(sharedType, aiTable) {
|
22
|
-
if (!sharedType || !aiTable) {
|
23
|
-
return;
|
24
|
-
}
|
25
|
-
this._aiTable = aiTable;
|
26
|
-
this._undoManager = new UndoManager(sharedType, {
|
27
|
-
trackedOrigins: new Set([aiTable]),
|
28
|
-
captureTimeout: 300
|
29
|
-
});
|
30
|
-
this._undoManager.on('stack-item-added', () => {
|
31
|
-
this._canUndoCount.set(this._undoManager.undoStack.length);
|
32
|
-
this._canRedoCount.set(this._undoManager.redoStack.length);
|
33
|
-
});
|
34
|
-
this._undoManager.on('stack-item-popped', () => {
|
35
|
-
this._canUndoCount.set(this._undoManager.undoStack.length);
|
36
|
-
this._canRedoCount.set(this._undoManager.redoStack.length);
|
37
|
-
});
|
38
|
-
}
|
39
|
-
undo() {
|
40
|
-
if (this._undoManager?.canUndo()) {
|
41
|
-
YjsAITable.asUndo(this._aiTable, () => this._undoManager.undo());
|
42
|
-
}
|
43
|
-
}
|
44
|
-
redo() {
|
45
|
-
if (this._undoManager?.canRedo()) {
|
46
|
-
YjsAITable.asUndo(this._aiTable, () => this._undoManager.redo());
|
47
|
-
}
|
48
|
-
}
|
49
|
-
destroy() {
|
50
|
-
this._undoManager = null;
|
51
|
-
this._canUndoCount.set(0);
|
52
|
-
this._canRedoCount.set(0);
|
53
|
-
}
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UndoManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
55
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UndoManagerService }); }
|
56
|
-
}
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UndoManagerService, decorators: [{
|
58
|
-
type: Injectable
|
59
|
-
}] });
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5kby1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3VuZG8tbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRWxDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3pDLE1BQU0sT0FBTyxrQkFBa0I7SUFEL0I7UUFFWSxpQkFBWSxHQUF1QixJQUFJLENBQUM7UUFDeEMsa0JBQWEsR0FBMkIsTUFBTSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzFELGtCQUFhLEdBQTJCLE1BQU0sQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUMxRCxhQUFRLEdBQXVCLElBQUksQ0FBQztLQW9EL0M7SUFsREcsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsVUFBVSxDQUFDLFVBQXNCLEVBQUUsT0FBb0I7UUFDbkQsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzFCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLEVBQUU7WUFDNUMsY0FBYyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEMsY0FBYyxFQUFFLEdBQUc7U0FDdEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO1lBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1lBQzNDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUMvQixVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQy9CLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQzsrR0F2RFEsa0JBQWtCO21IQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbmRvTWFuYWdlciB9IGZyb20gJ3lqcyc7XG5pbXBvcnQgeyBBSVZpZXdUYWJsZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFlqc0FJVGFibGUgfSBmcm9tICcuL3lqcy10YWJsZSc7XG5pbXBvcnQgeyBTaGFyZWRUeXBlIH0gZnJvbSAnQGFpLXRhYmxlL3V0aWxzJztcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVbmRvTWFuYWdlclNlcnZpY2Uge1xuICAgIHByaXZhdGUgX3VuZG9NYW5hZ2VyOiBVbmRvTWFuYWdlciB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgX2NhblVuZG9Db3VudDogV3JpdGFibGVTaWduYWw8bnVtYmVyPiA9IHNpZ25hbDxudW1iZXI+KDApO1xuICAgIHByaXZhdGUgX2NhblJlZG9Db3VudDogV3JpdGFibGVTaWduYWw8bnVtYmVyPiA9IHNpZ25hbDxudW1iZXI+KDApO1xuICAgIHByaXZhdGUgX2FpVGFibGU6IEFJVmlld1RhYmxlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBnZXQgdW5kb01hbmFnZXIoKTogVW5kb01hbmFnZXIgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VuZG9NYW5hZ2VyO1xuICAgIH1cblxuICAgIGdldCBjYW5VbmRvQ291bnQoKTogV3JpdGFibGVTaWduYWw8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYW5VbmRvQ291bnQ7XG4gICAgfVxuXG4gICAgZ2V0IGNhblJlZG9Db3VudCgpOiBXcml0YWJsZVNpZ25hbDxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NhblJlZG9Db3VudDtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsIGFpVGFibGU6IEFJVmlld1RhYmxlKSB7XG4gICAgICAgIGlmICghc2hhcmVkVHlwZSB8fCAhYWlUYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2FpVGFibGUgPSBhaVRhYmxlO1xuICAgICAgICB0aGlzLl91bmRvTWFuYWdlciA9IG5ldyBVbmRvTWFuYWdlcihzaGFyZWRUeXBlLCB7XG4gICAgICAgICAgICB0cmFja2VkT3JpZ2luczogbmV3IFNldChbYWlUYWJsZV0pLFxuICAgICAgICAgICAgY2FwdHVyZVRpbWVvdXQ6IDMwMFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl91bmRvTWFuYWdlci5vbignc3RhY2staXRlbS1hZGRlZCcsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2NhblVuZG9Db3VudC5zZXQodGhpcy5fdW5kb01hbmFnZXIhLnVuZG9TdGFjay5sZW5ndGgpO1xuICAgICAgICAgICAgdGhpcy5fY2FuUmVkb0NvdW50LnNldCh0aGlzLl91bmRvTWFuYWdlciEucmVkb1N0YWNrLmxlbmd0aCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3VuZG9NYW5hZ2VyLm9uKCdzdGFjay1pdGVtLXBvcHBlZCcsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2NhblVuZG9Db3VudC5zZXQodGhpcy5fdW5kb01hbmFnZXIhLnVuZG9TdGFjay5sZW5ndGgpO1xuICAgICAgICAgICAgdGhpcy5fY2FuUmVkb0NvdW50LnNldCh0aGlzLl91bmRvTWFuYWdlciEucmVkb1N0YWNrLmxlbmd0aCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHVuZG8oKSB7XG4gICAgICAgIGlmICh0aGlzLl91bmRvTWFuYWdlcj8uY2FuVW5kbygpKSB7XG4gICAgICAgICAgICBZanNBSVRhYmxlLmFzVW5kbyh0aGlzLl9haVRhYmxlISwgKCkgPT4gdGhpcy5fdW5kb01hbmFnZXIhLnVuZG8oKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWRvKCkge1xuICAgICAgICBpZiAodGhpcy5fdW5kb01hbmFnZXI/LmNhblJlZG8oKSkge1xuICAgICAgICAgICAgWWpzQUlUYWJsZS5hc1VuZG8odGhpcy5fYWlUYWJsZSEsICgpID0+IHRoaXMuX3VuZG9NYW5hZ2VyIS5yZWRvKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fdW5kb01hbmFnZXIgPSBudWxsO1xuICAgICAgICB0aGlzLl9jYW5VbmRvQ291bnQuc2V0KDApO1xuICAgICAgICB0aGlzLl9jYW5SZWRvQ291bnQuc2V0KDApO1xuICAgIH1cbn1cbiJdfQ==
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export * from './initialize';
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbml0aWFsaXplJztcbiJdfQ==
|
@@ -1,51 +0,0 @@
|
|
1
|
-
import * as Y from 'yjs';
|
2
|
-
import { AI_TABLE_CONTENT_FIELD_NAME, toMapSyncElement, getIdBySystemFieldValues, getPositionsBySystemFieldValues, getShortIdBySystemFieldValues, getTrackableEntityBySystemFieldValues, getValuesByCustomFieldValues, toRecordSyncElement } from '@ai-table/utils';
|
3
|
-
export const createSharedType = (fieldName = AI_TABLE_CONTENT_FIELD_NAME) => {
|
4
|
-
const doc = new Y.Doc();
|
5
|
-
const sharedType = doc.getMap(fieldName);
|
6
|
-
return sharedType;
|
7
|
-
};
|
8
|
-
export const getDataBySharedType = (sharedType) => {
|
9
|
-
const data = sharedType.toJSON();
|
10
|
-
const fields = data['fields'];
|
11
|
-
const records = getRecordsBySharedJson(data['records'], fields);
|
12
|
-
const views = data['views'];
|
13
|
-
return {
|
14
|
-
records,
|
15
|
-
fields,
|
16
|
-
views
|
17
|
-
};
|
18
|
-
};
|
19
|
-
export const getSharedTypeByData = (doc, initializeValue) => {
|
20
|
-
const sharedType = doc.getMap(AI_TABLE_CONTENT_FIELD_NAME);
|
21
|
-
toSharedType(sharedType, initializeValue);
|
22
|
-
return sharedType;
|
23
|
-
};
|
24
|
-
export function toSharedType(sharedType, data) {
|
25
|
-
sharedType.doc.transact(() => {
|
26
|
-
const fieldSharedType = new Y.Array();
|
27
|
-
fieldSharedType.insert(0, data.fields.map(toMapSyncElement));
|
28
|
-
sharedType.set('fields', fieldSharedType);
|
29
|
-
const recordSharedType = new Y.Array();
|
30
|
-
sharedType.set('records', recordSharedType);
|
31
|
-
recordSharedType.insert(0, data.records.map((record) => {
|
32
|
-
return toRecordSyncElement(record, data.fields);
|
33
|
-
}));
|
34
|
-
const viewsSharedType = new Y.Array();
|
35
|
-
sharedType.set('views', viewsSharedType);
|
36
|
-
viewsSharedType.insert(0, data.views.map(toMapSyncElement));
|
37
|
-
});
|
38
|
-
}
|
39
|
-
export const getRecordsBySharedJson = (recordJsonArray, fields) => {
|
40
|
-
return recordJsonArray.map((record) => {
|
41
|
-
const [systemFieldValues, customFieldValues] = record;
|
42
|
-
return {
|
43
|
-
_id: getIdBySystemFieldValues(systemFieldValues),
|
44
|
-
short_id: getShortIdBySystemFieldValues(systemFieldValues),
|
45
|
-
...getTrackableEntityBySystemFieldValues(systemFieldValues),
|
46
|
-
positions: getPositionsBySystemFieldValues(systemFieldValues),
|
47
|
-
values: getValuesByCustomFieldValues(customFieldValues, fields)
|
48
|
-
};
|
49
|
-
});
|
50
|
-
};
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy9zaGFyZWQvdXRpbHMvaW5pdGlhbGl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztBQUN6QixPQUFPLEVBQ0gsMkJBQTJCLEVBTTNCLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsK0JBQStCLEVBQy9CLDZCQUE2QixFQUM3QixxQ0FBcUMsRUFDckMsNEJBQTRCLEVBQzVCLG1CQUFtQixFQUN0QixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsWUFBb0IsMkJBQTJCLEVBQUUsRUFBRTtJQUNoRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN4QixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFNLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsVUFBc0IsRUFBRSxFQUFFO0lBQzFELE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNqQyxNQUFNLE1BQU0sR0FBc0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sT0FBTyxHQUF1QixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEYsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVCLE9BQU87UUFDSCxPQUFPO1FBQ1AsTUFBTTtRQUNOLEtBQUs7S0FDUixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FDL0IsR0FBVSxFQUNWLGVBSUMsRUFDSCxFQUFFO0lBQ0EsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBTSwyQkFBMkIsQ0FBQyxDQUFDO0lBQ2hFLFlBQVksQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDMUMsT0FBTyxVQUFVLENBQUM7QUFDdEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLFlBQVksQ0FDeEIsVUFBc0IsRUFDdEIsSUFJQztJQUVELFVBQVUsQ0FBQyxHQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUMxQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDN0QsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDMUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQWdCLENBQUM7UUFDckQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxnQkFBZ0IsQ0FBQyxNQUFNLENBQ25CLENBQUMsRUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3hCLE9BQU8sbUJBQW1CLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBQ0YsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDekMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsZUFBdUMsRUFBRSxNQUF5QixFQUFzQixFQUFFO0lBQzdILE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQTRCLEVBQUUsRUFBRTtRQUN4RCxNQUFNLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDdEQsT0FBTztZQUNILEdBQUcsRUFBRSx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQztZQUNoRCxRQUFRLEVBQUUsNkJBQTZCLENBQUMsaUJBQWlCLENBQUM7WUFDMUQsR0FBRyxxQ0FBcUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUMzRCxTQUFTLEVBQUUsK0JBQStCLENBQUMsaUJBQWlCLENBQUM7WUFDN0QsTUFBTSxFQUFFLDRCQUE0QixDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztTQUNsRSxDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBZIGZyb20gJ3lqcyc7XG5pbXBvcnQge1xuICAgIEFJX1RBQkxFX0NPTlRFTlRfRklFTERfTkFNRSxcbiAgICBBSVRhYmxlVmlld0ZpZWxkcyxcbiAgICBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgQUlUYWJsZVZpZXdzLFxuICAgIFNoYXJlZFJlY29yZEpzb25UeXBlLFxuICAgIFNoYXJlZFR5cGUsXG4gICAgdG9NYXBTeW5jRWxlbWVudCxcbiAgICBnZXRJZEJ5U3lzdGVtRmllbGRWYWx1ZXMsXG4gICAgZ2V0UG9zaXRpb25zQnlTeXN0ZW1GaWVsZFZhbHVlcyxcbiAgICBnZXRTaG9ydElkQnlTeXN0ZW1GaWVsZFZhbHVlcyxcbiAgICBnZXRUcmFja2FibGVFbnRpdHlCeVN5c3RlbUZpZWxkVmFsdWVzLFxuICAgIGdldFZhbHVlc0J5Q3VzdG9tRmllbGRWYWx1ZXMsXG4gICAgdG9SZWNvcmRTeW5jRWxlbWVudFxufSBmcm9tICdAYWktdGFibGUvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2hhcmVkVHlwZSA9IChmaWVsZE5hbWU6IHN0cmluZyA9IEFJX1RBQkxFX0NPTlRFTlRfRklFTERfTkFNRSkgPT4ge1xuICAgIGNvbnN0IGRvYyA9IG5ldyBZLkRvYygpO1xuICAgIGNvbnN0IHNoYXJlZFR5cGUgPSBkb2MuZ2V0TWFwPGFueT4oZmllbGROYW1lKTtcbiAgICByZXR1cm4gc2hhcmVkVHlwZTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXREYXRhQnlTaGFyZWRUeXBlID0gKHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUpID0+IHtcbiAgICBjb25zdCBkYXRhID0gc2hhcmVkVHlwZS50b0pTT04oKTtcbiAgICBjb25zdCBmaWVsZHM6IEFJVGFibGVWaWV3RmllbGRzID0gZGF0YVsnZmllbGRzJ107XG4gICAgY29uc3QgcmVjb3JkczogQUlUYWJsZVZpZXdSZWNvcmRzID0gZ2V0UmVjb3Jkc0J5U2hhcmVkSnNvbihkYXRhWydyZWNvcmRzJ10sIGZpZWxkcyk7XG4gICAgY29uc3Qgdmlld3MgPSBkYXRhWyd2aWV3cyddO1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlY29yZHMsXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgdmlld3NcbiAgICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFNoYXJlZFR5cGVCeURhdGEgPSAoXG4gICAgZG9jOiBZLkRvYyxcbiAgICBpbml0aWFsaXplVmFsdWU6IHtcbiAgICAgICAgZmllbGRzOiBBSVRhYmxlVmlld0ZpZWxkcztcbiAgICAgICAgcmVjb3JkczogQUlUYWJsZVZpZXdSZWNvcmRzO1xuICAgICAgICB2aWV3czogQUlUYWJsZVZpZXdzO1xuICAgIH1cbikgPT4ge1xuICAgIGNvbnN0IHNoYXJlZFR5cGUgPSBkb2MuZ2V0TWFwPGFueT4oQUlfVEFCTEVfQ09OVEVOVF9GSUVMRF9OQU1FKTtcbiAgICB0b1NoYXJlZFR5cGUoc2hhcmVkVHlwZSwgaW5pdGlhbGl6ZVZhbHVlKTtcbiAgICByZXR1cm4gc2hhcmVkVHlwZTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1NoYXJlZFR5cGUoXG4gICAgc2hhcmVkVHlwZTogWS5NYXA8YW55PixcbiAgICBkYXRhOiB7XG4gICAgICAgIGZpZWxkczogQUlUYWJsZVZpZXdGaWVsZHM7XG4gICAgICAgIHJlY29yZHM6IEFJVGFibGVWaWV3UmVjb3JkcztcbiAgICAgICAgdmlld3M6IEFJVGFibGVWaWV3cztcbiAgICB9XG4pOiB2b2lkIHtcbiAgICBzaGFyZWRUeXBlLmRvYyEudHJhbnNhY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZFNoYXJlZFR5cGUgPSBuZXcgWS5BcnJheSgpO1xuICAgICAgICBmaWVsZFNoYXJlZFR5cGUuaW5zZXJ0KDAsIGRhdGEuZmllbGRzLm1hcCh0b01hcFN5bmNFbGVtZW50KSk7XG4gICAgICAgIHNoYXJlZFR5cGUuc2V0KCdmaWVsZHMnLCBmaWVsZFNoYXJlZFR5cGUpO1xuICAgICAgICBjb25zdCByZWNvcmRTaGFyZWRUeXBlID0gbmV3IFkuQXJyYXk8WS5BcnJheTxhbnk+PigpO1xuICAgICAgICBzaGFyZWRUeXBlLnNldCgncmVjb3JkcycsIHJlY29yZFNoYXJlZFR5cGUpO1xuICAgICAgICByZWNvcmRTaGFyZWRUeXBlLmluc2VydChcbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgICBkYXRhLnJlY29yZHMubWFwKChyZWNvcmQpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdG9SZWNvcmRTeW5jRWxlbWVudChyZWNvcmQsIGRhdGEuZmllbGRzKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHZpZXdzU2hhcmVkVHlwZSA9IG5ldyBZLkFycmF5KCk7XG4gICAgICAgIHNoYXJlZFR5cGUuc2V0KCd2aWV3cycsIHZpZXdzU2hhcmVkVHlwZSk7XG4gICAgICAgIHZpZXdzU2hhcmVkVHlwZS5pbnNlcnQoMCwgZGF0YS52aWV3cy5tYXAodG9NYXBTeW5jRWxlbWVudCkpO1xuICAgIH0pO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0UmVjb3Jkc0J5U2hhcmVkSnNvbiA9IChyZWNvcmRKc29uQXJyYXk6IFNoYXJlZFJlY29yZEpzb25UeXBlW10sIGZpZWxkczogQUlUYWJsZVZpZXdGaWVsZHMpOiBBSVRhYmxlVmlld1JlY29yZHMgPT4ge1xuICAgIHJldHVybiByZWNvcmRKc29uQXJyYXkubWFwKChyZWNvcmQ6IFNoYXJlZFJlY29yZEpzb25UeXBlKSA9PiB7XG4gICAgICAgIGNvbnN0IFtzeXN0ZW1GaWVsZFZhbHVlcywgY3VzdG9tRmllbGRWYWx1ZXNdID0gcmVjb3JkO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgX2lkOiBnZXRJZEJ5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpLFxuICAgICAgICAgICAgc2hvcnRfaWQ6IGdldFNob3J0SWRCeVN5c3RlbUZpZWxkVmFsdWVzKHN5c3RlbUZpZWxkVmFsdWVzKSxcbiAgICAgICAgICAgIC4uLmdldFRyYWNrYWJsZUVudGl0eUJ5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpLFxuICAgICAgICAgICAgcG9zaXRpb25zOiBnZXRQb3NpdGlvbnNCeVN5c3RlbUZpZWxkVmFsdWVzKHN5c3RlbUZpZWxkVmFsdWVzKSxcbiAgICAgICAgICAgIHZhbHVlczogZ2V0VmFsdWVzQnlDdXN0b21GaWVsZFZhbHVlcyhjdXN0b21GaWVsZFZhbHVlcywgZmllbGRzKVxuICAgICAgICB9O1xuICAgIH0pO1xufTtcbiJdfQ==
|