@ai-table/state 0.0.73 → 0.1.0

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.
Files changed (61) hide show
  1. package/action/index.d.ts +1 -1
  2. package/action/position.d.ts +2 -2
  3. package/action/position.d.ts.map +1 -1
  4. package/constants/context-menu-item.d.ts.map +1 -1
  5. package/constants/field-menu-item.d.ts.map +1 -1
  6. package/fesm2022/ai-table-state.mjs +52 -23
  7. package/fesm2022/ai-table-state.mjs.map +1 -1
  8. package/package.json +1 -3
  9. package/plugins/state.plugin.d.ts.map +1 -1
  10. package/shared/utils/initialize.d.ts.map +1 -1
  11. package/utils/field/add-fields.d.ts.map +1 -1
  12. package/utils/field/remove-field.d.ts.map +1 -1
  13. package/utils/field/sort-fields.d.ts.map +1 -1
  14. package/utils/i18n.d.ts +3 -1
  15. package/utils/i18n.d.ts.map +1 -1
  16. package/utils/record/move-records.d.ts.map +1 -1
  17. package/esm2022/action/field.mjs +0 -75
  18. package/esm2022/action/general.mjs +0 -163
  19. package/esm2022/action/index.mjs +0 -13
  20. package/esm2022/action/position.mjs +0 -13
  21. package/esm2022/action/record.mjs +0 -61
  22. package/esm2022/action/view.mjs +0 -57
  23. package/esm2022/ai-table-state.mjs +0 -5
  24. package/esm2022/constants/context-menu-item.mjs +0 -56
  25. package/esm2022/constants/field-menu-item.mjs +0 -56
  26. package/esm2022/constants/index.mjs +0 -4
  27. package/esm2022/constants/view.mjs +0 -3
  28. package/esm2022/index.mjs +0 -2
  29. package/esm2022/plugins/state.plugin.mjs +0 -20
  30. package/esm2022/public-api.mjs +0 -7
  31. package/esm2022/shared/index.mjs +0 -6
  32. package/esm2022/shared/to-table/index.mjs +0 -29
  33. package/esm2022/shared/to-table/map-event.mjs +0 -48
  34. package/esm2022/shared/to-yjs/add-node.mjs +0 -63
  35. package/esm2022/shared/to-yjs/index.mjs +0 -33
  36. package/esm2022/shared/to-yjs/remove-node.mjs +0 -37
  37. package/esm2022/shared/to-yjs/set-node.mjs +0 -31
  38. package/esm2022/shared/to-yjs/update-field-value.mjs +0 -23
  39. package/esm2022/shared/undo-manager.service.mjs +0 -60
  40. package/esm2022/shared/utils/index.mjs +0 -2
  41. package/esm2022/shared/utils/initialize.mjs +0 -51
  42. package/esm2022/shared/yjs-table.mjs +0 -39
  43. package/esm2022/types/ai-table.mjs +0 -2
  44. package/esm2022/types/index.mjs +0 -2
  45. package/esm2022/utils/build.mjs +0 -11
  46. package/esm2022/utils/common.mjs +0 -22
  47. package/esm2022/utils/field/add-fields.mjs +0 -25
  48. package/esm2022/utils/field/move-fields.mjs +0 -6
  49. package/esm2022/utils/field/position-field.mjs +0 -38
  50. package/esm2022/utils/field/remove-field.mjs +0 -13
  51. package/esm2022/utils/field/sort-fields.mjs +0 -5
  52. package/esm2022/utils/i18n.mjs +0 -37
  53. package/esm2022/utils/index.mjs +0 -17
  54. package/esm2022/utils/record/add-records.mjs +0 -40
  55. package/esm2022/utils/record/filter.mjs +0 -121
  56. package/esm2022/utils/record/move-records.mjs +0 -33
  57. package/esm2022/utils/record/sort.mjs +0 -38
  58. package/esm2022/utils/record/update-field-value.mjs +0 -11
  59. package/esm2022/utils/record/update-system-field-value.mjs +0 -8
  60. package/esm2022/utils/view.mjs +0 -96
  61. 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==
@@ -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
@@ -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==