@ai-table/state 0.0.39 → 0.0.41

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.
@@ -1 +1 @@
1
- {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../packages/state/src/action/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAMb,WAAW,EACd,MAAM,UAAU,CAAC;AA2LlB,eAAO,MAAM,cAAc;uBACJ,WAAW,UAAU,aAAa,GAAG,IAAI;CAS/D,CAAC"}
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../packages/state/src/action/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAMb,WAAW,EACd,MAAM,UAAU,CAAC;AA6LlB,eAAO,MAAM,cAAc;uBACJ,WAAW,UAAU,aAAa,GAAG,IAAI;CAS/D,CAAC"}
@@ -1,3 +1,5 @@
1
- import { AITableContextMenuItem } from '@ai-table/grid';
1
+ import { AITableContextMenuItem, AITablePasteActions } from '@ai-table/grid';
2
2
  export declare const RemoveRecordsItem: AITableContextMenuItem;
3
+ export declare const CopyCellsItem: AITableContextMenuItem;
4
+ export declare const PasteCellsItem: (actions: AITablePasteActions) => AITableContextMenuItem;
3
5
  //# sourceMappingURL=context-menu-item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-menu-item.d.ts","sourceRoot":"","sources":["../../../packages/state/src/constants/context-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,sBAAsB,EAA+B,MAAM,gBAAgB,CAAC;AAI9F,eAAO,MAAM,iBAAiB,EAAE,sBAkB/B,CAAC"}
1
+ {"version":3,"file":"context-menu-item.d.ts","sourceRoot":"","sources":["../../../packages/state/src/constants/context-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,sBAAsB,EAA+B,mBAAmB,EAAyB,MAAM,gBAAgB,CAAC;AAM1I,eAAO,MAAM,iBAAiB,EAAE,sBAkB/B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,sBAsB3B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,sBAsB9D,CAAC"}
@@ -2,6 +2,7 @@ import { ActionName } from '../types';
2
2
  import { createDraft, finishDraft } from 'immer';
3
3
  import { getDefaultFieldValue } from '@ai-table/grid';
4
4
  import { createDefaultPositions, isPathEqual } from '../utils';
5
+ import { updateFieldPositionInView } from '../utils/field/move-fields';
5
6
  const apply = (aiTable, records, fields, views, action) => {
6
7
  switch (action.type) {
7
8
  case ActionName.UpdateFieldValue: {
@@ -66,9 +67,10 @@ const apply = (aiTable, records, fields, views, action) => {
66
67
  if (isPathEqual(action.path, action.newPath)) {
67
68
  return;
68
69
  }
69
- const field = fields[action.path[0]];
70
- fields.splice(action.path[0], 1);
71
- fields.splice(action.newPath[0], 0, field);
70
+ const activeView = aiTable.views().find((item) => item._id === aiTable.activeViewId());
71
+ const sourceField = fields[action.path[0]];
72
+ const targetField = fields[action.newPath[0]];
73
+ updateFieldPositionInView(activeView._id, fields, sourceField, targetField, action.path, action.newPath);
72
74
  break;
73
75
  }
74
76
  case ActionName.RemoveField: {
@@ -176,7 +178,7 @@ const apply = (aiTable, records, fields, views, action) => {
176
178
  export const GeneralActions = {
177
179
  transform(aiTable, action) {
178
180
  const records = createDraft(aiTable.records());
179
- const fields = createDraft(aiTable.fields());
181
+ const fields = createDraft(aiTable.gridData().fields);
180
182
  const views = createDraft(aiTable.views());
181
183
  apply(aiTable, records, fields, views, action);
182
184
  aiTable.fields.set(finishDraft(fields));
@@ -184,4 +186,4 @@ export const GeneralActions = {
184
186
  aiTable.views.set(finishDraft(views));
185
187
  }
186
188
  };
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy9hY3Rpb24vZ2VuZXJhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQVFiLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pELE9BQU8sRUFBc0Qsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9ELE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBb0IsRUFBRSxPQUEyQixFQUFFLE1BQXFCLEVBQUUsS0FBb0IsRUFBRSxNQUFxQixFQUFFLEVBQUU7SUFDcEksUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsS0FBSyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztZQUN4QyxJQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQztnQkFDakYsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQ2hFLENBQUM7WUFDRCxNQUFNO1FBQ1YsQ0FBQztRQUNELEtBQUssVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztZQUNyQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUks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VyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDL0MsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDeEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDMUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFjdGlvbk5hbWUsXG4gICAgQUlUYWJsZUFjdGlvbixcbiAgICBBSVRhYmxlVmlldyxcbiAgICBBSVRhYmxlVmlld0ZpZWxkLFxuICAgIEFJVGFibGVWaWV3RmllbGRzLFxuICAgIEFJVGFibGVWaWV3UmVjb3JkLFxuICAgIEFJVGFibGVWaWV3UmVjb3JkcyxcbiAgICBBSVZpZXdUYWJsZVxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVEcmFmdCwgZmluaXNoRHJhZnQgfSBmcm9tICdpbW1lcic7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGQsIEFJVGFibGVGaWVsZHMsIEFJVGFibGVTZWxlY3RBbGxTdGF0ZSwgZ2V0RGVmYXVsdEZpZWxkVmFsdWUgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBjcmVhdGVEZWZhdWx0UG9zaXRpb25zLCBpc1BhdGhFcXVhbCB9IGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgYXBwbHkgPSAoYWlUYWJsZTogQUlWaWV3VGFibGUsIHJlY29yZHM6IEFJVGFibGVWaWV3UmVjb3JkcywgZmllbGRzOiBBSVRhYmxlRmllbGRzLCB2aWV3czogQUlUYWJsZVZpZXdbXSwgYWN0aW9uOiBBSVRhYmxlQWN0aW9uKSA9PiB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuVXBkYXRlRmllbGRWYWx1ZToge1xuICAgICAgICAgICAgY29uc3QgW3JlY29yZElkLCBmaWVsZElkXSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgaWYgKHJlY29yZElkICYmIGZpZWxkSWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRJbmRleCA9IGFpVGFibGUucmVjb3JkcygpLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IHJlY29yZElkKTtcbiAgICAgICAgICAgICAgICByZWNvcmRzW3JlY29yZEluZGV4XS52YWx1ZXNbZmllbGRJZF0gPSBhY3Rpb24ubmV3RmllbGRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5VcGRhdGVTeXN0ZW1GaWVsZFZhbHVlOiB7XG4gICAgICAgICAgICBjb25zdCBbcmVjb3JkSWRdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBpZiAocmVjb3JkSWQgJiYgYWN0aW9uLnVwZGF0ZWRJbmZvKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSBhaVRhYmxlLnJlY29yZHMoKS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSByZWNvcmRJZCk7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbi51cGRhdGVkSW5mby51cGRhdGVkX2F0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlY29yZHNbcmVjb3JkSW5kZXhdLnVwZGF0ZWRfYXQgPSBhY3Rpb24udXBkYXRlZEluZm8udXBkYXRlZF9hdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbi51cGRhdGVkSW5mby51cGRhdGVkX2J5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlY29yZHNbcmVjb3JkSW5kZXhdLnVwZGF0ZWRfYnkgPSBhY3Rpb24udXBkYXRlZEluZm8udXBkYXRlZF9ieTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuQWRkUmVjb3JkOiB7XG4gICAgICAgICAgICBjb25zdCBbcmVjb3JkSW5kZXhdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBpZiAocmVjb3JkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIGlmICghKGFjdGlvbi5yZWNvcmQgYXMgQUlUYWJsZVZpZXdSZWNvcmQpLnBvc2l0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVWaWV3ID0gYWlUYWJsZS52aWV3cygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBhaVRhYmxlLmFjdGl2ZVZpZXdJZCgpKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGluZGV4ID0gcmVjb3JkSW5kZXg7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhY3RpdmVWaWV3Py5zZXR0aW5ncz8uY29uZGl0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggPSByZWNvcmRzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAoYWN0aW9uLnJlY29yZCBhcyBBSVRhYmxlVmlld1JlY29yZCkucG9zaXRpb25zID0gY3JlYXRlRGVmYXVsdFBvc2l0aW9ucyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGFpVGFibGUudmlld3MoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFpVGFibGUuYWN0aXZlVmlld0lkKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnJlY29yZHMoKSBhcyBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZWNvcmRzLnNwbGljZShyZWNvcmRJbmRleCwgMCwgYWN0aW9uLnJlY29yZCBhcyBBSVRhYmxlVmlld1JlY29yZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuQWRkRmllbGQ6IHtcbiAgICAgICAgICAgIGNvbnN0IFtmaWVsZEluZGV4XSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgaWYgKGZpZWxkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0ZpZWxkID0gYWN0aW9uLmZpZWxkO1xuICAgICAgICAgICAgICAgIChuZXdGaWVsZCBhcyBBSVRhYmxlVmlld0ZpZWxkKS5wb3NpdGlvbnMgPSBjcmVhdGVEZWZhdWx0UG9zaXRpb25zKFxuICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnZpZXdzKCksXG4gICAgICAgICAgICAgICAgICAgIGFpVGFibGUuYWN0aXZlVmlld0lkKCksXG4gICAgICAgICAgICAgICAgICAgIGFpVGFibGUuZmllbGRzKCkgYXMgQUlUYWJsZVZpZXdGaWVsZHMsXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbi5wYXRoWzBdXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBmaWVsZHMuc3BsaWNlKGZpZWxkSW5kZXgsIDAsIG5ld0ZpZWxkIGFzIEFJVGFibGVWaWV3RmllbGQpO1xuICAgICAgICAgICAgICAgIHJlY29yZHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLnZhbHVlc1tuZXdGaWVsZC5faWRdID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbi5pc0NvcHkgJiYgYWN0aW9uLm9yaWdpbklkID8gaXRlbS52YWx1ZXNbYWN0aW9uLm9yaWdpbklkXSA6IGdldERlZmF1bHRGaWVsZFZhbHVlKGFjdGlvbi5maWVsZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuTW92ZVJlY29yZDoge1xuICAgICAgICAgICAgaWYgKGlzUGF0aEVxdWFsKGFjdGlvbi5wYXRoLCBhY3Rpb24ubmV3UGF0aCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByZWNvcmQgPSByZWNvcmRzW2FjdGlvbi5wYXRoWzBdXTtcbiAgICAgICAgICAgIHJlY29yZHMuc3BsaWNlKGFjdGlvbi5wYXRoWzBdLCAxKTtcbiAgICAgICAgICAgIHJlY29yZHMuc3BsaWNlKGFjdGlvbi5uZXdQYXRoWzBdLCAwLCByZWNvcmQpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLk1vdmVGaWVsZDoge1xuICAgICAgICAgICAgaWYgKGlzUGF0aEVxdWFsKGFjdGlvbi5wYXRoLCBhY3Rpb24ubmV3UGF0aCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBmaWVsZCA9IGZpZWxkc1thY3Rpb24ucGF0aFswXV07XG4gICAgICAgICAgICBmaWVsZHMuc3BsaWNlKGFjdGlvbi5wYXRoWzBdLCAxKTtcbiAgICAgICAgICAgIGZpZWxkcy5zcGxpY2UoYWN0aW9uLm5ld1BhdGhbMF0sIDAsIGZpZWxkKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5SZW1vdmVGaWVsZDoge1xuICAgICAgICAgICAgY29uc3QgW2ZpZWxkSWRdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBjb25zdCBmaWVsZEluZGV4ID0gYWlUYWJsZS5maWVsZHMoKS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBmaWVsZElkKTtcbiAgICAgICAgICAgIGlmIChmaWVsZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICBmaWVsZHMuc3BsaWNlKGZpZWxkSW5kZXgsIDEpO1xuICAgICAgICAgICAgICAgIHJlY29yZHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgaXRlbS52YWx1ZXNbZmllbGRJZF07XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuUmVtb3ZlUmVjb3JkOiB7XG4gICAgICAgICAgICBjb25zdCBbcmVjb3JkSWRdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBjb25zdCByZWNvcmRJbmRleCA9IGFpVGFibGUucmVjb3JkcygpLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IHJlY29yZElkKTtcbiAgICAgICAgICAgIGlmIChyZWNvcmRJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgcmVjb3Jkcy5zcGxpY2UocmVjb3JkSW5kZXgsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuU2V0RmllbGQ6IHtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkID0gZmllbGRzLmZpbmQoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBhY3Rpb24ucGF0aFswXSkgYXMgQUlUYWJsZUZpZWxkO1xuICAgICAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gYWN0aW9uLm5ld1Byb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgayA9IGtleSBhcyBrZXlvZiBBSVRhYmxlRmllbGQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gYWN0aW9uLm5ld1Byb3BlcnRpZXNba107XG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgZmllbGRba107XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAoZmllbGRba10gYXMgYW55KSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gcHJvcGVydGllcyB0aGF0IHdlcmUgcHJldmlvdXNseSBkZWZpbmVkLCBidXQgYXJlIG5vdyBtaXNzaW5nLCBtdXN0IGJlIGRlbGV0ZWRcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBhY3Rpb24ucHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWFjdGlvbi5uZXdQcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBmaWVsZFs8a2V5b2YgQUlUYWJsZUZpZWxkPmtleV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuU2V0Vmlldzoge1xuICAgICAgICAgICAgY29uc3QgdmlldyA9IHZpZXdzLmZpbmQoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBhY3Rpb24ucGF0aFswXSkgYXMgQUlUYWJsZVZpZXc7XG4gICAgICAgICAgICBpZiAodmlldykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGFjdGlvbi5uZXdQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGsgPSBrZXkgYXMga2V5b2YgQUlUYWJsZVZpZXc7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gYWN0aW9uLm5ld1Byb3BlcnRpZXNba107XG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgdmlld1trXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICh2aWV3W2tdIGFzIGFueSkgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHByb3BlcnRpZXMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgZGVmaW5lZCwgYnV0IGFyZSBub3cgbWlzc2luZywgbXVzdCBiZSBkZWxldGVkXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gYWN0aW9uLnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhY3Rpb24ubmV3UHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgdmlld1s8a2V5b2YgQUlUYWJsZVZpZXc+a2V5XTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5BZGRWaWV3OiB7XG4gICAgICAgICAgICBjb25zdCBbdmlld0luZGV4XSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgaWYgKHZpZXdJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgdmlld3Muc3BsaWNlKHZpZXdJbmRleCwgMCwgYWN0aW9uLnZpZXcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlJlbW92ZVZpZXc6IHtcbiAgICAgICAgICAgIGNvbnN0IFt2aWV3SWRdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBjb25zdCB2aWV3SW5kZXggPSB2aWV3cy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSB2aWV3SWQpO1xuICAgICAgICAgICAgaWYgKHZpZXdJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgdmlld3Muc3BsaWNlKHZpZXdJbmRleCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuU2V0UmVjb3JkUG9zaXRpb25zOiB7XG4gICAgICAgICAgICBjb25zdCB7IHBvc2l0aW9ucywgcGF0aCB9ID0gYWN0aW9uO1xuICAgICAgICAgICAgY29uc3QgcmVjb3JkID0gcmVjb3Jkcy5maW5kKChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gcGF0aFswXSk7XG4gICAgICAgICAgICBpZiAocmVjb3JkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3UG9zaXRpb25zID0geyAuLi5yZWNvcmQucG9zaXRpb25zIH07XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gcG9zaXRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwb3NpdGlvbnNba2V5XSA9PT0gbnVsbCB8fCBwb3NpdGlvbnNba2V5XSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgbmV3UG9zaXRpb25zW2tleV07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdQb3NpdGlvbnNba2V5XSA9IHBvc2l0aW9uc1trZXldIGFzIG51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZWNvcmQucG9zaXRpb25zID0gbmV3UG9zaXRpb25zO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmVjb3JkcyxcbiAgICAgICAgZmllbGRzLFxuICAgICAgICB2aWV3c1xuICAgIH07XG59O1xuXG5leHBvcnQgY29uc3QgR2VuZXJhbEFjdGlvbnMgPSB7XG4gICAgdHJhbnNmb3JtKGFpVGFibGU6IEFJVmlld1RhYmxlLCBhY3Rpb246IEFJVGFibGVBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVjb3JkcyA9IGNyZWF0ZURyYWZ0KGFpVGFibGUucmVjb3JkcygpKSBhcyBBSVRhYmxlVmlld1JlY29yZHM7XG4gICAgICAgIGNvbnN0IGZpZWxkcyA9IGNyZWF0ZURyYWZ0KGFpVGFibGUuZmllbGRzKCkpIGFzIEFJVGFibGVWaWV3RmllbGRzO1xuICAgICAgICBjb25zdCB2aWV3cyA9IGNyZWF0ZURyYWZ0KGFpVGFibGUudmlld3MoKSk7XG4gICAgICAgIGFwcGx5KGFpVGFibGUsIHJlY29yZHMsIGZpZWxkcywgdmlld3MsIGFjdGlvbik7XG4gICAgICAgIGFpVGFibGUuZmllbGRzLnNldChmaW5pc2hEcmFmdChmaWVsZHMpKTtcbiAgICAgICAgYWlUYWJsZS5yZWNvcmRzLnNldChmaW5pc2hEcmFmdChyZWNvcmRzKSk7XG4gICAgICAgIGFpVGFibGUudmlld3Muc2V0KGZpbmlzaERyYWZ0KHZpZXdzKSk7XG4gICAgfVxufTtcbiJdfQ==
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy9hY3Rpb24vZ2VuZXJhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQVFiLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pELE9BQU8sRUFBK0Isb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXZFLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBb0IsRUFBRSxPQUEyQixFQUFFLE1BQXFCLEVBQUUsS0FBb0IsRUFBRSxNQUFxQixFQUFFLEVBQUU7SUFDcEksUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsS0FBSyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztZQUN4QyxJQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQztnQkFDakYsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQ2hFLENBQUM7WUFDRCxNQUFNO1FBQ1YsQ0FBQztRQUNELEtBQUssVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztZ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QyxNQUFNLGNBQWMsR0FBRztJQUMxQixTQUFTLENBQUMsT0FBb0IsRUFBRSxNQUFxQjtRQUNqRCxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUF1QixDQUFDO1FBQ3JFLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFzQixDQUFDO1FBQzNFLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMzQyxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBY3Rpb25OYW1lLFxuICAgIEFJVGFibGVBY3Rpb24sXG4gICAgQUlUYWJsZVZpZXcsXG4gICAgQUlUYWJsZVZpZXdGaWVsZCxcbiAgICBBSVRhYmxlVmlld0ZpZWxkcyxcbiAgICBBSVRhYmxlVmlld1JlY29yZCxcbiAgICBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgQUlWaWV3VGFibGVcbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlRHJhZnQsIGZpbmlzaERyYWZ0IH0gZnJvbSAnaW1tZXInO1xuaW1wb3J0IHsgQUlUYWJsZUZpZWxkLCBBSVRhYmxlRmllbGRzLCBnZXREZWZhdWx0RmllbGRWYWx1ZSB9IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcbmltcG9ydCB7IGNyZWF0ZURlZmF1bHRQb3NpdGlvbnMsIGlzUGF0aEVxdWFsIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgdXBkYXRlRmllbGRQb3NpdGlvbkluVmlldyB9IGZyb20gJy4uL3V0aWxzL2ZpZWxkL21vdmUtZmllbGRzJztcblxuY29uc3QgYXBwbHkgPSAoYWlUYWJsZTogQUlWaWV3VGFibGUsIHJlY29yZHM6IEFJVGFibGVWaWV3UmVjb3JkcywgZmllbGRzOiBBSVRhYmxlRmllbGRzLCB2aWV3czogQUlUYWJsZVZpZXdbXSwgYWN0aW9uOiBBSVRhYmxlQWN0aW9uKSA9PiB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuVXBkYXRlRmllbGRWYWx1ZToge1xuICAgICAgICAgICAgY29uc3QgW3JlY29yZElkLCBmaWVsZElkXSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgaWYgKHJlY29yZElkICYmIGZpZWxkSWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRJbmRleCA9IGFpVGFibGUucmVjb3JkcygpLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IHJlY29yZElkKTtcbiAgICAgICAgICAgICAgICByZWNvcmRzW3JlY29yZEluZGV4XS52YWx1ZXNbZmllbGRJZF0gPSBhY3Rpb24ubmV3RmllbGRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5VcGRhdGVTeXN0ZW1GaWVsZFZhbHVlOiB7XG4gICAgICAgICAgICBjb25zdCBbcmVjb3JkSWRdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBpZiAocmVjb3JkSWQgJiYgYWN0aW9uLnVwZGF0ZWRJbmZvKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSBhaVRhYmxlLnJlY29yZHMoKS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSByZWNvcmRJZCk7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbi51cGRhdGVkSW5mby51cGRhdGVkX2F0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlY29yZHNbcmVjb3JkSW5kZXhdLnVwZGF0ZWRfYXQgPSBhY3Rpb24udXBkYXRlZEluZm8udXBkYXRlZF9hdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbi51cGRhdGVkSW5mby51cGRhdGVkX2J5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlY29yZHNbcmVjb3JkSW5kZXhdLnVwZGF0ZWRfYnkgPSBhY3Rpb24udXBkYXRlZEluZm8udXBkYXRlZF9ieTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuQWRkUmVjb3JkOiB7XG4gICAgICAgICAgICBjb25zdCBbcmVjb3JkSW5kZXhdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBpZiAocmVjb3JkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIGlmICghKGFjdGlvbi5yZWNvcmQgYXMgQUlUYWJsZVZpZXdSZWNvcmQpLnBvc2l0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVWaWV3ID0gYWlUYWJsZS52aWV3cygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBhaVRhYmxlLmFjdGl2ZVZpZXdJZCgpKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGluZGV4ID0gcmVjb3JkSW5kZXg7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhY3RpdmVWaWV3Py5zZXR0aW5ncz8uY29uZGl0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggPSByZWNvcmRzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAoYWN0aW9uLnJlY29yZCBhcyBBSVRhYmxlVmlld1JlY29yZCkucG9zaXRpb25zID0gY3JlYXRlRGVmYXVsdFBvc2l0aW9ucyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGFpVGFibGUudmlld3MoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFpVGFibGUuYWN0aXZlVmlld0lkKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnJlY29yZHMoKSBhcyBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZWNvcmRzLnNwbGljZShyZWNvcmRJbmRleCwgMCwgYWN0aW9uLnJlY29yZCBhcyBBSVRhYmxlVmlld1JlY29yZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuQWRkRmllbGQ6IHtcbiAgICAgICAgICAgIGNvbnN0IFtmaWVsZEluZGV4XSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgaWYgKGZpZWxkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0ZpZWxkID0gYWN0aW9uLmZpZWxkO1xuICAgICAgICAgICAgICAgIChuZXdGaWVsZCBhcyBBSVRhYmxlVmlld0ZpZWxkKS5wb3NpdGlvbnMgPSBjcmVhdGVEZWZhdWx0UG9zaXRpb25zKFxuICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnZpZXdzKCksXG4gICAgICAgICAgICAgICAgICAgIGFpVGFibGUuYWN0aXZlVmlld0lkKCksXG4gICAgICAgICAgICAgICAgICAgIGFpVGFibGUuZmllbGRzKCkgYXMgQUlUYWJsZVZpZXdGaWVsZHMsXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbi5wYXRoWzBdXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBmaWVsZHMuc3BsaWNlKGZpZWxkSW5kZXgsIDAsIG5ld0ZpZWxkIGFzIEFJVGFibGVWaWV3RmllbGQpO1xuICAgICAgICAgICAgICAgIHJlY29yZHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLnZhbHVlc1tuZXdGaWVsZC5faWRdID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbi5pc0NvcHkgJiYgYWN0aW9uLm9yaWdpbklkID8gaXRlbS52YWx1ZXNbYWN0aW9uLm9yaWdpbklkXSA6IGdldERlZmF1bHRGaWVsZFZhbHVlKGFjdGlvbi5maWVsZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuTW92ZVJlY29yZDoge1xuICAgICAgICAgICAgaWYgKGlzUGF0aEVxdWFsKGFjdGlvbi5wYXRoLCBhY3Rpb24ubmV3UGF0aCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByZWNvcmQgPSByZWNvcmRzW2FjdGlvbi5wYXRoWzBdXTtcbiAgICAgICAgICAgIHJlY29yZHMuc3BsaWNlKGFjdGlvbi5wYXRoWzBdLCAxKTtcbiAgICAgICAgICAgIHJlY29yZHMuc3BsaWNlKGFjdGlvbi5uZXdQYXRoWzBdLCAwLCByZWNvcmQpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLk1vdmVGaWVsZDoge1xuICAgICAgICAgICAgaWYgKGlzUGF0aEVxdWFsKGFjdGlvbi5wYXRoLCBhY3Rpb24ubmV3UGF0aCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVWaWV3ID0gYWlUYWJsZS52aWV3cygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBhaVRhYmxlLmFjdGl2ZVZpZXdJZCgpKTtcbiAgICAgICAgICAgIGNvbnN0IHNvdXJjZUZpZWxkID0gZmllbGRzW2FjdGlvbi5wYXRoWzBdXTtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldEZpZWxkID0gZmllbGRzW2FjdGlvbi5uZXdQYXRoWzBdXTtcbiAgICAgICAgICAgIHVwZGF0ZUZpZWxkUG9zaXRpb25JblZpZXcoYWN0aXZlVmlldyEuX2lkLCBmaWVsZHMsIHNvdXJjZUZpZWxkLCB0YXJnZXRGaWVsZCwgYWN0aW9uLnBhdGgsIGFjdGlvbi5uZXdQYXRoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5SZW1vdmVGaWVsZDoge1xuICAgICAgICAgICAgY29uc3QgW2ZpZWxkSWRdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBjb25zdCBmaWVsZEluZGV4ID0gYWlUYWJsZS5maWVsZHMoKS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBmaWVsZElkKTtcbiAgICAgICAgICAgIGlmIChmaWVsZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICBmaWVsZHMuc3BsaWNlKGZpZWxkSW5kZXgsIDEpO1xuICAgICAgICAgICAgICAgIHJlY29yZHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgaXRlbS52YWx1ZXNbZmllbGRJZF07XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuUmVtb3ZlUmVjb3JkOiB7XG4gICAgICAgICAgICBjb25zdCBbcmVjb3JkSWRdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBjb25zdCByZWNvcmRJbmRleCA9IGFpVGFibGUucmVjb3JkcygpLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IHJlY29yZElkKTtcbiAgICAgICAgICAgIGlmIChyZWNvcmRJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgcmVjb3Jkcy5zcGxpY2UocmVjb3JkSW5kZXgsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuU2V0RmllbGQ6IHtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkID0gZmllbGRzLmZpbmQoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBhY3Rpb24ucGF0aFswXSkgYXMgQUlUYWJsZUZpZWxkO1xuICAgICAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gYWN0aW9uLm5ld1Byb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgayA9IGtleSBhcyBrZXlvZiBBSVRhYmxlRmllbGQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gYWN0aW9uLm5ld1Byb3BlcnRpZXNba107XG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgZmllbGRba107XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAoZmllbGRba10gYXMgYW55KSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gcHJvcGVydGllcyB0aGF0IHdlcmUgcHJldmlvdXNseSBkZWZpbmVkLCBidXQgYXJlIG5vdyBtaXNzaW5nLCBtdXN0IGJlIGRlbGV0ZWRcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBhY3Rpb24ucHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWFjdGlvbi5uZXdQcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBmaWVsZFs8a2V5b2YgQUlUYWJsZUZpZWxkPmtleV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuU2V0Vmlldzoge1xuICAgICAgICAgICAgY29uc3QgdmlldyA9IHZpZXdzLmZpbmQoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBhY3Rpb24ucGF0aFswXSkgYXMgQUlUYWJsZVZpZXc7XG4gICAgICAgICAgICBpZiAodmlldykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGFjdGlvbi5uZXdQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGsgPSBrZXkgYXMga2V5b2YgQUlUYWJsZVZpZXc7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gYWN0aW9uLm5ld1Byb3BlcnRpZXNba107XG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgdmlld1trXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICh2aWV3W2tdIGFzIGFueSkgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHByb3BlcnRpZXMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgZGVmaW5lZCwgYnV0IGFyZSBub3cgbWlzc2luZywgbXVzdCBiZSBkZWxldGVkXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gYWN0aW9uLnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhY3Rpb24ubmV3UHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgdmlld1s8a2V5b2YgQUlUYWJsZVZpZXc+a2V5XTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5BZGRWaWV3OiB7XG4gICAgICAgICAgICBjb25zdCBbdmlld0luZGV4XSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgaWYgKHZpZXdJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgdmlld3Muc3BsaWNlKHZpZXdJbmRleCwgMCwgYWN0aW9uLnZpZXcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlJlbW92ZVZpZXc6IHtcbiAgICAgICAgICAgIGNvbnN0IFt2aWV3SWRdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBjb25zdCB2aWV3SW5kZXggPSB2aWV3cy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSB2aWV3SWQpO1xuICAgICAgICAgICAgaWYgKHZpZXdJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgdmlld3Muc3BsaWNlKHZpZXdJbmRleCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuU2V0UmVjb3JkUG9zaXRpb25zOiB7XG4gICAgICAgICAgICBjb25zdCB7IHBvc2l0aW9ucywgcGF0aCB9ID0gYWN0aW9uO1xuICAgICAgICAgICAgY29uc3QgcmVjb3JkID0gcmVjb3Jkcy5maW5kKChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gcGF0aFswXSk7XG4gICAgICAgICAgICBpZiAocmVjb3JkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3UG9zaXRpb25zID0geyAuLi5yZWNvcmQucG9zaXRpb25zIH07XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gcG9zaXRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwb3NpdGlvbnNba2V5XSA9PT0gbnVsbCB8fCBwb3NpdGlvbnNba2V5XSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgbmV3UG9zaXRpb25zW2tleV07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdQb3NpdGlvbnNba2V5XSA9IHBvc2l0aW9uc1trZXldIGFzIG51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZWNvcmQucG9zaXRpb25zID0gbmV3UG9zaXRpb25zO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmVjb3JkcyxcbiAgICAgICAgZmllbGRzLFxuICAgICAgICB2aWV3c1xuICAgIH07XG59O1xuXG5leHBvcnQgY29uc3QgR2VuZXJhbEFjdGlvbnMgPSB7XG4gICAgdHJhbnNmb3JtKGFpVGFibGU6IEFJVmlld1RhYmxlLCBhY3Rpb246IEFJVGFibGVBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVjb3JkcyA9IGNyZWF0ZURyYWZ0KGFpVGFibGUucmVjb3JkcygpKSBhcyBBSVRhYmxlVmlld1JlY29yZHM7XG4gICAgICAgIGNvbnN0IGZpZWxkcyA9IGNyZWF0ZURyYWZ0KGFpVGFibGUuZ3JpZERhdGEoKS5maWVsZHMpIGFzIEFJVGFibGVWaWV3RmllbGRzO1xuICAgICAgICBjb25zdCB2aWV3cyA9IGNyZWF0ZURyYWZ0KGFpVGFibGUudmlld3MoKSk7XG4gICAgICAgIGFwcGx5KGFpVGFibGUsIHJlY29yZHMsIGZpZWxkcywgdmlld3MsIGFjdGlvbik7XG4gICAgICAgIGFpVGFibGUuZmllbGRzLnNldChmaW5pc2hEcmFmdChmaWVsZHMpKTtcbiAgICAgICAgYWlUYWJsZS5yZWNvcmRzLnNldChmaW5pc2hEcmFmdChyZWNvcmRzKSk7XG4gICAgICAgIGFpVGFibGUudmlld3Muc2V0KGZpbmlzaERyYWZ0KHZpZXdzKSk7XG4gICAgfVxufTtcbiJdfQ==
@@ -1,5 +1,6 @@
1
- import { AITable } from '@ai-table/grid';
1
+ import { AITable, isMac, writeToAITable } from '@ai-table/grid';
2
2
  import { Actions } from '../action';
3
+ import { buildClipboardData, writeToClipboard } from '@ai-table/grid';
3
4
  export const RemoveRecordsItem = {
4
5
  type: 'removeRecords',
5
6
  name: '删除行',
@@ -12,4 +13,38 @@ export const RemoveRecordsItem = {
12
13
  aiTableGridSelectionService.clearSelection();
13
14
  }
14
15
  };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvY29uc3RhbnRzL2NvbnRleHQtbWVudS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQXVELE1BQU0sZ0JBQWdCLENBQUM7QUFDOUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUdwQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBMkI7SUFDckQsSUFBSSxFQUFFLGVBQWU7SUFDckIsSUFBSSxFQUFFLEtBQUs7SUFDWCxJQUFJLEVBQUUsT0FBTztJQUNiLElBQUksRUFBRSxDQUNGLE9BQWdCLEVBQ2hCLFVBQWtCLEVBQ2xCLFFBQWtDLEVBQ2xDLDJCQUF3RCxFQUMxRCxFQUFFO1FBQ0EsSUFBSSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUQsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBVSxFQUFFLEVBQUU7WUFDckMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFzQixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FBQztRQUVILDJCQUEyQixDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ2pELENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZUNvbnRleHRNZW51SXRlbSwgQUlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgQWN0aW9ucyB9IGZyb20gJy4uL2FjdGlvbic7XG5pbXBvcnQgeyBBSVZpZXdUYWJsZSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IFJlbW92ZVJlY29yZHNJdGVtOiBBSVRhYmxlQ29udGV4dE1lbnVJdGVtID0ge1xuICAgIHR5cGU6ICdyZW1vdmVSZWNvcmRzJyxcbiAgICBuYW1lOiAn5Yig6Zmk6KGMJyxcbiAgICBpY29uOiAndHJhc2gnLFxuICAgIGV4ZWM6IChcbiAgICAgICAgYWlUYWJsZTogQUlUYWJsZSxcbiAgICAgICAgdGFyZ2V0TmFtZTogc3RyaW5nLFxuICAgICAgICBwb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9LFxuICAgICAgICBhaVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2U6IEFJVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZVxuICAgICkgPT4ge1xuICAgICAgICBsZXQgc2VsZWN0ZWRSZWNvcmRJZHMgPSBBSVRhYmxlLmdldEFjdGl2ZVJlY29yZElkcyhhaVRhYmxlKTtcblxuICAgICAgICBzZWxlY3RlZFJlY29yZElkcy5mb3JFYWNoKChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBBY3Rpb25zLnJlbW92ZVJlY29yZChhaVRhYmxlIGFzIEFJVmlld1RhYmxlLCBbaWRdKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYWlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgfVxufTtcbiJdfQ==
16
+ export const CopyCellsItem = {
17
+ type: 'copyCells',
18
+ name: '复制',
19
+ shortcutKey: isMac() ? `⌘ + C` : `Ctrl + C`,
20
+ icon: 'copy',
21
+ exec: (aiTable, targetName, position, aiTableGridSelectionService, notifyService) => {
22
+ const clipboardData = buildClipboardData(aiTable);
23
+ if (clipboardData) {
24
+ writeToClipboard(clipboardData).then(() => {
25
+ const copiedCellsCount = aiTable.selection().selectedCells.size;
26
+ notifyService.success(`已复制 ${copiedCellsCount} 个单元格`, undefined, {
27
+ placement: 'bottomLeft'
28
+ });
29
+ });
30
+ }
31
+ }
32
+ };
33
+ export const PasteCellsItem = (actions) => {
34
+ return {
35
+ type: 'pasteCells',
36
+ name: '粘贴',
37
+ shortcutKey: isMac() ? `⌘ + V` : `Ctrl + V`,
38
+ icon: 'paste',
39
+ exec: async (aiTable, targetName, position, aiTableGridSelectionService, notifyService) => {
40
+ writeToAITable(aiTable, actions).then((isPasteSuccess) => {
41
+ if (!isPasteSuccess) {
42
+ notifyService.error('粘贴内容不符合当前类型', undefined, {
43
+ placement: 'bottomLeft'
44
+ });
45
+ }
46
+ });
47
+ }
48
+ };
49
+ };
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvY29uc3RhbnRzL2NvbnRleHQtbWVudS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQTRFLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxSSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUEyQjtJQUNyRCxJQUFJLEVBQUUsZUFBZTtJQUNyQixJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxPQUFPO0lBQ2IsSUFBSSxFQUFFLENBQ0YsT0FBZ0IsRUFDaEIsVUFBa0IsRUFDbEIsUUFBa0MsRUFDbEMsMkJBQXdELEVBQzFELEVBQUU7UUFDQSxJQUFJLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU1RCxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFVLEVBQUUsRUFBRTtZQUNyQyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQXNCLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBRUgsMkJBQTJCLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDakQsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTJCO0lBQ2pELElBQUksRUFBRSxXQUFXO0lBQ2pCLElBQUksRUFBRSxJQUFJO0lBQ1YsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVU7SUFDM0MsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsQ0FDRixPQUFnQixFQUNoQixVQUFrQixFQUNsQixRQUFrQyxFQUNsQywyQkFBd0QsRUFDeEQsYUFBK0IsRUFDakMsRUFBRTtRQUNBLE1BQU0sYUFBYSxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEIsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDdEMsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDaEUsYUFBYSxDQUFDLE9BQU8sQ0FBQyxPQUFPLGdCQUFnQixPQUFPLEVBQUUsU0FBUyxFQUFFO29CQUM3RCxTQUFTLEVBQUUsWUFBWTtpQkFDMUIsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQTZELENBQUMsT0FBNEIsRUFBRSxFQUFFO0lBQ3JILE9BQU87UUFDSCxJQUFJLEVBQUUsWUFBWTtRQUNsQixJQUFJLEVBQUUsSUFBSTtRQUNWLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVO1FBQzNDLElBQUksRUFBRSxPQUFPO1FBQ2IsSUFBSSxFQUFFLEtBQUssRUFDUCxPQUFnQixFQUNoQixVQUFrQixFQUNsQixRQUFrQyxFQUNsQywyQkFBd0QsRUFDeEQsYUFBK0IsRUFDakMsRUFBRTtZQUNBLGNBQWMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7Z0JBQ3JELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDbEIsYUFBYSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFO3dCQUMxQyxTQUFTLEVBQUUsWUFBWTtxQkFDMUIsQ0FBQyxDQUFDO2dCQUNQLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZUNvbnRleHRNZW51SXRlbSwgQUlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlLCBBSVRhYmxlUGFzdGVBY3Rpb25zLCBpc01hYywgd3JpdGVUb0FJVGFibGUgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBBY3Rpb25zIH0gZnJvbSAnLi4vYWN0aW9uJztcbmltcG9ydCB7IEFJVmlld1RhYmxlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYnVpbGRDbGlwYm9hcmREYXRhLCB3cml0ZVRvQ2xpcGJvYXJkIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgVGh5Tm90aWZ5U2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvbm90aWZ5JztcblxuZXhwb3J0IGNvbnN0IFJlbW92ZVJlY29yZHNJdGVtOiBBSVRhYmxlQ29udGV4dE1lbnVJdGVtID0ge1xuICAgIHR5cGU6ICdyZW1vdmVSZWNvcmRzJyxcbiAgICBuYW1lOiAn5Yig6Zmk6KGMJyxcbiAgICBpY29uOiAndHJhc2gnLFxuICAgIGV4ZWM6IChcbiAgICAgICAgYWlUYWJsZTogQUlUYWJsZSxcbiAgICAgICAgdGFyZ2V0TmFtZTogc3RyaW5nLFxuICAgICAgICBwb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9LFxuICAgICAgICBhaVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2U6IEFJVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZVxuICAgICkgPT4ge1xuICAgICAgICBsZXQgc2VsZWN0ZWRSZWNvcmRJZHMgPSBBSVRhYmxlLmdldEFjdGl2ZVJlY29yZElkcyhhaVRhYmxlKTtcblxuICAgICAgICBzZWxlY3RlZFJlY29yZElkcy5mb3JFYWNoKChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBBY3Rpb25zLnJlbW92ZVJlY29yZChhaVRhYmxlIGFzIEFJVmlld1RhYmxlLCBbaWRdKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYWlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENvcHlDZWxsc0l0ZW06IEFJVGFibGVDb250ZXh0TWVudUl0ZW0gPSB7XG4gICAgdHlwZTogJ2NvcHlDZWxscycsXG4gICAgbmFtZTogJ+WkjeWIticsXG4gICAgc2hvcnRjdXRLZXk6IGlzTWFjKCkgPyBg4oyYICsgQ2AgOiBgQ3RybCArIENgLFxuICAgIGljb246ICdjb3B5JyxcbiAgICBleGVjOiAoXG4gICAgICAgIGFpVGFibGU6IEFJVGFibGUsXG4gICAgICAgIHRhcmdldE5hbWU6IHN0cmluZyxcbiAgICAgICAgcG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSxcbiAgICAgICAgYWlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlOiBBSVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UsXG4gICAgICAgIG5vdGlmeVNlcnZpY2U6IFRoeU5vdGlmeVNlcnZpY2VcbiAgICApID0+IHtcbiAgICAgICAgY29uc3QgY2xpcGJvYXJkRGF0YSA9IGJ1aWxkQ2xpcGJvYXJkRGF0YShhaVRhYmxlKTtcbiAgICAgICAgaWYgKGNsaXBib2FyZERhdGEpIHtcbiAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmQoY2xpcGJvYXJkRGF0YSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29waWVkQ2VsbHNDb3VudCA9IGFpVGFibGUuc2VsZWN0aW9uKCkuc2VsZWN0ZWRDZWxscy5zaXplO1xuICAgICAgICAgICAgICAgIG5vdGlmeVNlcnZpY2Uuc3VjY2Vzcyhg5bey5aSN5Yi2ICR7Y29waWVkQ2VsbHNDb3VudH0g5Liq5Y2V5YWD5qC8YCwgdW5kZWZpbmVkLCB7XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBQYXN0ZUNlbGxzSXRlbTogKGFjdGlvbnM6IEFJVGFibGVQYXN0ZUFjdGlvbnMpID0+IEFJVGFibGVDb250ZXh0TWVudUl0ZW0gPSAoYWN0aW9uczogQUlUYWJsZVBhc3RlQWN0aW9ucykgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwYXN0ZUNlbGxzJyxcbiAgICAgICAgbmFtZTogJ+eymOi0tCcsXG4gICAgICAgIHNob3J0Y3V0S2V5OiBpc01hYygpID8gYOKMmCArIFZgIDogYEN0cmwgKyBWYCxcbiAgICAgICAgaWNvbjogJ3Bhc3RlJyxcbiAgICAgICAgZXhlYzogYXN5bmMgKFxuICAgICAgICAgICAgYWlUYWJsZTogQUlUYWJsZSxcbiAgICAgICAgICAgIHRhcmdldE5hbWU6IHN0cmluZyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0sXG4gICAgICAgICAgICBhaVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2U6IEFJVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZSxcbiAgICAgICAgICAgIG5vdGlmeVNlcnZpY2U6IFRoeU5vdGlmeVNlcnZpY2VcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICB3cml0ZVRvQUlUYWJsZShhaVRhYmxlLCBhY3Rpb25zKS50aGVuKChpc1Bhc3RlU3VjY2VzcykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNQYXN0ZVN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgbm90aWZ5U2VydmljZS5lcnJvcign57KY6LS05YaF5a655LiN56ym5ZCI5b2T5YmN57G75Z6LJywgdW5kZWZpbmVkLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0J1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG59O1xuIl19
@@ -0,0 +1,21 @@
1
+ import { Actions } from '../../action';
2
+ export function moveFields(aiTable, options, updatedInfo) {
3
+ const { path, newPath } = options;
4
+ Actions.moveField(aiTable, path, newPath);
5
+ }
6
+ export function updateFieldPositionInView(viewId, fields, sourceField, targetField, path, newPath) {
7
+ const targetPosition = targetField.positions[viewId];
8
+ let calculatePosition = 0;
9
+ if (path[0] > newPath[0]) {
10
+ const targetPrevField = fields[Math.max(0, newPath[0] - 1)];
11
+ const targetPrevPosition = targetPrevField.positions[viewId];
12
+ calculatePosition = (targetPosition + targetPrevPosition) / 2;
13
+ }
14
+ else {
15
+ const targetNextField = fields[Math.min(fields.length - 1, newPath[0] + 1)];
16
+ const targetNextPosition = targetNextField.positions[viewId];
17
+ calculatePosition = (targetPosition + targetNextPosition) / 2;
18
+ }
19
+ sourceField.positions[viewId] = calculatePosition;
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1maWVsZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvdXRpbHMvZmllbGQvbW92ZS1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUd2QyxNQUFNLFVBQVUsVUFBVSxDQUFDLE9BQW9CLEVBQUUsT0FBeUIsRUFBRSxXQUFxQztJQUM3RyxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUNsQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FDckMsTUFBYyxFQUNkLE1BQXFCLEVBQ3JCLFdBQXlCLEVBQ3pCLFdBQXlCLEVBQ3pCLElBQWdCLEVBQ2hCLE9BQW1CO0lBRW5CLE1BQU0sY0FBYyxHQUFJLFdBQWdDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNFLElBQUksaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RCxNQUFNLGtCQUFrQixHQUFJLGVBQW9DLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25GLGlCQUFpQixHQUFHLENBQUMsY0FBYyxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7U0FBTSxDQUFDO1FBQ0osTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsTUFBTSxrQkFBa0IsR0FBSSxlQUFvQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRixpQkFBaUIsR0FBRyxDQUFDLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBQ0EsV0FBZ0MsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsaUJBQWlCLENBQUM7QUFDNUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkcywgQUlUYWJsZVJlY29yZFVwZGF0ZWRJbmZvLCBNb3ZlRmllbGRPcHRpb25zLCBOdW1iZXJQYXRoIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgQUlUYWJsZVZpZXdGaWVsZCwgQUlWaWV3VGFibGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBBY3Rpb25zIH0gZnJvbSAnLi4vLi4vYWN0aW9uJztcbmltcG9ydCB7IHVwZGF0ZVJlY29yZHNVcGRhdGVkSW5mbyB9IGZyb20gJy4uL3JlY29yZC91cGRhdGUtc3lzdGVtLWZpZWxkLXZhbHVlJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1vdmVGaWVsZHMoYWlUYWJsZTogQUlWaWV3VGFibGUsIG9wdGlvbnM6IE1vdmVGaWVsZE9wdGlvbnMsIHVwZGF0ZWRJbmZvOiBBSVRhYmxlUmVjb3JkVXBkYXRlZEluZm8pIHtcbiAgICBjb25zdCB7IHBhdGgsIG5ld1BhdGggfSA9IG9wdGlvbnM7XG4gICAgQWN0aW9ucy5tb3ZlRmllbGQoYWlUYWJsZSwgcGF0aCwgbmV3UGF0aCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVGaWVsZFBvc2l0aW9uSW5WaWV3KFxuICAgIHZpZXdJZDogc3RyaW5nLFxuICAgIGZpZWxkczogQUlUYWJsZUZpZWxkcyxcbiAgICBzb3VyY2VGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgcGF0aDogTnVtYmVyUGF0aCxcbiAgICBuZXdQYXRoOiBOdW1iZXJQYXRoXG4pIHtcbiAgICBjb25zdCB0YXJnZXRQb3NpdGlvbiA9ICh0YXJnZXRGaWVsZCBhcyBBSVRhYmxlVmlld0ZpZWxkKS5wb3NpdGlvbnNbdmlld0lkXTtcbiAgICBsZXQgY2FsY3VsYXRlUG9zaXRpb24gPSAwO1xuICAgIGlmIChwYXRoWzBdID4gbmV3UGF0aFswXSkge1xuICAgICAgICBjb25zdCB0YXJnZXRQcmV2RmllbGQgPSBmaWVsZHNbTWF0aC5tYXgoMCwgbmV3UGF0aFswXSAtIDEpXTtcbiAgICAgICAgY29uc3QgdGFyZ2V0UHJldlBvc2l0aW9uID0gKHRhcmdldFByZXZGaWVsZCBhcyBBSVRhYmxlVmlld0ZpZWxkKS5wb3NpdGlvbnNbdmlld0lkXTtcbiAgICAgICAgY2FsY3VsYXRlUG9zaXRpb24gPSAodGFyZ2V0UG9zaXRpb24gKyB0YXJnZXRQcmV2UG9zaXRpb24pIC8gMjtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB0YXJnZXROZXh0RmllbGQgPSBmaWVsZHNbTWF0aC5taW4oZmllbGRzLmxlbmd0aCAtIDEsIG5ld1BhdGhbMF0gKyAxKV07XG4gICAgICAgIGNvbnN0IHRhcmdldE5leHRQb3NpdGlvbiA9ICh0YXJnZXROZXh0RmllbGQgYXMgQUlUYWJsZVZpZXdGaWVsZCkucG9zaXRpb25zW3ZpZXdJZF07XG4gICAgICAgIGNhbGN1bGF0ZVBvc2l0aW9uID0gKHRhcmdldFBvc2l0aW9uICsgdGFyZ2V0TmV4dFBvc2l0aW9uKSAvIDI7XG4gICAgfVxuICAgIChzb3VyY2VGaWVsZCBhcyBBSVRhYmxlVmlld0ZpZWxkKS5wb3NpdGlvbnNbdmlld0lkXSA9IGNhbGN1bGF0ZVBvc2l0aW9uO1xufVxuIl19
@@ -10,4 +10,5 @@ export * from './record/filter';
10
10
  export * from './record/update-field-value';
11
11
  export * from './record/update-system-field-value';
12
12
  export * from './weak-map';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnVpbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC9hZGQtZmllbGRzJztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQvcmVtb3ZlLWZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQvc29ydC1maWVsZHMnO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3JztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjb3JkL2FkZC1yZWNvcmRzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjb3JkL3NvcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNvcmQvZmlsdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjb3JkL3VwZGF0ZS1maWVsZC12YWx1ZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlY29yZC91cGRhdGUtc3lzdGVtLWZpZWxkLXZhbHVlJztcbmV4cG9ydCAqIGZyb20gJy4vd2Vhay1tYXAnO1xuIl19
13
+ export * from './field/move-fields';
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idWlsZCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkL2FkZC1maWVsZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC9yZW1vdmUtZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC9zb3J0LWZpZWxkcyc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNvcmQvYWRkLXJlY29yZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNvcmQvc29ydCc7XG5leHBvcnQgKiBmcm9tICcuL3JlY29yZC9maWx0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNvcmQvdXBkYXRlLWZpZWxkLXZhbHVlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjb3JkL3VwZGF0ZS1zeXN0ZW0tZmllbGQtdmFsdWUnO1xuZXhwb3J0ICogZnJvbSAnLi93ZWFrLW1hcCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkL21vdmUtZmllbGRzJztcbiJdfQ==
@@ -40,9 +40,9 @@ export function getDefaultRecordValues(aiTable, isDuplicate = false, recordId) {
40
40
  });
41
41
  const { conditions, condition_logical } = activeView.settings || {};
42
42
  if (conditions && conditions.length) {
43
- newRecordValues = getDefaultRecordDataByFilter(newRecordValues, conditions, condition_logical);
43
+ newRecordValues = getDefaultRecordDataByFilter(newRecordValues, conditions, fields, condition_logical);
44
44
  }
45
45
  }
46
46
  return newRecordValues;
47
47
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlY29yZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvdXRpbHMvcmVjb3JkL2FkZC1yZWNvcmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsb0JBQW9CLEVBQ3BCLFVBQVUsRUFDVixlQUFlLEVBRWxCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFeEQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxPQUFvQixFQUFFLE9BQXlCLEVBQUUsZUFBZ0M7SUFDeEcsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUNsRixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDOUQsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUF3QixFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzdGLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDbEUsSUFBSSxTQUFTLEtBQUssU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hDLFFBQVEsRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxNQUFNLGlCQUFpQixHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxNQUFNLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9FLGlEQUFpRDtJQUNqRCxpQ0FBaUM7SUFDakMsSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMxQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDeEMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDL0IsTUFBTSxTQUFTLEdBQWtCLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBQzlILE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxPQUFvQixFQUFFLFdBQVcsR0FBRyxLQUFLLEVBQUUsUUFBaUI7SUFDL0YsSUFBSSxlQUFlLEdBQStCLEVBQUUsQ0FBQztJQUNyRCxJQUFJLFdBQVcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMxQixlQUFlLEdBQUcsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1RCxDQUFDO1NBQU0sQ0FBQztRQUNKLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUM5RCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQXVCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDekYsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hCLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsVUFBVSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDcEUsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xDLGVBQWUsR0FBRyw0QkFBNEIsQ0FBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDbkcsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZGRSZWNvcmRPcHRpb25zLFxuICAgIEFJVGFibGVSZWNvcmQsXG4gICAgRGlyZWN0aW9uLFxuICAgIEZpZWxkVmFsdWUsXG4gICAgZ2V0RGVmYXVsdEZpZWxkVmFsdWUsXG4gICAgaWRzQ3JlYXRvcixcbiAgICBzaG9ydElkc0NyZWF0b3IsXG4gICAgVHJhY2thYmxlRW50aXR5XG59IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcbmltcG9ydCB7IEFJVGFibGVWaWV3RmllbGRzLCBBSVRhYmxlVmlld1JlY29yZHMsIEFJVmlld1RhYmxlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0U29ydFJlY29yZHMgfSBmcm9tICcuL3NvcnQnO1xuaW1wb3J0IHsgZ2V0U29ydEZpZWxkcyB9IGZyb20gJy4uL2ZpZWxkL3NvcnQtZmllbGRzJztcbmltcG9ydCB7IEFjdGlvbnMgfSBmcm9tICcuLi8uLi9hY3Rpb24nO1xuaW1wb3J0IHsgZ2V0RGVmYXVsdFJlY29yZERhdGFCeUZpbHRlciB9IGZyb20gJy4vZmlsdGVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFJlY29yZHMoYWlUYWJsZTogQUlWaWV3VGFibGUsIG9wdGlvbnM6IEFkZFJlY29yZE9wdGlvbnMsIHRyYWNrYWJsZUVudGl0eTogVHJhY2thYmxlRW50aXR5KSB7XG4gICAgY29uc3QgeyBvcmlnaW5JZCwgZGlyZWN0aW9uID0gRGlyZWN0aW9uLmFmdGVyLCBpc0R1cGxpY2F0ZSwgY291bnQgPSAxIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IGFjdGl2ZVZpZXcgPSBhaVRhYmxlLnZpZXdzTWFwKClbYWlUYWJsZS5hY3RpdmVWaWV3SWQoKV07XG4gICAgY29uc3QgcmVjb3JkcyA9IGdldFNvcnRSZWNvcmRzKGFpVGFibGUsIGFpVGFibGUucmVjb3JkcygpIGFzIEFJVGFibGVWaWV3UmVjb3JkcywgYWN0aXZlVmlldyk7XG4gICAgbGV0IGFkZEluZGV4ID0gcmVjb3Jkcy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBvcmlnaW5JZCk7XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gRGlyZWN0aW9uLmFmdGVyKSB7XG4gICAgICAgIGFkZEluZGV4Kys7XG4gICAgfVxuICAgIGNvbnN0IG5ld1JlY29yZElkcyA9IGlkc0NyZWF0b3IoY291bnQpO1xuICAgIGNvbnN0IG5ld1JlY29yZFNob3J0SWRzID0gc2hvcnRJZHNDcmVhdG9yKGNvdW50KTtcbiAgICBjb25zdCBuZXdSZWNvcmRWYWx1ZXMgPSBnZXREZWZhdWx0UmVjb3JkVmFsdWVzKGFpVGFibGUsIGlzRHVwbGljYXRlLCBvcmlnaW5JZCk7XG4gICAgLy8gVE9ETzog5Yik5pat5aaC5p6c5a2Y5Zyo562b6YCJ5p2h5Lu277yM5LiUIG5ld1JlY29yZFZhbHVlcyDkuK3msqHmnInkuIDpobnmu6HotrPnrZvpgInmnaHku7ZcbiAgICAvLyDmioogaWQg5re75Yqg5YiwIFJFQ09SRFNfV0lMTF9ISURERU4g5LitXG4gICAgaWYgKGFjdGl2ZVZpZXcuc2V0dGluZ3M/LmNvbmRpdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgICBhaVRhYmxlLnJlY29yZHNXaWxsSGlkZGVuPy51cGRhdGUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB2YWx1ZS5wdXNoKC4uLm5ld1JlY29yZElkcyk7XG4gICAgICAgICAgICByZXR1cm4gWy4uLnZhbHVlXTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5ld1JlY29yZElkcy5mb3JFYWNoKChpZCwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgbmV3UmVjb3JkOiBBSVRhYmxlUmVjb3JkID0geyBfaWQ6IGlkLCBzaG9ydF9pZDogbmV3UmVjb3JkU2hvcnRJZHNbaW5kZXhdLCB2YWx1ZXM6IG5ld1JlY29yZFZhbHVlcywgLi4udHJhY2thYmxlRW50aXR5IH07XG4gICAgICAgIEFjdGlvbnMuYWRkUmVjb3JkKGFpVGFibGUsIG5ld1JlY29yZCwgW2FkZEluZGV4ICsgaW5kZXhdKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRSZWNvcmRWYWx1ZXMoYWlUYWJsZTogQUlWaWV3VGFibGUsIGlzRHVwbGljYXRlID0gZmFsc2UsIHJlY29yZElkPzogc3RyaW5nKSB7XG4gICAgbGV0IG5ld1JlY29yZFZhbHVlczogUmVjb3JkPHN0cmluZywgRmllbGRWYWx1ZT4gPSB7fTtcbiAgICBpZiAoaXNEdXBsaWNhdGUgJiYgcmVjb3JkSWQpIHtcbiAgICAgICAgbmV3UmVjb3JkVmFsdWVzID0gYWlUYWJsZS5yZWNvcmRzTWFwKClbcmVjb3JkSWRdLnZhbHVlcztcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBhY3RpdmVWaWV3ID0gYWlUYWJsZS52aWV3c01hcCgpW2FpVGFibGUuYWN0aXZlVmlld0lkKCldO1xuICAgICAgICBjb25zdCBmaWVsZHMgPSBnZXRTb3J0RmllbGRzKGFpVGFibGUsIGFpVGFibGUuZmllbGRzKCkgYXMgQUlUYWJsZVZpZXdGaWVsZHMsIGFjdGl2ZVZpZXcpO1xuICAgICAgICBmaWVsZHMubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBuZXdSZWNvcmRWYWx1ZXNbaXRlbS5faWRdID0gZ2V0RGVmYXVsdEZpZWxkVmFsdWUoaXRlbSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCB7IGNvbmRpdGlvbnMsIGNvbmRpdGlvbl9sb2dpY2FsIH0gPSBhY3RpdmVWaWV3LnNldHRpbmdzIHx8IHt9O1xuICAgICAgICBpZiAoY29uZGl0aW9ucyAmJiBjb25kaXRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgbmV3UmVjb3JkVmFsdWVzID0gZ2V0RGVmYXVsdFJlY29yZERhdGFCeUZpbHRlcihuZXdSZWNvcmRWYWx1ZXMsIGNvbmRpdGlvbnMsIGNvbmRpdGlvbl9sb2dpY2FsKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3UmVjb3JkVmFsdWVzO1xufVxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlY29yZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvdXRpbHMvcmVjb3JkL2FkZC1yZWNvcmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsb0JBQW9CLEVBQ3BCLFVBQVUsRUFDVixlQUFlLEVBRWxCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFeEQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxPQUFvQixFQUFFLE9BQXlCLEVBQUUsZUFBZ0M7SUFDeEcsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUNsRixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDOUQsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUF3QixFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzdGLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDbEUsSUFBSSxTQUFTLEtBQUssU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hDLFFBQVEsRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxNQUFNLGlCQUFpQixHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxNQUFNLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9FLGlEQUFpRDtJQUNqRCxpQ0FBaUM7SUFDakMsSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMxQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDeEMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDL0IsTUFBTSxTQUFTLEdBQWtCLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBQzlILE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxPQUFvQixFQUFFLFdBQVcsR0FBRyxLQUFLLEVBQUUsUUFBaUI7SUFDL0YsSUFBSSxlQUFlLEdBQStCLEVBQUUsQ0FBQztJQUNyRCxJQUFJLFdBQVcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMxQixlQUFlLEdBQUcsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1RCxDQUFDO1NBQU0sQ0FBQztRQUNKLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUM5RCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQXVCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDekYsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hCLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsVUFBVSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDcEUsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xDLGVBQWUsR0FBRyw0QkFBNEIsQ0FBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNHLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxlQUFlLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWRkUmVjb3JkT3B0aW9ucyxcbiAgICBBSVRhYmxlUmVjb3JkLFxuICAgIERpcmVjdGlvbixcbiAgICBGaWVsZFZhbHVlLFxuICAgIGdldERlZmF1bHRGaWVsZFZhbHVlLFxuICAgIGlkc0NyZWF0b3IsXG4gICAgc2hvcnRJZHNDcmVhdG9yLFxuICAgIFRyYWNrYWJsZUVudGl0eVxufSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBBSVRhYmxlVmlld0ZpZWxkcywgQUlUYWJsZVZpZXdSZWNvcmRzLCBBSVZpZXdUYWJsZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGdldFNvcnRSZWNvcmRzIH0gZnJvbSAnLi9zb3J0JztcbmltcG9ydCB7IGdldFNvcnRGaWVsZHMgfSBmcm9tICcuLi9maWVsZC9zb3J0LWZpZWxkcyc7XG5pbXBvcnQgeyBBY3Rpb25zIH0gZnJvbSAnLi4vLi4vYWN0aW9uJztcbmltcG9ydCB7IGdldERlZmF1bHRSZWNvcmREYXRhQnlGaWx0ZXIgfSBmcm9tICcuL2ZpbHRlcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRSZWNvcmRzKGFpVGFibGU6IEFJVmlld1RhYmxlLCBvcHRpb25zOiBBZGRSZWNvcmRPcHRpb25zLCB0cmFja2FibGVFbnRpdHk6IFRyYWNrYWJsZUVudGl0eSkge1xuICAgIGNvbnN0IHsgb3JpZ2luSWQsIGRpcmVjdGlvbiA9IERpcmVjdGlvbi5hZnRlciwgaXNEdXBsaWNhdGUsIGNvdW50ID0gMSB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBhY3RpdmVWaWV3ID0gYWlUYWJsZS52aWV3c01hcCgpW2FpVGFibGUuYWN0aXZlVmlld0lkKCldO1xuICAgIGNvbnN0IHJlY29yZHMgPSBnZXRTb3J0UmVjb3JkcyhhaVRhYmxlLCBhaVRhYmxlLnJlY29yZHMoKSBhcyBBSVRhYmxlVmlld1JlY29yZHMsIGFjdGl2ZVZpZXcpO1xuICAgIGxldCBhZGRJbmRleCA9IHJlY29yZHMuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gb3JpZ2luSWQpO1xuICAgIGlmIChkaXJlY3Rpb24gPT09IERpcmVjdGlvbi5hZnRlcikge1xuICAgICAgICBhZGRJbmRleCsrO1xuICAgIH1cbiAgICBjb25zdCBuZXdSZWNvcmRJZHMgPSBpZHNDcmVhdG9yKGNvdW50KTtcbiAgICBjb25zdCBuZXdSZWNvcmRTaG9ydElkcyA9IHNob3J0SWRzQ3JlYXRvcihjb3VudCk7XG4gICAgY29uc3QgbmV3UmVjb3JkVmFsdWVzID0gZ2V0RGVmYXVsdFJlY29yZFZhbHVlcyhhaVRhYmxlLCBpc0R1cGxpY2F0ZSwgb3JpZ2luSWQpO1xuICAgIC8vIFRPRE86IOWIpOaWreWmguaenOWtmOWcqOetm+mAieadoeS7tu+8jOS4lCBuZXdSZWNvcmRWYWx1ZXMg5Lit5rKh5pyJ5LiA6aG55ruh6Laz562b6YCJ5p2h5Lu2XG4gICAgLy8g5oqKIGlkIOa3u+WKoOWIsCBSRUNPUkRTX1dJTExfSElEREVOIOS4rVxuICAgIGlmIChhY3RpdmVWaWV3LnNldHRpbmdzPy5jb25kaXRpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgYWlUYWJsZS5yZWNvcmRzV2lsbEhpZGRlbj8udXBkYXRlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdmFsdWUucHVzaCguLi5uZXdSZWNvcmRJZHMpO1xuICAgICAgICAgICAgcmV0dXJuIFsuLi52YWx1ZV07XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBuZXdSZWNvcmRJZHMuZm9yRWFjaCgoaWQsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1JlY29yZDogQUlUYWJsZVJlY29yZCA9IHsgX2lkOiBpZCwgc2hvcnRfaWQ6IG5ld1JlY29yZFNob3J0SWRzW2luZGV4XSwgdmFsdWVzOiBuZXdSZWNvcmRWYWx1ZXMsIC4uLnRyYWNrYWJsZUVudGl0eSB9O1xuICAgICAgICBBY3Rpb25zLmFkZFJlY29yZChhaVRhYmxlLCBuZXdSZWNvcmQsIFthZGRJbmRleCArIGluZGV4XSk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0UmVjb3JkVmFsdWVzKGFpVGFibGU6IEFJVmlld1RhYmxlLCBpc0R1cGxpY2F0ZSA9IGZhbHNlLCByZWNvcmRJZD86IHN0cmluZykge1xuICAgIGxldCBuZXdSZWNvcmRWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIEZpZWxkVmFsdWU+ID0ge307XG4gICAgaWYgKGlzRHVwbGljYXRlICYmIHJlY29yZElkKSB7XG4gICAgICAgIG5ld1JlY29yZFZhbHVlcyA9IGFpVGFibGUucmVjb3Jkc01hcCgpW3JlY29yZElkXS52YWx1ZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgYWN0aXZlVmlldyA9IGFpVGFibGUudmlld3NNYXAoKVthaVRhYmxlLmFjdGl2ZVZpZXdJZCgpXTtcbiAgICAgICAgY29uc3QgZmllbGRzID0gZ2V0U29ydEZpZWxkcyhhaVRhYmxlLCBhaVRhYmxlLmZpZWxkcygpIGFzIEFJVGFibGVWaWV3RmllbGRzLCBhY3RpdmVWaWV3KTtcbiAgICAgICAgZmllbGRzLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgbmV3UmVjb3JkVmFsdWVzW2l0ZW0uX2lkXSA9IGdldERlZmF1bHRGaWVsZFZhbHVlKGl0ZW0pO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgeyBjb25kaXRpb25zLCBjb25kaXRpb25fbG9naWNhbCB9ID0gYWN0aXZlVmlldy5zZXR0aW5ncyB8fCB7fTtcbiAgICAgICAgaWYgKGNvbmRpdGlvbnMgJiYgY29uZGl0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIG5ld1JlY29yZFZhbHVlcyA9IGdldERlZmF1bHRSZWNvcmREYXRhQnlGaWx0ZXIobmV3UmVjb3JkVmFsdWVzLCBjb25kaXRpb25zLCBmaWVsZHMsIGNvbmRpdGlvbl9sb2dpY2FsKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3UmVjb3JkVmFsdWVzO1xufVxuIl19
@@ -1,4 +1,4 @@
1
- import { AITableFieldType, isSystemField, ViewOperationMap, isEmpty } from '@ai-table/grid';
1
+ import { AITableFieldType, isSystemField, FieldModelMap, isEmpty, AITableFilterOperation } from '@ai-table/grid';
2
2
  import { AITableFilterLogical } from '../../types';
3
3
  export function getFilteredRecords(aiTable, records, fields, activeView) {
4
4
  const { conditions, condition_logical } = activeView.settings || {};
@@ -43,14 +43,41 @@ function doFilterOperations(fields, record, condition) {
43
43
  }
44
44
  }
45
45
  export function doFilter(condition, field, cellValue) {
46
- return ViewOperationMap[field.type].isMeetFilter(condition, cellValue);
46
+ return FieldModelMap[field.type].isMeetFilter(condition, cellValue);
47
47
  }
48
- export function getDefaultRecordDataByFilter(recordValues, conditions, conditionLogical) {
49
- if (conditions.length === 1) {
50
- // recordValues[conditions[0].field_id] = conditions[0].value;
51
- }
52
- else {
53
- //...
48
+ export function getDefaultRecordDataByFilter(recordValues, conditions, fields, conditionLogical) {
49
+ const fieldMap = new Map(fields.map((field) => [field._id, field]));
50
+ const conditionFieldCountMap = new Map();
51
+ conditions.forEach((condition) => {
52
+ const fieldId = condition.field_id.toString();
53
+ const tmpFieldCount = conditionFieldCountMap.get(fieldId) || 0;
54
+ conditionFieldCountMap.set(fieldId, tmpFieldCount + 1);
55
+ });
56
+ if (conditionLogical === AITableFilterLogical.and) {
57
+ conditions.forEach((condition) => {
58
+ if (conditionFieldCountMap.get(condition.field_id.toString()) === 1) {
59
+ const field = fieldMap.get(condition.field_id.toString());
60
+ const canMultipleOperationCondition = (!field.settings?.is_multiple && condition.operation === AITableFilterOperation.eq) ||
61
+ field?.settings?.is_multiple;
62
+ if ([AITableFilterOperation.eq, AITableFilterOperation.in].includes(condition.operation) &&
63
+ [AITableFieldType.select, AITableFieldType.member].includes(field?.type) &&
64
+ canMultipleOperationCondition) {
65
+ recordValues[condition.field_id] = condition.value;
66
+ }
67
+ if (field?.type === AITableFieldType.date && condition.operation === AITableFilterOperation.eq) {
68
+ recordValues[condition.field_id] = {
69
+ timestamp: condition.value
70
+ };
71
+ }
72
+ if (condition.operation === AITableFilterOperation.contain && AITableFieldType.text === field?.type) {
73
+ recordValues[condition.field_id] = condition.value;
74
+ }
75
+ if (condition.operation === AITableFilterOperation.eq &&
76
+ [AITableFieldType.rate, AITableFieldType.number, AITableFieldType.progress].includes(field?.type)) {
77
+ recordValues[condition.field_id] = condition.value;
78
+ }
79
+ }
80
+ });
54
81
  }
55
82
  return recordValues;
56
83
  }
@@ -76,4 +103,4 @@ function getFilterValue(fields, record, condition) {
76
103
  cellValue
77
104
  };
78
105
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3V0aWxzL3JlY29yZC9maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGdCQUFnQixFQUloQixhQUFhLEVBRWIsZ0JBQWdCLEVBQ2hCLE9BQU8sRUFDVixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFFSCxvQkFBb0IsRUFNdkIsTUFBTSxhQUFhLENBQUM7QUFFckIsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE9BQW9CLEVBQUUsT0FBMkIsRUFBRSxNQUF5QixFQUFFLFVBQXVCO0lBQ3BJLE1BQU0sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxVQUFVLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztJQUNwRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDZCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1QixPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN0RCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUM3QixJQUFJLGlCQUFpQixJQUFJLGlCQUFpQixDQUFDLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUYsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sZUFBZSxDQUFDLE1BQU0sRUFB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LE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBd0IsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDTCxDQUFDO1NBQU0sQ0FBQztRQUNKLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsSCxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQsT0FBTztRQUNILEtBQUs7UUFDTCxTQUFTO0tBQ1osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFJVGFibGVGaWVsZFR5cGUsXG4gICAgQUlUYWJsZUZpbHRlckNvbmRpdGlvbixcbiAgICBBSVRhYmxlUmVjb3JkLFxuICAgIEZpZWxkVmFsdWUsXG4gICAgaXNTeXN0ZW1GaWVsZCxcbiAgICBTeXN0ZW1GaWVsZFR5cGVzLFxuICAgIFZpZXdPcGVyYXRpb25NYXAsXG4gICAgaXNFbXB0eVxufSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQge1xuICAgIEFJVGFibGVGaWx0ZXJDb25kaXRpb25zLFxuICAgIEFJVGFibGVGaWx0ZXJMb2dpY2FsLFxuICAgIEFJVGFibGVWaWV3LFxuICAgIEFJVGFibGVWaWV3RmllbGQsXG4gICAgQUlUYWJsZVZpZXdGaWVsZHMsXG4gICAgQUlUYWJsZVZpZXdSZWNvcmRzLFxuICAgIEFJVmlld1RhYmxlXG59IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbHRlcmVkUmVjb3JkcyhhaVRhYmxlOiBBSVZpZXdUYWJsZSwgcmVjb3JkczogQUlUYWJsZVZpZXdSZWNvcmRzLCBmaWVsZHM6IEFJVGFibGVWaWV3RmllbGRzLCBhY3RpdmVWaWV3OiBBSVRhYmxlVmlldykge1xuICAgIGNvbnN0IHsgY29uZGl0aW9ucywgY29uZGl0aW9uX2xvZ2ljYWwgfSA9IGFjdGl2ZVZpZXcuc2V0dGluZ3MgfHwge307XG4gICAgaWYgKCFjb25kaXRpb25zKSB7XG4gICAgICAgIHJldHVybiByZWNvcmRzO1xuICAgIH1cbiAgICBjb25zdCBpbGxlZ2FsQ29uZGl0aW9ucyA9IGNvbmRpdGlvbnMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLm9wZXJhdGlvbikgfHwgW107XG4gICAgaWYgKCFpbGxlZ2FsQ29uZGl0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHJlY29yZHM7XG4gICAgfVxuICAgIGNvbnN0IHJlY29yZHNXaWxsSGlkZGVuID0gYWlUYWJsZS5yZWNvcmRzV2lsbEhpZGRlbigpO1xuICAgIHJldHVybiByZWNvcmRzLmZpbHRlcigocmVjb3JkKSA9PiB7XG4gICAgICAgIGlmIChyZWNvcmRzV2lsbEhpZGRlbiAmJiByZWNvcmRzV2lsbEhpZGRlbi5sZW5ndGggJiYgcmVjb3Jkc1dpbGxIaWRkZW4uaW5jbHVkZXMocmVjb3JkLl9pZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjaGVja0NvbmRpdGlvbnMoZmllbGRzLCByZWNvcmQsIHsgY29uZGl0aW9uczogaWxsZWdhbENvbmRpdGlvbnMsIGNvbmRpdGlvbl9sb2dpY2FsIH0pO1xuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBjaGVja0NvbmRpdGlvbnMoZmllbGRzOiBBSVRhYmxlVmlld0ZpZWxkcywgcmVjb3JkOiBBSVRhYmxlUmVjb3JkLCBmaWx0ZXJDb25kaXRpb25zOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9ucykge1xuICAgIGlmICghcmVjb3JkKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCFmaWx0ZXJDb25kaXRpb25zPy5jb25kaXRpb25zKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCB7IGNvbmRpdGlvbl9sb2dpY2FsLCBjb25kaXRpb25zIH0gPSBmaWx0ZXJDb25kaXRpb25zO1xuICAgIGlmIChjb25kaXRpb25fbG9naWNhbCA9PT0gQUlUYWJsZUZpbHRlckxvZ2ljYWwuYW5kKSB7XG4gICAgICAgIHJldHVybiBjb25kaXRpb25zLmV2ZXJ5KChjb25kaXRpb24pID0+IGRvRmlsdGVyT3BlcmF0aW9ucyhmaWVsZHMsIHJlY29yZCwgY29uZGl0aW9uKSk7XG4gICAgfVxuICAgIGlmICghY29uZGl0aW9uX2xvZ2ljYWwgfHwgY29uZGl0aW9uX2xvZ2ljYWwgPT09IEFJVGFibGVGaWx0ZXJMb2dpY2FsLm9yKSB7XG4gICAgICAgIHJldHVybiBjb25kaXRpb25zLnNvbWUoKGNvbmRpdGlvbikgPT4gZG9GaWx0ZXJPcGVyYXRpb25zKGZpZWxkcywgcmVjb3JkLCBjb25kaXRpb24pKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBkb0ZpbHRlck9wZXJhdGlvbnMoZmllbGRzOiBBSVRhYmxlVmlld0ZpZWxkcywgcmVjb3JkOiBBSVRhYmxlUmVjb3JkLCBjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb24pIHtcbiAgICBjb25zdCB7IGZpZWxkLCBjZWxsVmFsdWUgfSA9IGdldEZpbHRlclZhbHVlKGZpZWxkcywgcmVjb3JkLCBjb25kaXRpb24pO1xuXG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIGRvRmlsdGVyKGNvbmRpdGlvbiwgZmllbGQsIGNlbGxWYWx1ZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRvRmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgZmllbGQ6IEFJVGFibGVWaWV3RmllbGQsIGNlbGxWYWx1ZTogRmllbGRWYWx1ZSkge1xuICAgIHJldHVybiBWaWV3T3BlcmF0aW9uTWFwW2ZpZWxkLnR5cGVdLmlzTWVldEZpbHRlcihjb25kaXRpb24sIGNlbGxWYWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0UmVjb3JkRGF0YUJ5RmlsdGVyKFxuICAgIHJlY29yZFZhbHVlczogUmVjb3JkPHN0cmluZywgRmllbGRWYWx1ZT4sXG4gICAgY29uZGl0aW9uczogQUlUYWJsZUZpbHRlckNvbmRpdGlvbltdLFxuICAgIGNvbmRpdGlvbkxvZ2ljYWw/OiBBSVRhYmxlRmlsdGVyTG9naWNhbFxuKSB7XG4gICAgaWYgKGNvbmRpdGlvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIC8vIHJlY29yZFZhbHVlc1tjb25kaXRpb25zWzBdLmZpZWxkX2lkXSA9IGNvbmRpdGlvbnNbMF0udmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgLy8uLi5cbiAgICB9XG4gICAgcmV0dXJuIHJlY29yZFZhbHVlcztcbn1cblxuZnVuY3Rpb24gZ2V0RmlsdGVyVmFsdWUoZmllbGRzOiBBSVRhYmxlVmlld0ZpZWxkcywgcmVjb3JkOiBBSVRhYmxlUmVjb3JkLCBjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb24pIHtcbiAgICBjb25zdCBmaWVsZCA9IGZpZWxkcy5maW5kKChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gY29uZGl0aW9uLmZpZWxkX2lkKTtcbiAgICBsZXQgY2VsbFZhbHVlID0gbnVsbDtcbiAgICBpZiAoZmllbGQgJiYgaXNTeXN0ZW1GaWVsZChmaWVsZCkpIHtcbiAgICAgICAgaWYgKFtBSVRhYmxlRmllbGRUeXBlLmNyZWF0ZWRBdCwgQUlUYWJsZUZpZWxkVHlwZS51cGRhdGVkQXRdLmluY2x1ZGVzKGZpZWxkLnR5cGUpKSB7XG4gICAgICAgICAgICBjZWxsVmFsdWUgPSB7IHRpbWVzdGFtcDogcmVjb3JkW2ZpZWxkLnR5cGUgYXMgU3lzdGVtRmllbGRUeXBlc10gfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNlbGxWYWx1ZSA9IHJlY29yZFtmaWVsZC50eXBlIGFzIFN5c3RlbUZpZWxkVHlwZXNdO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY2VsbFZhbHVlID0gcmVjb3JkLnZhbHVlc1tjb25kaXRpb24uZmllbGRfaWRdO1xuICAgIH1cblxuICAgIGlmIChmaWVsZCAmJiBbQUlUYWJsZUZpZWxkVHlwZS5jcmVhdGVkQnksIEFJVGFibGVGaWVsZFR5cGUudXBkYXRlZEJ5LCBBSVRhYmxlRmllbGRUeXBlLm1lbWJlcl0uaW5jbHVkZXMoZmllbGQudHlwZSkpIHtcbiAgICAgICAgY2VsbFZhbHVlID0gQXJyYXkuaXNBcnJheShjZWxsVmFsdWUpID8gY2VsbFZhbHVlIDogaXNFbXB0eShjZWxsVmFsdWUpID8gW10gOiBbY2VsbFZhbHVlXTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBmaWVsZCxcbiAgICAgICAgY2VsbFZhbHVlXG4gICAgfTtcbn1cbiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3V0aWxzL3JlY29yZC9maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGdCQUFnQixFQUloQixhQUFhLEVBRWIsYUFBYSxFQUNiLE9BQU8sRUFDUCxzQkFBc0IsRUFFekIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBRUgsb0JBQW9CLEVBTXZCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUFvQixFQUFFLE9BQTJCLEVBQUUsTUFBeUIsRUFBRSxVQUF1QjtJQUNwSSxNQUFNLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsVUFBVSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7SUFDcEUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUNELE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUNELE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDdEQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDN0IsSUFBSSxpQkFBaUIsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFGLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLGVBQWUsQ0FB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Q0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEgsU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELE9BQU87UUFDSCxLQUFLO1FBQ0wsU0FBUztLQUNaLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBSVRhYmxlRmllbGRUeXBlLFxuICAgIEFJVGFibGVGaWx0ZXJDb25kaXRpb24sXG4gICAgQUlUYWJsZVJlY29yZCxcbiAgICBGaWVsZFZhbHVlLFxuICAgIGlzU3lzdGVtRmllbGQsXG4gICAgU3lzdGVtRmllbGRUeXBlcyxcbiAgICBGaWVsZE1vZGVsTWFwLFxuICAgIGlzRW1wdHksXG4gICAgQUlUYWJsZUZpbHRlck9wZXJhdGlvbixcbiAgICBTZWxlY3RTZXR0aW5nc1xufSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQge1xuICAgIEFJVGFibGVGaWx0ZXJDb25kaXRpb25zLFxuICAgIEFJVGFibGVGaWx0ZXJMb2dpY2FsLFxuICAgIEFJVGFibGVWaWV3LFxuICAgIEFJVGFibGVWaWV3RmllbGQsXG4gICAgQUlUYWJsZVZpZXdGaWVsZHMsXG4gICAgQUlUYWJsZVZpZXdSZWNvcmRzLFxuICAgIEFJVmlld1RhYmxlXG59IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbHRlcmVkUmVjb3JkcyhhaVRhYmxlOiBBSVZpZXdUYWJsZSwgcmVjb3JkczogQUlUYWJsZVZpZXdSZWNvcmRzLCBmaWVsZHM6IEFJVGFibGVWaWV3RmllbGRzLCBhY3RpdmVWaWV3OiBBSVRhYmxlVmlldykge1xuICAgIGNvbnN0IHsgY29uZGl0aW9ucywgY29uZGl0aW9uX2xvZ2ljYWwgfSA9IGFjdGl2ZVZpZXcuc2V0dGluZ3MgfHwge307XG4gICAgaWYgKCFjb25kaXRpb25zKSB7XG4gICAgICAgIHJldHVybiByZWNvcmRzO1xuICAgIH1cbiAgICBjb25zdCBpbGxlZ2FsQ29uZGl0aW9ucyA9IGNvbmRpdGlvbnMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLm9wZXJhdGlvbikgfHwgW107XG4gICAgaWYgKCFpbGxlZ2FsQ29uZGl0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHJlY29yZHM7XG4gICAgfVxuICAgIGNvbnN0IHJlY29yZHNXaWxsSGlkZGVuID0gYWlUYWJsZS5yZWNvcmRzV2lsbEhpZGRlbigpO1xuICAgIHJldHVybiByZWNvcmRzLmZpbHRlcigocmVjb3JkKSA9PiB7XG4gICAgICAgIGlmIChyZWNvcmRzV2lsbEhpZGRlbiAmJiByZWNvcmRzV2lsbEhpZGRlbi5sZW5ndGggJiYgcmVjb3Jkc1dpbGxIaWRkZW4uaW5jbHVkZXMocmVjb3JkLl9pZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjaGVja0NvbmRpdGlvbnMoZmllbGRzLCByZWNvcmQsIHsgY29uZGl0aW9uczogaWxsZWdhbENvbmRpdGlvbnMsIGNvbmRpdGlvbl9sb2dpY2FsIH0pO1xuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBjaGVja0NvbmRpdGlvbnMoZmllbGRzOiBBSVRhYmxlVmlld0ZpZWxkcywgcmVjb3JkOiBBSVRhYmxlUmVjb3JkLCBmaWx0ZXJDb25kaXRpb25zOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9ucykge1xuICAgIGlmICghcmVjb3JkKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCFmaWx0ZXJDb25kaXRpb25zPy5jb25kaXRpb25zKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCB7IGNvbmRpdGlvbl9sb2dpY2FsLCBjb25kaXRpb25zIH0gPSBmaWx0ZXJDb25kaXRpb25zO1xuICAgIGlmIChjb25kaXRpb25fbG9naWNhbCA9PT0gQUlUYWJsZUZpbHRlckxvZ2ljYWwuYW5kKSB7XG4gICAgICAgIHJldHVybiBjb25kaXRpb25zLmV2ZXJ5KChjb25kaXRpb24pID0+IGRvRmlsdGVyT3BlcmF0aW9ucyhmaWVsZHMsIHJlY29yZCwgY29uZGl0aW9uKSk7XG4gICAgfVxuICAgIGlmICghY29uZGl0aW9uX2xvZ2ljYWwgfHwgY29uZGl0aW9uX2xvZ2ljYWwgPT09IEFJVGFibGVGaWx0ZXJMb2dpY2FsLm9yKSB7XG4gICAgICAgIHJldHVybiBjb25kaXRpb25zLnNvbWUoKGNvbmRpdGlvbikgPT4gZG9GaWx0ZXJPcGVyYXRpb25zKGZpZWxkcywgcmVjb3JkLCBjb25kaXRpb24pKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBkb0ZpbHRlck9wZXJhdGlvbnMoZmllbGRzOiBBSVRhYmxlVmlld0ZpZWxkcywgcmVjb3JkOiBBSVRhYmxlUmVjb3JkLCBjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb24pIHtcbiAgICBjb25zdCB7IGZpZWxkLCBjZWxsVmFsdWUgfSA9IGdldEZpbHRlclZhbHVlKGZpZWxkcywgcmVjb3JkLCBjb25kaXRpb24pO1xuXG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGZpZWxkICYmIGRvRmlsdGVyKGNvbmRpdGlvbiwgZmllbGQsIGNlbGxWYWx1ZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRvRmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgZmllbGQ6IEFJVGFibGVWaWV3RmllbGQsIGNlbGxWYWx1ZTogRmllbGRWYWx1ZSkge1xuICAgIHJldHVybiBGaWVsZE1vZGVsTWFwW2ZpZWxkLnR5cGVdLmlzTWVldEZpbHRlcihjb25kaXRpb24sIGNlbGxWYWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0UmVjb3JkRGF0YUJ5RmlsdGVyKFxuICAgIHJlY29yZFZhbHVlczogUmVjb3JkPHN0cmluZywgRmllbGRWYWx1ZT4sXG4gICAgY29uZGl0aW9uczogQUlUYWJsZUZpbHRlckNvbmRpdGlvbltdLFxuICAgIGZpZWxkczogQUlUYWJsZVZpZXdGaWVsZHMsXG4gICAgY29uZGl0aW9uTG9naWNhbD86IEFJVGFibGVGaWx0ZXJMb2dpY2FsXG4pIHtcbiAgICBjb25zdCBmaWVsZE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBBSVRhYmxlVmlld0ZpZWxkPihmaWVsZHMubWFwKChmaWVsZCkgPT4gW2ZpZWxkLl9pZCwgZmllbGRdKSk7XG4gICAgY29uc3QgY29uZGl0aW9uRmllbGRDb3VudE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XG4gICAgY29uZGl0aW9ucy5mb3JFYWNoKChjb25kaXRpb24pID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRJZCA9IGNvbmRpdGlvbi5maWVsZF9pZC50b1N0cmluZygpO1xuICAgICAgICBjb25zdCB0bXBGaWVsZENvdW50ID0gY29uZGl0aW9uRmllbGRDb3VudE1hcC5nZXQoZmllbGRJZCkgfHwgMDtcbiAgICAgICAgY29uZGl0aW9uRmllbGRDb3VudE1hcC5zZXQoZmllbGRJZCwgdG1wRmllbGRDb3VudCArIDEpO1xuICAgIH0pO1xuICAgIGlmIChjb25kaXRpb25Mb2dpY2FsID09PSBBSVRhYmxlRmlsdGVyTG9naWNhbC5hbmQpIHtcbiAgICAgICAgY29uZGl0aW9ucy5mb3JFYWNoKChjb25kaXRpb24pID0+IHtcbiAgICAgICAgICAgIGlmIChjb25kaXRpb25GaWVsZENvdW50TWFwLmdldChjb25kaXRpb24uZmllbGRfaWQudG9TdHJpbmcoKSkgPT09IDEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZCA9IGZpZWxkTWFwLmdldChjb25kaXRpb24uZmllbGRfaWQudG9TdHJpbmcoKSkhO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNhbk11bHRpcGxlT3BlcmF0aW9uQ29uZGl0aW9uID1cbiAgICAgICAgICAgICAgICAgICAgKCEoZmllbGQuc2V0dGluZ3MgYXMgU2VsZWN0U2V0dGluZ3MpPy5pc19tdWx0aXBsZSAmJiBjb25kaXRpb24ub3BlcmF0aW9uID09PSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmVxKSB8fFxuICAgICAgICAgICAgICAgICAgICAoZmllbGQ/LnNldHRpbmdzIGFzIFNlbGVjdFNldHRpbmdzKT8uaXNfbXVsdGlwbGU7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBbQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lcSwgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5pbl0uaW5jbHVkZXMoY29uZGl0aW9uLm9wZXJhdGlvbikgJiZcbiAgICAgICAgICAgICAgICAgICAgW0FJVGFibGVGaWVsZFR5cGUuc2VsZWN0LCBBSVRhYmxlRmllbGRUeXBlLm1lbWJlcl0uaW5jbHVkZXMoZmllbGQ/LnR5cGUpICYmXG4gICAgICAgICAgICAgICAgICAgIGNhbk11bHRpcGxlT3BlcmF0aW9uQ29uZGl0aW9uXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlY29yZFZhbHVlc1tjb25kaXRpb24uZmllbGRfaWRdID0gY29uZGl0aW9uLnZhbHVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChmaWVsZD8udHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS5kYXRlICYmIGNvbmRpdGlvbi5vcGVyYXRpb24gPT09IEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkVmFsdWVzW2NvbmRpdGlvbi5maWVsZF9pZF0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXA6IGNvbmRpdGlvbi52YWx1ZVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChjb25kaXRpb24ub3BlcmF0aW9uID09PSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmNvbnRhaW4gJiYgQUlUYWJsZUZpZWxkVHlwZS50ZXh0ID09PSBmaWVsZD8udHlwZSkge1xuICAgICAgICAgICAgICAgICAgICByZWNvcmRWYWx1ZXNbY29uZGl0aW9uLmZpZWxkX2lkXSA9IGNvbmRpdGlvbi52YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbi5vcGVyYXRpb24gPT09IEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXEgJiZcbiAgICAgICAgICAgICAgICAgICAgW0FJVGFibGVGaWVsZFR5cGUucmF0ZSwgQUlUYWJsZUZpZWxkVHlwZS5udW1iZXIsIEFJVGFibGVGaWVsZFR5cGUucHJvZ3Jlc3NdLmluY2x1ZGVzKGZpZWxkPy50eXBlKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZWNvcmRWYWx1ZXNbY29uZGl0aW9uLmZpZWxkX2lkXSA9IGNvbmRpdGlvbi52YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVjb3JkVmFsdWVzO1xufVxuXG5mdW5jdGlvbiBnZXRGaWx0ZXJWYWx1ZShmaWVsZHM6IEFJVGFibGVWaWV3RmllbGRzLCByZWNvcmQ6IEFJVGFibGVSZWNvcmQsIGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbikge1xuICAgIGNvbnN0IGZpZWxkID0gZmllbGRzLmZpbmQoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBjb25kaXRpb24uZmllbGRfaWQpO1xuICAgIGxldCBjZWxsVmFsdWUgPSBudWxsO1xuICAgIGlmIChmaWVsZCAmJiBpc1N5c3RlbUZpZWxkKGZpZWxkKSkge1xuICAgICAgICBpZiAoW0FJVGFibGVGaWVsZFR5cGUuY3JlYXRlZEF0LCBBSVRhYmxlRmllbGRUeXBlLnVwZGF0ZWRBdF0uaW5jbHVkZXMoZmllbGQudHlwZSkpIHtcbiAgICAgICAgICAgIGNlbGxWYWx1ZSA9IHsgdGltZXN0YW1wOiByZWNvcmRbZmllbGQudHlwZSBhcyBTeXN0ZW1GaWVsZFR5cGVzXSB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2VsbFZhbHVlID0gcmVjb3JkW2ZpZWxkLnR5cGUgYXMgU3lzdGVtRmllbGRUeXBlc107XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBjZWxsVmFsdWUgPSByZWNvcmQudmFsdWVzW2NvbmRpdGlvbi5maWVsZF9pZF07XG4gICAgfVxuXG4gICAgaWYgKGZpZWxkICYmIFtBSVRhYmxlRmllbGRUeXBlLmNyZWF0ZWRCeSwgQUlUYWJsZUZpZWxkVHlwZS51cGRhdGVkQnksIEFJVGFibGVGaWVsZFR5cGUubWVtYmVyXS5pbmNsdWRlcyhmaWVsZC50eXBlKSkge1xuICAgICAgICBjZWxsVmFsdWUgPSBBcnJheS5pc0FycmF5KGNlbGxWYWx1ZSkgPyBjZWxsVmFsdWUgOiBpc0VtcHR5KGNlbGxWYWx1ZSkgPyBbXSA6IFtjZWxsVmFsdWVdO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGZpZWxkLFxuICAgICAgICBjZWxsVmFsdWVcbiAgICB9O1xufVxuIl19
@@ -1,4 +1,4 @@
1
- import { AITableQueries, ViewOperationMap } from '@ai-table/grid';
1
+ import { AITableQueries, FieldModelMap } from '@ai-table/grid';
2
2
  import { sortByViewPosition } from '../common';
3
3
  export function getSortRecords(aiTable, records, activeView, sortKeysMap) {
4
4
  if (!activeView?.settings || !activeView.settings.sorts?.length) {
@@ -19,7 +19,7 @@ export function sortRecordsBySortInfo(aiTable, records, activeView, sortKeysMap)
19
19
  if (!field || acc !== 0) {
20
20
  return acc;
21
21
  }
22
- const fieldMethod = ViewOperationMap[field.type];
22
+ const fieldMethod = FieldModelMap[field.type];
23
23
  const sortKey = sortKeysMap?.[field.type];
24
24
  const cellValue1 = AITableQueries.getFieldValue(aiTable, [prev._id, field._id]);
25
25
  const cellValue2 = AITableQueries.getFieldValue(aiTable, [current._id, field._id]);
@@ -32,4 +32,4 @@ export function sortRecordsBySortInfo(aiTable, records, activeView, sortKeysMap)
32
32
  }
33
33
  return shallowRows;
34
34
  }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy91dGlscy9yZWNvcmQvc29ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTZCLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUUvQyxNQUFNLFVBQVUsY0FBYyxDQUMxQixPQUFnQixFQUNoQixPQUEyQixFQUMzQixVQUF1QixFQUN2QixXQUF1RDtJQUV2RCxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzlELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFDRCxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDcEQsSUFBSSxZQUFZLElBQUksS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2hDLE9BQU8scUJBQXFCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUNELE9BQU8sa0JBQWtCLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQ2pDLE9BQWdCLEVBQ2hCLE9BQTJCLEVBQzNCLFVBQXVCLEVBQ3ZCLFdBQXVEO0lBRXZELE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUNqQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3JDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDL0IsT0FBTyxVQUFVLENBQUMsUUFBUyxDQUFDLEtBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7Z0JBQ3BELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxLQUFLLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN0QixPQUFPLEdBQUcsQ0FBQztnQkFDZixDQUFDO2dCQUNELE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakQsTUFBTSxPQUFPLEdBQUcsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUUxQyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hGLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDbkYsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE9BQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDakQsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ3BGLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDaEMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ1YsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0lBQ0QsT0FBTyxXQUFXLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGUsIEFJVGFibGVGaWVsZFR5cGUsIEFJVGFibGVRdWVyaWVzLCBWaWV3T3BlcmF0aW9uTWFwIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgQUlUYWJsZVZpZXcsIEFJVGFibGVWaWV3UmVjb3JkcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IHNvcnRCeVZpZXdQb3NpdGlvbiB9IGZyb20gJy4uL2NvbW1vbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTb3J0UmVjb3JkcyhcbiAgICBhaVRhYmxlOiBBSVRhYmxlLFxuICAgIHJlY29yZHM6IEFJVGFibGVWaWV3UmVjb3JkcyxcbiAgICBhY3RpdmVWaWV3OiBBSVRhYmxlVmlldyxcbiAgICBzb3J0S2V5c01hcD86IFBhcnRpYWw8UmVjb3JkPEFJVGFibGVGaWVsZFR5cGUsIHN0cmluZz4+XG4pIHtcbiAgICBpZiAoIWFjdGl2ZVZpZXc/LnNldHRpbmdzIHx8ICFhY3RpdmVWaWV3LnNldHRpbmdzLnNvcnRzPy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHJlY29yZHM7XG4gICAgfVxuICAgIGNvbnN0IHsgaXNfa2VlcF9zb3J0LCBzb3J0cyB9ID0gYWN0aXZlVmlldy5zZXR0aW5ncztcbiAgICBpZiAoaXNfa2VlcF9zb3J0ICYmIHNvcnRzPy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHNvcnRSZWNvcmRzQnlTb3J0SW5mbyhhaVRhYmxlLCByZWNvcmRzLCBhY3RpdmVWaWV3LCBzb3J0S2V5c01hcCk7XG4gICAgfVxuICAgIHJldHVybiBzb3J0QnlWaWV3UG9zaXRpb24ocmVjb3JkcywgYWN0aXZlVmlldyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0UmVjb3Jkc0J5U29ydEluZm8oXG4gICAgYWlUYWJsZTogQUlUYWJsZSxcbiAgICByZWNvcmRzOiBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgYWN0aXZlVmlldzogQUlUYWJsZVZpZXcsXG4gICAgc29ydEtleXNNYXA/OiBQYXJ0aWFsPFJlY29yZDxBSVRhYmxlRmllbGRUeXBlLCBzdHJpbmc+PlxuKSB7XG4gICAgY29uc3Qgc2hhbGxvd1Jvd3MgPSBbLi4ucmVjb3Jkc107XG4gICAgaWYgKGFjdGl2ZVZpZXcuc2V0dGluZ3M/LnNvcnRzPy5sZW5ndGgpIHtcbiAgICAgICAgc2hhbGxvd1Jvd3Muc29ydCgocHJldiwgY3VycmVudCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGFjdGl2ZVZpZXcuc2V0dGluZ3MhLnNvcnRzIS5yZWR1Y2UoKGFjYywgcnVsZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkID0gYWlUYWJsZS5maWVsZHNNYXAoKVtydWxlLnNvcnRfYnldO1xuICAgICAgICAgICAgICAgIGlmICghZmllbGQgfHwgYWNjICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkTWV0aG9kID0gVmlld09wZXJhdGlvbk1hcFtmaWVsZC50eXBlXTtcbiAgICAgICAgICAgICAgICBjb25zdCBzb3J0S2V5ID0gc29ydEtleXNNYXA/LltmaWVsZC50eXBlXTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGNlbGxWYWx1ZTEgPSBBSVRhYmxlUXVlcmllcy5nZXRGaWVsZFZhbHVlKGFpVGFibGUsIFtwcmV2Ll9pZCwgZmllbGQuX2lkXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY2VsbFZhbHVlMiA9IEFJVGFibGVRdWVyaWVzLmdldEZpZWxkVmFsdWUoYWlUYWJsZSwgW2N1cnJlbnQuX2lkLCBmaWVsZC5faWRdKTtcbiAgICAgICAgICAgICAgICBjb25zdCByZWZlcmVuY2VzID0gYWlUYWJsZS5jb250ZXh0IS5yZWZlcmVuY2VzKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzID0gZmllbGRNZXRob2QuY29tcGFyZShjZWxsVmFsdWUxLCBjZWxsVmFsdWUyLCBmaWVsZCwgcmVmZXJlbmNlcywgc29ydEtleSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcyAqIHJ1bGUuZGlyZWN0aW9uO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gc2hhbGxvd1Jvd3M7XG4gICAgfVxuICAgIHJldHVybiBzaGFsbG93Um93cztcbn1cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy91dGlscy9yZWNvcmQvc29ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTZCLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFL0MsTUFBTSxVQUFVLGNBQWMsQ0FDMUIsT0FBZ0IsRUFDaEIsT0FBMkIsRUFDM0IsVUFBdUIsRUFDdkIsV0FBdUQ7SUFFdkQsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUM5RCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO0lBQ3BELElBQUksWUFBWSxJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNoQyxPQUFPLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFDRCxPQUFPLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUNqQyxPQUFnQixFQUNoQixPQUEyQixFQUMzQixVQUF1QixFQUN2QixXQUF1RDtJQUV2RCxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDakMsSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNyQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQy9CLE9BQU8sVUFBVSxDQUFDLFFBQVMsQ0FBQyxLQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO2dCQUNwRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNoRCxJQUFJLENBQUMsS0FBSyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDdEIsT0FBTyxHQUFHLENBQUM7Z0JBQ2YsQ0FBQztnQkFDRCxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM5QyxNQUFNLE9BQU8sR0FBRyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRTFDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDaEYsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNuRixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNqRCxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDcEYsT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNoQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDVixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZUZpZWxkVHlwZSwgQUlUYWJsZVF1ZXJpZXMsIEZpZWxkTW9kZWxNYXAgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBBSVRhYmxlVmlldywgQUlUYWJsZVZpZXdSZWNvcmRzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgc29ydEJ5Vmlld1Bvc2l0aW9uIH0gZnJvbSAnLi4vY29tbW9uJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNvcnRSZWNvcmRzKFxuICAgIGFpVGFibGU6IEFJVGFibGUsXG4gICAgcmVjb3JkczogQUlUYWJsZVZpZXdSZWNvcmRzLFxuICAgIGFjdGl2ZVZpZXc6IEFJVGFibGVWaWV3LFxuICAgIHNvcnRLZXlzTWFwPzogUGFydGlhbDxSZWNvcmQ8QUlUYWJsZUZpZWxkVHlwZSwgc3RyaW5nPj5cbikge1xuICAgIGlmICghYWN0aXZlVmlldz8uc2V0dGluZ3MgfHwgIWFjdGl2ZVZpZXcuc2V0dGluZ3Muc29ydHM/Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gcmVjb3JkcztcbiAgICB9XG4gICAgY29uc3QgeyBpc19rZWVwX3NvcnQsIHNvcnRzIH0gPSBhY3RpdmVWaWV3LnNldHRpbmdzO1xuICAgIGlmIChpc19rZWVwX3NvcnQgJiYgc29ydHM/Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gc29ydFJlY29yZHNCeVNvcnRJbmZvKGFpVGFibGUsIHJlY29yZHMsIGFjdGl2ZVZpZXcsIHNvcnRLZXlzTWFwKTtcbiAgICB9XG4gICAgcmV0dXJuIHNvcnRCeVZpZXdQb3NpdGlvbihyZWNvcmRzLCBhY3RpdmVWaWV3KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNvcnRSZWNvcmRzQnlTb3J0SW5mbyhcbiAgICBhaVRhYmxlOiBBSVRhYmxlLFxuICAgIHJlY29yZHM6IEFJVGFibGVWaWV3UmVjb3JkcyxcbiAgICBhY3RpdmVWaWV3OiBBSVRhYmxlVmlldyxcbiAgICBzb3J0S2V5c01hcD86IFBhcnRpYWw8UmVjb3JkPEFJVGFibGVGaWVsZFR5cGUsIHN0cmluZz4+XG4pIHtcbiAgICBjb25zdCBzaGFsbG93Um93cyA9IFsuLi5yZWNvcmRzXTtcbiAgICBpZiAoYWN0aXZlVmlldy5zZXR0aW5ncz8uc29ydHM/Lmxlbmd0aCkge1xuICAgICAgICBzaGFsbG93Um93cy5zb3J0KChwcmV2LCBjdXJyZW50KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYWN0aXZlVmlldy5zZXR0aW5ncyEuc29ydHMhLnJlZHVjZSgoYWNjLCBydWxlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGQgPSBhaVRhYmxlLmZpZWxkc01hcCgpW3J1bGUuc29ydF9ieV07XG4gICAgICAgICAgICAgICAgaWYgKCFmaWVsZCB8fCBhY2MgIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRNZXRob2QgPSBGaWVsZE1vZGVsTWFwW2ZpZWxkLnR5cGVdO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNvcnRLZXkgPSBzb3J0S2V5c01hcD8uW2ZpZWxkLnR5cGVdO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgY2VsbFZhbHVlMSA9IEFJVGFibGVRdWVyaWVzLmdldEZpZWxkVmFsdWUoYWlUYWJsZSwgW3ByZXYuX2lkLCBmaWVsZC5faWRdKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxsVmFsdWUyID0gQUlUYWJsZVF1ZXJpZXMuZ2V0RmllbGRWYWx1ZShhaVRhYmxlLCBbY3VycmVudC5faWQsIGZpZWxkLl9pZF0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSBhaVRhYmxlLmNvbnRleHQhLnJlZmVyZW5jZXMoKTtcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBmaWVsZE1ldGhvZC5jb21wYXJlKGNlbGxWYWx1ZTEsIGNlbGxWYWx1ZTIsIGZpZWxkLCByZWZlcmVuY2VzLCBzb3J0S2V5KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzICogcnVsZS5kaXJlY3Rpb247XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBzaGFsbG93Um93cztcbiAgICB9XG4gICAgcmV0dXJuIHNoYWxsb3dSb3dzO1xufVxuIl19