@ai-table/state 0.0.43 → 0.0.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action/general.d.ts.map +1 -1
- package/constants/context-menu-item.d.ts +4 -4
- package/constants/context-menu-item.d.ts.map +1 -1
- package/constants/field-menu-item.d.ts +3 -3
- package/constants/field-menu-item.d.ts.map +1 -1
- package/esm2022/action/general.mjs +4 -2
- package/esm2022/constants/context-menu-item.mjs +36 -30
- package/esm2022/constants/field-menu-item.mjs +11 -12
- package/esm2022/shared/to-table/array-event.mjs +6 -6
- package/esm2022/shared/to-table/map-event.mjs +2 -2
- package/esm2022/shared/utils/translate.mjs +3 -3
- package/esm2022/utils/common.mjs +12 -1
- package/esm2022/utils/field/remove-field.mjs +4 -3
- package/esm2022/utils/i18n.mjs +37 -0
- package/esm2022/utils/index.mjs +2 -1
- package/esm2022/utils/view.mjs +27 -7
- package/fesm2022/ai-table-state.mjs +126 -58
- package/fesm2022/ai-table-state.mjs.map +1 -1
- package/package.json +1 -1
- package/shared/to-table/array-event.d.ts.map +1 -1
- package/shared/to-table/map-event.d.ts.map +1 -1
- package/shared/utils/translate.d.ts +1 -1
- package/shared/utils/translate.d.ts.map +1 -1
- package/utils/common.d.ts +2 -0
- package/utils/common.d.ts.map +1 -1
- package/utils/field/remove-field.d.ts +1 -1
- package/utils/field/remove-field.d.ts.map +1 -1
- package/utils/i18n.d.ts +15 -0
- package/utils/i18n.d.ts.map +1 -0
- package/utils/index.d.ts +1 -0
- package/utils/index.d.ts.map +1 -1
- package/utils/view.d.ts +1 -0
- package/utils/view.d.ts.map +1 -1
package/action/general.d.ts.map
CHANGED
@@ -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;
|
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;AAoLlB,eAAO,MAAM,cAAc;uBACJ,WAAW,UAAU,aAAa,GAAG,IAAI;CAS/D,CAAC"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { AITableContextMenuItem,
|
2
|
-
export declare const RemoveRecordsItem: AITableContextMenuItem;
|
3
|
-
export declare const CopyCellsItem: AITableContextMenuItem;
|
4
|
-
export declare const PasteCellsItem: (actions:
|
1
|
+
import { AITable, AITableContextMenuItem, AITableActions } from '@ai-table/grid';
|
2
|
+
export declare const RemoveRecordsItem: (aiTable: AITable, actions: AITableActions) => AITableContextMenuItem;
|
3
|
+
export declare const CopyCellsItem: (aiTable: AITable, actions: AITableActions) => AITableContextMenuItem;
|
4
|
+
export declare const PasteCellsItem: (aiTable: AITable, actions: AITableActions) => AITableContextMenuItem;
|
5
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,
|
1
|
+
{"version":3,"file":"context-menu-item.d.ts","sourceRoot":"","sources":["../../../packages/state/src/constants/context-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAmD,cAAc,EAA2C,MAAM,gBAAgB,CAAC;AAO3K,eAAO,MAAM,iBAAiB,YAAa,OAAO,WAAW,cAAc,KAAG,sBAkB7E,CAAC;AAEF,eAAO,MAAM,aAAa,YAAa,OAAO,WAAW,cAAc,KAAG,sBA4BzE,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,KAAK,sBAyB3E,CAAC"}
|
@@ -1,10 +1,10 @@
|
|
1
|
-
import { AddFieldOptions, AITableField } from '@ai-table/grid';
|
1
|
+
import { AddFieldOptions, AITable, AITableField } from '@ai-table/grid';
|
2
2
|
import { ElementRef, Signal } from '@angular/core';
|
3
3
|
import { AIViewTable } from '../types';
|
4
4
|
export declare const DividerMenuItem: {
|
5
5
|
type: string;
|
6
6
|
};
|
7
|
-
export declare const EditFieldPropertyItem: {
|
7
|
+
export declare const EditFieldPropertyItem: (aiTable: AITable) => {
|
8
8
|
type: string;
|
9
9
|
name: string;
|
10
10
|
icon: string;
|
@@ -13,7 +13,7 @@ export declare const EditFieldPropertyItem: {
|
|
13
13
|
y: number;
|
14
14
|
}) => import("ngx-tethys/popover").ThyPopoverRef<unknown, unknown, unknown> | undefined;
|
15
15
|
};
|
16
|
-
export declare const CopyFieldPropertyItem: (addFieldFn: (data: AddFieldOptions) => void) => {
|
16
|
+
export declare const CopyFieldPropertyItem: (aiTable: AITable, addFieldFn: (data: AddFieldOptions) => void) => {
|
17
17
|
type: string;
|
18
18
|
name: string;
|
19
19
|
icon: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"field-menu-item.d.ts","sourceRoot":"","sources":["../../../packages/state/src/constants/field-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAmC,YAAY,EAAkC,MAAM,gBAAgB,CAAC;
|
1
|
+
{"version":3,"file":"field-menu-item.d.ts","sourceRoot":"","sources":["../../../packages/state/src/constants/field-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAmC,OAAO,EAAE,YAAY,EAAkC,MAAM,gBAAgB,CAAC;AACzI,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,eAAO,MAAM,eAAe;;CAE3B,CAAC;AAEF,eAAO,MAAM,qBAAqB,YAAa,OAAO;;;;oBAKrC,WAAW,SACb,OAAO,YAAY,CAAC,WAClB,WAAW,GAAG,WAAW,GAAG,CAAC,aAC3B;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;CAoBzC,CAAC;AAEH,eAAO,MAAM,qBAAqB,YAAa,OAAO,cAAc,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI;;;;oBAM3E,WAAW,SAAS,OAAO,YAAY,CAAC;CAiB/D,CAAC"}
|
@@ -44,7 +44,9 @@ const apply = (aiTable, records, fields, views, action) => {
|
|
44
44
|
const [fieldIndex] = action.path;
|
45
45
|
if (fieldIndex > -1) {
|
46
46
|
const newField = action.field;
|
47
|
-
newField.positions
|
47
|
+
if (!newField.positions) {
|
48
|
+
newField.positions = createDefaultPositions(aiTable.views(), aiTable.activeViewId(), aiTable.gridData().fields, action.path[0]);
|
49
|
+
}
|
48
50
|
fields.splice(fieldIndex, 0, newField);
|
49
51
|
records.forEach((item) => {
|
50
52
|
item.values[newField._id] =
|
@@ -175,4 +177,4 @@ export const GeneralActions = {
|
|
175
177
|
aiTable.views.set(finishDraft(views));
|
176
178
|
}
|
177
179
|
};
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy9hY3Rpb24vZ2VuZXJhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQVFiLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pELE9BQU8sRUFBK0Isb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9ELE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBb0IsRUFBRSxPQUEyQixFQUFFLE1BQXFCLEVBQUUsS0FBb0IsRUFBRSxNQUFxQixFQUFFLEVBQUU7SUFDcEksUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsS0FBSyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztZQUN4QyxJQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQztnQkFDakYsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQ2hFLENBQUM7WUFDRCxNQUFNO1FBQ1YsQ0FBQztRQUNELEtBQUssVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztZQUNyQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUks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ICBBSVRhYmxlQWN0aW9uLFxuICAgIEFJVGFibGVWaWV3LFxuICAgIEFJVGFibGVWaWV3RmllbGQsXG4gICAgQUlUYWJsZVZpZXdGaWVsZHMsXG4gICAgQUlUYWJsZVZpZXdSZWNvcmQsXG4gICAgQUlUYWJsZVZpZXdSZWNvcmRzLFxuICAgIEFJVmlld1RhYmxlXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZURyYWZ0LCBmaW5pc2hEcmFmdCB9IGZyb20gJ2ltbWVyJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkcywgZ2V0RGVmYXVsdEZpZWxkVmFsdWUgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBjcmVhdGVEZWZhdWx0UG9zaXRpb25zLCBpc1BhdGhFcXVhbCB9IGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgYXBwbHkgPSAoYWlUYWJsZTogQUlWaWV3VGFibGUsIHJlY29yZHM6IEFJVGFibGVWaWV3UmVjb3JkcywgZmllbGRzOiBBSVRhYmxlRmllbGRzLCB2aWV3czogQUlUYWJsZVZpZXdbXSwgYWN0aW9uOiBBSVRhYmxlQWN0aW9uKSA9PiB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuVXBkYXRlRmllbGRWYWx1ZToge1xuICAgICAgICAgICAgY29uc3QgW3JlY29yZElkLCBmaWVsZElkXSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgaWYgKHJlY29yZElkICYmIGZpZWxkSWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRJbmRleCA9IGFpVGFibGUucmVjb3JkcygpLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IHJlY29yZElkKTtcbiAgICAgICAgICAgICAgICByZWNvcmRzW3JlY29yZEluZGV4XS52YWx1ZXNbZmllbGRJZF0gPSBhY3Rpb24ubmV3RmllbGRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5VcGRhdGVTeXN0ZW1GaWVsZFZhbHVlOiB7XG4gICAgICAgICAgICBjb25zdCBbcmVjb3JkSWRdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBpZiAocmVjb3JkSWQgJiYgYWN0aW9uLnVwZGF0ZWRJbmZvKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSBhaVRhYmxlLnJlY29yZHMoKS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSByZWNvcmRJZCk7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbi51cGRhdGVkSW5mby51cGRhdGVkX2F0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlY29yZHNbcmVjb3JkSW5kZXhdLnVwZGF0ZWRfYXQgPSBhY3Rpb24udXBkYXRlZEluZm8udXBkYXRlZF9hdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbi51cGRhdGVkSW5mby51cGRhdGVkX2J5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlY29yZHNbcmVjb3JkSW5kZXhdLnVwZGF0ZWRfYnkgPSBhY3Rpb24udXBkYXRlZEluZm8udXBkYXRlZF9ieTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuQWRkUmVjb3JkOiB7XG4gICAgICAgICAgICBjb25zdCBbcmVjb3JkSW5kZXhdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBpZiAocmVjb3JkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIGlmICghKGFjdGlvbi5yZWNvcmQgYXMgQUlUYWJsZVZpZXdSZWNvcmQpLnBvc2l0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVWaWV3ID0gYWlUYWJsZS52aWV3cygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBhaVRhYmxlLmFjdGl2ZVZpZXdJZCgpKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGluZGV4ID0gcmVjb3JkSW5kZXg7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhY3RpdmVWaWV3Py5zZXR0aW5ncz8uY29uZGl0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggPSByZWNvcmRzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAoYWN0aW9uLnJlY29yZCBhcyBBSVRhYmxlVmlld1JlY29yZCkucG9zaXRpb25zID0gY3JlYXRlRGVmYXVsdFBvc2l0aW9ucyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGFpVGFibGUudmlld3MoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFpVGFibGUuYWN0aXZlVmlld0lkKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnJlY29yZHMoKSBhcyBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZWNvcmRzLnNwbGljZShyZWNvcmRJbmRleCwgMCwgYWN0aW9uLnJlY29yZCBhcyBBSVRhYmxlVmlld1JlY29yZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuQWRkRmllbGQ6IHtcbiAgICAgICAgICAgIGNvbnN0IFtmaWVsZEluZGV4XSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgaWYgKGZpZWxkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0ZpZWxkID0gYWN0aW9uLmZpZWxkO1xuICAgICAgICAgICAgICAgIChuZXdGaWVsZCBhcyBBSVRhYmxlVmlld0ZpZWxkKS5wb3NpdGlvbnMgPSBjcmVhdGVEZWZhdWx0UG9zaXRpb25zKFxuICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnZpZXdzKCksXG4gICAgICAgICAgICAgICAgICAgIGFpVGFibGUuYWN0aXZlVmlld0lkKCksXG4gICAgICAgICAgICAgICAgICAgIGFpVGFibGUuZmllbGRzKCkgYXMgQUlUYWJsZVZpZXdGaWVsZHMsXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbi5wYXRoWzBdXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBmaWVsZHMuc3BsaWNlKGZpZWxkSW5kZXgsIDAsIG5ld0ZpZWxkIGFzIEFJVGFibGVWaWV3RmllbGQpO1xuICAgICAgICAgICAgICAgIHJlY29yZHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLnZhbHVlc1tuZXdGaWVsZC5faWRdID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbi5pc0NvcHkgJiYgYWN0aW9uLm9yaWdpbklkID8gaXRlbS52YWx1ZXNbYWN0aW9uLm9yaWdpbklkXSA6IGdldERlZmF1bHRGaWVsZFZhbHVlKGFjdGlvbi5maWVsZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuTW92ZVJlY29yZDoge1xuICAgICAgICAgICAgaWYgKGlzUGF0aEVxdWFsKGFjdGlvbi5wYXRoLCBhY3Rpb24ubmV3UGF0aCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByZWNvcmQgPSByZWNvcmRzW2FjdGlvbi5wYXRoWzBdXTtcbiAgICAgICAgICAgIHJlY29yZHMuc3BsaWNlKGFjdGlvbi5wYXRoWzBdLCAxKTtcbiAgICAgICAgICAgIHJlY29yZHMuc3BsaWNlKGFjdGlvbi5uZXdQYXRoWzBdLCAwLCByZWNvcmQpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlJlbW92ZUZpZWxkOiB7XG4gICAgICAgICAgICBjb25zdCBbZmllbGRJZF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkSW5kZXggPSBhaVRhYmxlLmZpZWxkcygpLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IGZpZWxkSWQpO1xuICAgICAgICAgICAgaWYgKGZpZWxkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIGZpZWxkcy5zcGxpY2UoZmllbGRJbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgcmVjb3Jkcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLnZhbHVlc1tmaWVsZElkXTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmQ6IHtcbiAgICAgICAgICAgIGNvbnN0IFtyZWNvcmRJZF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGNvbnN0IHJlY29yZEluZGV4ID0gYWlUYWJsZS5yZWNvcmRzKCkuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gcmVjb3JkSWQpO1xuICAgICAgICAgICAgaWYgKHJlY29yZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICByZWNvcmRzLnNwbGljZShyZWNvcmRJbmRleCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5TZXRGaWVsZDoge1xuICAgICAgICAgICAgY29uc3QgZmllbGQgPSBmaWVsZHMuZmluZCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IGFjdGlvbi5wYXRoWzBdKSBhcyBBSVRhYmxlRmllbGQ7XG4gICAgICAgICAgICBpZiAoZmllbGQpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBhY3Rpb24ubmV3UHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBrID0ga2V5IGFzIGtleW9mIEFJVGFibGVGaWVsZDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBhY3Rpb24ubmV3UHJvcGVydGllc1trXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBmaWVsZFtrXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIChmaWVsZFtrXSBhcyBhbnkpID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBwcm9wZXJ0aWVzIHRoYXQgd2VyZSBwcmV2aW91c2x5IGRlZmluZWQsIGJ1dCBhcmUgbm93IG1pc3NpbmcsIG11c3QgYmUgZGVsZXRlZFxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGFjdGlvbi5wcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghYWN0aW9uLm5ld1Byb3BlcnRpZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGZpZWxkWzxrZXlvZiBBSVRhYmxlRmllbGQ+a2V5XTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5TZXRWaWV3OiB7XG4gICAgICAgICAgICBjb25zdCB2aWV3ID0gdmlld3MuZmluZCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IGFjdGlvbi5wYXRoWzBdKSBhcyBBSVRhYmxlVmlldztcbiAgICAgICAgICAgIGlmICh2aWV3KSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gYWN0aW9uLm5ld1Byb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgayA9IGtleSBhcyBrZXlvZiBBSVRhYmxlVmlldztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBhY3Rpb24ubmV3UHJvcGVydGllc1trXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB2aWV3W2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgKHZpZXdba10gYXMgYW55KSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gcHJvcGVydGllcyB0aGF0IHdlcmUgcHJldmlvdXNseSBkZWZpbmVkLCBidXQgYXJlIG5vdyBtaXNzaW5nLCBtdXN0IGJlIGRlbGV0ZWRcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBhY3Rpb24ucHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWFjdGlvbi5uZXdQcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB2aWV3WzxrZXlvZiBBSVRhYmxlVmlldz5rZXldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLkFkZFZpZXc6IHtcbiAgICAgICAgICAgIGNvbnN0IFt2aWV3SW5kZXhdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBpZiAodmlld0luZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICB2aWV3cy5zcGxpY2Uodmlld0luZGV4LCAwLCBhY3Rpb24udmlldyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuUmVtb3ZlVmlldzoge1xuICAgICAgICAgICAgY29uc3QgW3ZpZXdJZF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdJbmRleCA9IHZpZXdzLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IHZpZXdJZCk7XG4gICAgICAgICAgICBpZiAodmlld0luZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICB2aWV3cy5zcGxpY2Uodmlld0luZGV4LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5TZXRSZWNvcmRQb3NpdGlvbnM6IHtcbiAgICAgICAgICAgIGNvbnN0IHsgcG9zaXRpb25zLCBwYXRoIH0gPSBhY3Rpb247XG4gICAgICAgICAgICBjb25zdCByZWNvcmQgPSByZWNvcmRzLmZpbmQoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBwYXRoWzBdKTtcbiAgICAgICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdQb3NpdGlvbnMgPSB7IC4uLnJlY29yZC5wb3NpdGlvbnMgfTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBwb3NpdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBvc2l0aW9uc1trZXldID09PSBudWxsIHx8IHBvc2l0aW9uc1trZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBuZXdQb3NpdGlvbnNba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Bvc2l0aW9uc1trZXldID0gcG9zaXRpb25zW2tleV0gYXMgbnVtYmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlY29yZC5wb3NpdGlvbnMgPSBuZXdQb3NpdGlvbnM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICByZWNvcmRzLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZpZXdzXG4gICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBHZW5lcmFsQWN0aW9ucyA9IHtcbiAgICB0cmFuc2Zvcm0oYWlUYWJsZTogQUlWaWV3VGFibGUsIGFjdGlvbjogQUlUYWJsZUFjdGlvbik6IHZvaWQge1xuICAgICAgICBjb25zdCByZWNvcmRzID0gY3JlYXRlRHJhZnQoYWlUYWJsZS5yZWNvcmRzKCkpIGFzIEFJVGFibGVWaWV3UmVjb3JkcztcbiAgICAgICAgY29uc3QgZmllbGRzID0gY3JlYXRlRHJhZnQoYWlUYWJsZS5ncmlkRGF0YSgpLmZpZWxkcykgYXMgQUlUYWJsZVZpZXdGaWVsZHM7XG4gICAgICAgIGNvbnN0IHZpZXdzID0gY3JlYXRlRHJhZnQoYWlUYWJsZS52aWV3cygpKTtcbiAgICAgICAgYXBwbHkoYWlUYWJsZSwgcmVjb3JkcywgZmllbGRzLCB2aWV3cywgYWN0aW9uKTtcbiAgICAgICAgYWlUYWJsZS5maWVsZHMuc2V0KGZpbmlzaERyYWZ0KGZpZWxkcykpO1xuICAgICAgICBhaVRhYmxlLnJlY29yZHMuc2V0KGZpbmlzaERyYWZ0KHJlY29yZHMpKTtcbiAgICAgICAgYWlUYWJsZS52aWV3cy5zZXQoZmluaXNoRHJhZnQodmlld3MpKTtcbiAgICB9XG59O1xuIl19
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy9hY3Rpb24vZ2VuZXJhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQVFiLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pELE9BQU8sRUFBK0Isb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9ELE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBb0IsRUFBRSxPQUEyQixFQUFFLE1BQXFCLEVBQUUsS0FBb0IsRUFBRSxNQUFxQixFQUFFLEVBQUU7SUFDcEksUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsS0FBSyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztZQUN4QyxJQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQztnQkFDakYsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQ2hFLENBQUM7WUFDRCxNQUFNO1FBQ1YsQ0FBQztRQUNELEtBQUssVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztZQUNyQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUks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Q0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFjdGlvbk5hbWUsXG4gICAgQUlUYWJsZUFjdGlvbixcbiAgICBBSVRhYmxlVmlldyxcbiAgICBBSVRhYmxlVmlld0ZpZWxkLFxuICAgIEFJVGFibGVWaWV3RmllbGRzLFxuICAgIEFJVGFibGVWaWV3UmVjb3JkLFxuICAgIEFJVGFibGVWaWV3UmVjb3JkcyxcbiAgICBBSVZpZXdUYWJsZVxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVEcmFmdCwgZmluaXNoRHJhZnQgfSBmcm9tICdpbW1lcic7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGQsIEFJVGFibGVGaWVsZHMsIGdldERlZmF1bHRGaWVsZFZhbHVlIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgY3JlYXRlRGVmYXVsdFBvc2l0aW9ucywgaXNQYXRoRXF1YWwgfSBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IGFwcGx5ID0gKGFpVGFibGU6IEFJVmlld1RhYmxlLCByZWNvcmRzOiBBSVRhYmxlVmlld1JlY29yZHMsIGZpZWxkczogQUlUYWJsZUZpZWxkcywgdmlld3M6IEFJVGFibGVWaWV3W10sIGFjdGlvbjogQUlUYWJsZUFjdGlvbikgPT4ge1xuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlVwZGF0ZUZpZWxkVmFsdWU6IHtcbiAgICAgICAgICAgIGNvbnN0IFtyZWNvcmRJZCwgZmllbGRJZF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGlmIChyZWNvcmRJZCAmJiBmaWVsZElkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSBhaVRhYmxlLnJlY29yZHMoKS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSByZWNvcmRJZCk7XG4gICAgICAgICAgICAgICAgcmVjb3Jkc1tyZWNvcmRJbmRleF0udmFsdWVzW2ZpZWxkSWRdID0gYWN0aW9uLm5ld0ZpZWxkVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuVXBkYXRlU3lzdGVtRmllbGRWYWx1ZToge1xuICAgICAgICAgICAgY29uc3QgW3JlY29yZElkXSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgaWYgKHJlY29yZElkICYmIGFjdGlvbi51cGRhdGVkSW5mbykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZEluZGV4ID0gYWlUYWJsZS5yZWNvcmRzKCkuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gcmVjb3JkSWQpO1xuICAgICAgICAgICAgICAgIGlmIChhY3Rpb24udXBkYXRlZEluZm8udXBkYXRlZF9hdCkge1xuICAgICAgICAgICAgICAgICAgICByZWNvcmRzW3JlY29yZEluZGV4XS51cGRhdGVkX2F0ID0gYWN0aW9uLnVwZGF0ZWRJbmZvLnVwZGF0ZWRfYXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhY3Rpb24udXBkYXRlZEluZm8udXBkYXRlZF9ieSkge1xuICAgICAgICAgICAgICAgICAgICByZWNvcmRzW3JlY29yZEluZGV4XS51cGRhdGVkX2J5ID0gYWN0aW9uLnVwZGF0ZWRJbmZvLnVwZGF0ZWRfYnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLkFkZFJlY29yZDoge1xuICAgICAgICAgICAgY29uc3QgW3JlY29yZEluZGV4XSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgaWYgKHJlY29yZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICBpZiAoIShhY3Rpb24ucmVjb3JkIGFzIEFJVGFibGVWaWV3UmVjb3JkKS5wb3NpdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlVmlldyA9IGFpVGFibGUudmlld3MoKS5maW5kKChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gYWlUYWJsZS5hY3RpdmVWaWV3SWQoKSk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IHJlY29yZEluZGV4O1xuICAgICAgICAgICAgICAgICAgICBpZiAoYWN0aXZlVmlldz8uc2V0dGluZ3M/LmNvbmRpdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4ID0gcmVjb3Jkcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgKGFjdGlvbi5yZWNvcmQgYXMgQUlUYWJsZVZpZXdSZWNvcmQpLnBvc2l0aW9ucyA9IGNyZWF0ZURlZmF1bHRQb3NpdGlvbnMoXG4gICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnZpZXdzKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLmFjdGl2ZVZpZXdJZCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWlUYWJsZS5yZWNvcmRzKCkgYXMgQUlUYWJsZVZpZXdSZWNvcmRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVjb3Jkcy5zcGxpY2UocmVjb3JkSW5kZXgsIDAsIGFjdGlvbi5yZWNvcmQgYXMgQUlUYWJsZVZpZXdSZWNvcmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLkFkZEZpZWxkOiB7XG4gICAgICAgICAgICBjb25zdCBbZmllbGRJbmRleF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGlmIChmaWVsZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdGaWVsZCA9IGFjdGlvbi5maWVsZDtcbiAgICAgICAgICAgICAgICBpZiAoIShuZXdGaWVsZCBhcyBBSVRhYmxlVmlld0ZpZWxkKS5wb3NpdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgKG5ld0ZpZWxkIGFzIEFJVGFibGVWaWV3RmllbGQpLnBvc2l0aW9ucyA9IGNyZWF0ZURlZmF1bHRQb3NpdGlvbnMoXG4gICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnZpZXdzKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLmFjdGl2ZVZpZXdJZCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWlUYWJsZS5ncmlkRGF0YSgpLmZpZWxkcyBhcyBBSVRhYmxlVmlld0ZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbi5wYXRoWzBdXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZpZWxkcy5zcGxpY2UoZmllbGRJbmRleCwgMCwgbmV3RmllbGQgYXMgQUlUYWJsZVZpZXdGaWVsZCk7XG4gICAgICAgICAgICAgICAgcmVjb3Jkcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udmFsdWVzW25ld0ZpZWxkLl9pZF0gPVxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uLmlzQ29weSAmJiBhY3Rpb24ub3JpZ2luSWQgPyBpdGVtLnZhbHVlc1thY3Rpb24ub3JpZ2luSWRdIDogZ2V0RGVmYXVsdEZpZWxkVmFsdWUoYWN0aW9uLmZpZWxkKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5Nb3ZlUmVjb3JkOiB7XG4gICAgICAgICAgICBpZiAoaXNQYXRoRXF1YWwoYWN0aW9uLnBhdGgsIGFjdGlvbi5uZXdQYXRoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJlY29yZCA9IHJlY29yZHNbYWN0aW9uLnBhdGhbMF1dO1xuICAgICAgICAgICAgcmVjb3Jkcy5zcGxpY2UoYWN0aW9uLnBhdGhbMF0sIDEpO1xuICAgICAgICAgICAgcmVjb3Jkcy5zcGxpY2UoYWN0aW9uLm5ld1BhdGhbMF0sIDAsIHJlY29yZCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuUmVtb3ZlRmllbGQ6IHtcbiAgICAgICAgICAgIGNvbnN0IFtmaWVsZElkXSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IGFpVGFibGUuZmllbGRzKCkuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gZmllbGRJZCk7XG4gICAgICAgICAgICBpZiAoZmllbGRJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgZmllbGRzLnNwbGljZShmaWVsZEluZGV4LCAxKTtcbiAgICAgICAgICAgICAgICByZWNvcmRzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGl0ZW0udmFsdWVzW2ZpZWxkSWRdO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlJlbW92ZVJlY29yZDoge1xuICAgICAgICAgICAgY29uc3QgW3JlY29yZElkXSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSBhaVRhYmxlLnJlY29yZHMoKS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSByZWNvcmRJZCk7XG4gICAgICAgICAgICBpZiAocmVjb3JkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIHJlY29yZHMuc3BsaWNlKHJlY29yZEluZGV4LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlNldEZpZWxkOiB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZCA9IGZpZWxkcy5maW5kKChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gYWN0aW9uLnBhdGhbMF0pIGFzIEFJVGFibGVGaWVsZDtcbiAgICAgICAgICAgIGlmIChmaWVsZCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGFjdGlvbi5uZXdQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGsgPSBrZXkgYXMga2V5b2YgQUlUYWJsZUZpZWxkO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGFjdGlvbi5uZXdQcm9wZXJ0aWVzW2tdO1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGZpZWxkW2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgKGZpZWxkW2tdIGFzIGFueSkgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHByb3BlcnRpZXMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgZGVmaW5lZCwgYnV0IGFyZSBub3cgbWlzc2luZywgbXVzdCBiZSBkZWxldGVkXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gYWN0aW9uLnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhY3Rpb24ubmV3UHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgZmllbGRbPGtleW9mIEFJVGFibGVGaWVsZD5rZXldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlNldFZpZXc6IHtcbiAgICAgICAgICAgIGNvbnN0IHZpZXcgPSB2aWV3cy5maW5kKChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gYWN0aW9uLnBhdGhbMF0pIGFzIEFJVGFibGVWaWV3O1xuICAgICAgICAgICAgaWYgKHZpZXcpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBhY3Rpb24ubmV3UHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBrID0ga2V5IGFzIGtleW9mIEFJVGFibGVWaWV3O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGFjdGlvbi5uZXdQcm9wZXJ0aWVzW2tdO1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHZpZXdba107XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAodmlld1trXSBhcyBhbnkpID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBwcm9wZXJ0aWVzIHRoYXQgd2VyZSBwcmV2aW91c2x5IGRlZmluZWQsIGJ1dCBhcmUgbm93IG1pc3NpbmcsIG11c3QgYmUgZGVsZXRlZFxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGFjdGlvbi5wcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghYWN0aW9uLm5ld1Byb3BlcnRpZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHZpZXdbPGtleW9mIEFJVGFibGVWaWV3PmtleV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuQWRkVmlldzoge1xuICAgICAgICAgICAgY29uc3QgW3ZpZXdJbmRleF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGlmICh2aWV3SW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIHZpZXdzLnNwbGljZSh2aWV3SW5kZXgsIDAsIGFjdGlvbi52aWV3KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5SZW1vdmVWaWV3OiB7XG4gICAgICAgICAgICBjb25zdCBbdmlld0lkXSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgY29uc3Qgdmlld0luZGV4ID0gdmlld3MuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gdmlld0lkKTtcbiAgICAgICAgICAgIGlmICh2aWV3SW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIHZpZXdzLnNwbGljZSh2aWV3SW5kZXgsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlNldFJlY29yZFBvc2l0aW9uczoge1xuICAgICAgICAgICAgY29uc3QgeyBwb3NpdGlvbnMsIHBhdGggfSA9IGFjdGlvbjtcbiAgICAgICAgICAgIGNvbnN0IHJlY29yZCA9IHJlY29yZHMuZmluZCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IHBhdGhbMF0pO1xuICAgICAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1Bvc2l0aW9ucyA9IHsgLi4ucmVjb3JkLnBvc2l0aW9ucyB9O1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHBvc2l0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBpZiAocG9zaXRpb25zW2tleV0gPT09IG51bGwgfHwgcG9zaXRpb25zW2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIG5ld1Bvc2l0aW9uc1trZXldO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3UG9zaXRpb25zW2tleV0gPSBwb3NpdGlvbnNba2V5XSBhcyBudW1iZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVjb3JkLnBvc2l0aW9ucyA9IG5ld1Bvc2l0aW9ucztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIHJlY29yZHMsXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgdmlld3NcbiAgICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IEdlbmVyYWxBY3Rpb25zID0ge1xuICAgIHRyYW5zZm9ybShhaVRhYmxlOiBBSVZpZXdUYWJsZSwgYWN0aW9uOiBBSVRhYmxlQWN0aW9uKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlY29yZHMgPSBjcmVhdGVEcmFmdChhaVRhYmxlLnJlY29yZHMoKSkgYXMgQUlUYWJsZVZpZXdSZWNvcmRzO1xuICAgICAgICBjb25zdCBmaWVsZHMgPSBjcmVhdGVEcmFmdChhaVRhYmxlLmdyaWREYXRhKCkuZmllbGRzKSBhcyBBSVRhYmxlVmlld0ZpZWxkcztcbiAgICAgICAgY29uc3Qgdmlld3MgPSBjcmVhdGVEcmFmdChhaVRhYmxlLnZpZXdzKCkpO1xuICAgICAgICBhcHBseShhaVRhYmxlLCByZWNvcmRzLCBmaWVsZHMsIHZpZXdzLCBhY3Rpb24pO1xuICAgICAgICBhaVRhYmxlLmZpZWxkcy5zZXQoZmluaXNoRHJhZnQoZmllbGRzKSk7XG4gICAgICAgIGFpVGFibGUucmVjb3Jkcy5zZXQoZmluaXNoRHJhZnQocmVjb3JkcykpO1xuICAgICAgICBhaVRhYmxlLnZpZXdzLnNldChmaW5pc2hEcmFmdCh2aWV3cykpO1xuICAgIH1cbn07XG4iXX0=
|
@@ -1,45 +1,51 @@
|
|
1
|
-
import { AITable, isMac, writeToAITable } from '@ai-table/grid';
|
1
|
+
import { AITable, AITableGridI18nKey, getI18nTextByKey, isMac, writeToAITable } from '@ai-table/grid';
|
2
2
|
import { Actions } from '../action';
|
3
3
|
import { buildClipboardData, writeToClipboard } from '@ai-table/grid';
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
4
|
+
import { AITableStateI18nKey, getStateI18nTextByKey } from '../utils/i18n';
|
5
|
+
export const RemoveRecordsItem = (aiTable, actions) => {
|
6
|
+
return {
|
7
|
+
type: 'removeRecords',
|
8
|
+
name: getStateI18nTextByKey(aiTable, AITableStateI18nKey.removeRecords),
|
9
|
+
icon: 'trash',
|
10
|
+
exec: (aiTable, targetName, position, aiTableGridSelectionService) => {
|
11
|
+
let selectedRecordIds = AITable.getActiveRecordIds(aiTable);
|
12
|
+
selectedRecordIds.forEach((id) => {
|
13
|
+
Actions.removeRecord(aiTable, [id]);
|
14
|
+
});
|
15
|
+
aiTableGridSelectionService.clearSelection();
|
16
|
+
}
|
17
|
+
};
|
15
18
|
};
|
16
|
-
export const CopyCellsItem = {
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
19
|
+
export const CopyCellsItem = (aiTable, actions) => {
|
20
|
+
return {
|
21
|
+
type: 'copyCells',
|
22
|
+
name: getStateI18nTextByKey(aiTable, AITableStateI18nKey.copy),
|
23
|
+
shortcutKey: isMac() ? `⌘ + C` : `Ctrl + C`,
|
24
|
+
icon: 'copy',
|
25
|
+
exec: (aiTable, targetName, position, aiTableGridSelectionService, notifyService) => {
|
26
|
+
const clipboardData = buildClipboardData(aiTable);
|
27
|
+
if (clipboardData) {
|
28
|
+
writeToClipboard(clipboardData).then(() => {
|
29
|
+
const copiedCellsCount = aiTable.selection().selectedCells.size;
|
30
|
+
const message = getI18nTextByKey(aiTable, AITableGridI18nKey.copiedCells).replace('{count}', copiedCellsCount.toString());
|
31
|
+
notifyService.success(message, undefined, {
|
32
|
+
placement: 'bottomLeft'
|
33
|
+
});
|
28
34
|
});
|
29
|
-
}
|
35
|
+
}
|
30
36
|
}
|
31
|
-
}
|
37
|
+
};
|
32
38
|
};
|
33
|
-
export const PasteCellsItem = (actions) => {
|
39
|
+
export const PasteCellsItem = (aiTable, actions) => {
|
34
40
|
return {
|
35
41
|
type: 'pasteCells',
|
36
|
-
name:
|
42
|
+
name: getStateI18nTextByKey(aiTable, AITableStateI18nKey.paste),
|
37
43
|
shortcutKey: isMac() ? `⌘ + V` : `Ctrl + V`,
|
38
44
|
icon: 'paste',
|
39
45
|
exec: async (aiTable, targetName, position, aiTableGridSelectionService, notifyService) => {
|
40
46
|
writeToAITable(aiTable, actions).then((isPasteSuccess) => {
|
41
47
|
if (!isPasteSuccess) {
|
42
|
-
notifyService.error(
|
48
|
+
notifyService.error(getStateI18nTextByKey(aiTable, AITableStateI18nKey.invalidPasteContent), undefined, {
|
43
49
|
placement: 'bottomLeft'
|
44
50
|
});
|
45
51
|
}
|
@@ -47,4 +53,4 @@ export const PasteCellsItem = (actions) => {
|
|
47
53
|
}
|
48
54
|
};
|
49
55
|
};
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvY29uc3RhbnRzL2NvbnRleHQtbWVudS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQTBCLGtCQUFrQixFQUErQyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0ssT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0UsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxPQUFnQixFQUFFLE9BQXVCLEVBQTBCLEVBQUU7SUFDbkcsT0FBTztRQUNILElBQUksRUFBRSxlQUFlO1FBQ3JCLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLENBQUMsYUFBYSxDQUFDO1FBQ3ZFLElBQUksRUFBRSxPQUFPO1FBQ2IsSUFBSSxFQUFFLENBQ0YsT0FBZ0IsRUFDaEIsVUFBa0IsRUFDbEIsUUFBa0MsRUFDbEMsMkJBQXdELEVBQzFELEVBQUU7WUFDQSxJQUFJLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1RCxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFVLEVBQUUsRUFBRTtnQkFDckMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFzQixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RCxDQUFDLENBQUMsQ0FBQztZQUNILDJCQUEyQixDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2pELENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxPQUF1QixFQUEwQixFQUFFO0lBQy9GLE9BQU87UUFDSCxJQUFJLEVBQUUsV0FBVztRQUNqQixJQUFJLEVBQUUscUJBQXFCLENBQUMsT0FBTyxFQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQztRQUM5RCxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUMzQyxJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxDQUNGLE9BQWdCLEVBQ2hCLFVBQWtCLEVBQ2xCLFFBQWtDLEVBQ2xDLDJCQUF3RCxFQUN4RCxhQUErQixFQUNqQyxFQUFFO1lBQ0EsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEQsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDaEIsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDdEMsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztvQkFDaEUsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FDN0UsU0FBUyxFQUNULGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUM5QixDQUFDO29CQUNGLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRTt3QkFDdEMsU0FBUyxFQUFFLFlBQVk7cUJBQzFCLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDO0tBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBMEUsQ0FDakcsT0FBZ0IsRUFDaEIsT0FBdUIsRUFDekIsRUFBRTtJQUNBLE9BQU87UUFDSCxJQUFJLEVBQUUsWUFBWTtRQUNsQixJQUFJLEVBQUUscUJBQXFCLENBQUMsT0FBTyxFQUFFLG1CQUFtQixDQUFDLEtBQUssQ0FBQztRQUMvRCxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUMzQyxJQUFJLEVBQUUsT0FBTztRQUNiLElBQUksRUFBRSxLQUFLLEVBQ1AsT0FBZ0IsRUFDaEIsVUFBa0IsRUFDbEIsUUFBa0MsRUFDbEMsMkJBQXdELEVBQ3hELGFBQStCLEVBQ2pDLEVBQUU7WUFDQSxjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO2dCQUNyRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ2xCLGFBQWEsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLEVBQUUsU0FBUyxFQUFFO3dCQUNwRyxTQUFTLEVBQUUsWUFBWTtxQkFDMUIsQ0FBQyxDQUFDO2dCQUNQLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZUNvbnRleHRNZW51SXRlbSwgQUlUYWJsZUdyaWRJMThuS2V5LCBBSVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UsIEFJVGFibGVBY3Rpb25zLCBnZXRJMThuVGV4dEJ5S2V5LCBpc01hYywgd3JpdGVUb0FJVGFibGUgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBBY3Rpb25zIH0gZnJvbSAnLi4vYWN0aW9uJztcbmltcG9ydCB7IEFJVmlld1RhYmxlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYnVpbGRDbGlwYm9hcmREYXRhLCB3cml0ZVRvQ2xpcGJvYXJkIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgVGh5Tm90aWZ5U2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvbm90aWZ5JztcbmltcG9ydCB7IEFJVGFibGVTdGF0ZUkxOG5LZXksIGdldFN0YXRlSTE4blRleHRCeUtleSB9IGZyb20gJy4uL3V0aWxzL2kxOG4nO1xuXG5leHBvcnQgY29uc3QgUmVtb3ZlUmVjb3Jkc0l0ZW0gPSAoYWlUYWJsZTogQUlUYWJsZSwgYWN0aW9uczogQUlUYWJsZUFjdGlvbnMpOiBBSVRhYmxlQ29udGV4dE1lbnVJdGVtID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAncmVtb3ZlUmVjb3JkcycsXG4gICAgICAgIG5hbWU6IGdldFN0YXRlSTE4blRleHRCeUtleShhaVRhYmxlLCBBSVRhYmxlU3RhdGVJMThuS2V5LnJlbW92ZVJlY29yZHMpLFxuICAgICAgICBpY29uOiAndHJhc2gnLFxuICAgICAgICBleGVjOiAoXG4gICAgICAgICAgICBhaVRhYmxlOiBBSVRhYmxlLFxuICAgICAgICAgICAgdGFyZ2V0TmFtZTogc3RyaW5nLFxuICAgICAgICAgICAgcG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSxcbiAgICAgICAgICAgIGFpVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZTogQUlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlXG4gICAgICAgICkgPT4ge1xuICAgICAgICAgICAgbGV0IHNlbGVjdGVkUmVjb3JkSWRzID0gQUlUYWJsZS5nZXRBY3RpdmVSZWNvcmRJZHMoYWlUYWJsZSk7XG4gICAgICAgICAgICBzZWxlY3RlZFJlY29yZElkcy5mb3JFYWNoKChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgQWN0aW9ucy5yZW1vdmVSZWNvcmQoYWlUYWJsZSBhcyBBSVZpZXdUYWJsZSwgW2lkXSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGFpVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZS5jbGVhclNlbGVjdGlvbigpO1xuICAgICAgICB9XG4gICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBDb3B5Q2VsbHNJdGVtID0gKGFpVGFibGU6IEFJVGFibGUsIGFjdGlvbnM6IEFJVGFibGVBY3Rpb25zKTogQUlUYWJsZUNvbnRleHRNZW51SXRlbSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ2NvcHlDZWxscycsXG4gICAgICAgIG5hbWU6IGdldFN0YXRlSTE4blRleHRCeUtleShhaVRhYmxlLCBBSVRhYmxlU3RhdGVJMThuS2V5LmNvcHkpLFxuICAgICAgICBzaG9ydGN1dEtleTogaXNNYWMoKSA/IGDijJggKyBDYCA6IGBDdHJsICsgQ2AsXG4gICAgICAgIGljb246ICdjb3B5JyxcbiAgICAgICAgZXhlYzogKFxuICAgICAgICAgICAgYWlUYWJsZTogQUlUYWJsZSxcbiAgICAgICAgICAgIHRhcmdldE5hbWU6IHN0cmluZyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0sXG4gICAgICAgICAgICBhaVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2U6IEFJVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZSxcbiAgICAgICAgICAgIG5vdGlmeVNlcnZpY2U6IFRoeU5vdGlmeVNlcnZpY2VcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjbGlwYm9hcmREYXRhID0gYnVpbGRDbGlwYm9hcmREYXRhKGFpVGFibGUpO1xuICAgICAgICAgICAgaWYgKGNsaXBib2FyZERhdGEpIHtcbiAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkKGNsaXBib2FyZERhdGEpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb3BpZWRDZWxsc0NvdW50ID0gYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RlZENlbGxzLnNpemU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBnZXRJMThuVGV4dEJ5S2V5KGFpVGFibGUsIEFJVGFibGVHcmlkSTE4bktleS5jb3BpZWRDZWxscykucmVwbGFjZShcbiAgICAgICAgICAgICAgICAgICAgICAgICd7Y291bnR9JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvcGllZENlbGxzQ291bnQudG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBub3RpZnlTZXJ2aWNlLnN1Y2Nlc3MobWVzc2FnZSwgdW5kZWZpbmVkLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0J1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG59O1xuXG5leHBvcnQgY29uc3QgUGFzdGVDZWxsc0l0ZW06IChhaVRhYmxlOiBBSVRhYmxlLCBhY3Rpb25zOiBBSVRhYmxlQWN0aW9ucykgPT4gQUlUYWJsZUNvbnRleHRNZW51SXRlbSA9IChcbiAgICBhaVRhYmxlOiBBSVRhYmxlLFxuICAgIGFjdGlvbnM6IEFJVGFibGVBY3Rpb25zXG4pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAncGFzdGVDZWxscycsXG4gICAgICAgIG5hbWU6IGdldFN0YXRlSTE4blRleHRCeUtleShhaVRhYmxlLCBBSVRhYmxlU3RhdGVJMThuS2V5LnBhc3RlKSxcbiAgICAgICAgc2hvcnRjdXRLZXk6IGlzTWFjKCkgPyBg4oyYICsgVmAgOiBgQ3RybCArIFZgLFxuICAgICAgICBpY29uOiAncGFzdGUnLFxuICAgICAgICBleGVjOiBhc3luYyAoXG4gICAgICAgICAgICBhaVRhYmxlOiBBSVRhYmxlLFxuICAgICAgICAgICAgdGFyZ2V0TmFtZTogc3RyaW5nLFxuICAgICAgICAgICAgcG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSxcbiAgICAgICAgICAgIGFpVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZTogQUlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlLFxuICAgICAgICAgICAgbm90aWZ5U2VydmljZTogVGh5Tm90aWZ5U2VydmljZVxuICAgICAgICApID0+IHtcbiAgICAgICAgICAgIHdyaXRlVG9BSVRhYmxlKGFpVGFibGUsIGFjdGlvbnMpLnRoZW4oKGlzUGFzdGVTdWNjZXNzKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc1Bhc3RlU3VjY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICBub3RpZnlTZXJ2aWNlLmVycm9yKGdldFN0YXRlSTE4blRleHRCeUtleShhaVRhYmxlLCBBSVRhYmxlU3RhdGVJMThuS2V5LmludmFsaWRQYXN0ZUNvbnRlbnQpLCB1bmRlZmluZWQsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcbn07XG4iXX0=
|
@@ -1,12 +1,14 @@
|
|
1
1
|
import { AI_TABLE_GRID_FIELD_SERVICE_MAP, idCreator } from '@ai-table/grid';
|
2
2
|
import _ from 'lodash';
|
3
3
|
import { Actions } from '../action';
|
4
|
+
import { generateCopyName } from '../utils';
|
5
|
+
import { AITableStateI18nKey, getStateI18nTextByKey } from '../utils/i18n';
|
4
6
|
export const DividerMenuItem = {
|
5
7
|
type: 'divider'
|
6
8
|
};
|
7
|
-
export const EditFieldPropertyItem = {
|
9
|
+
export const EditFieldPropertyItem = (aiTable) => ({
|
8
10
|
type: 'editFieldProperty',
|
9
|
-
name:
|
11
|
+
name: getStateI18nTextByKey(aiTable, AITableStateI18nKey.editField),
|
10
12
|
icon: 'edit',
|
11
13
|
exec: (aiTable, field, origin, position) => {
|
12
14
|
const fieldService = AI_TABLE_GRID_FIELD_SERVICE_MAP.get(aiTable);
|
@@ -27,20 +29,17 @@ export const EditFieldPropertyItem = {
|
|
27
29
|
}
|
28
30
|
return undefined;
|
29
31
|
}
|
30
|
-
};
|
31
|
-
export const CopyFieldPropertyItem = (addFieldFn) => {
|
32
|
+
});
|
33
|
+
export const CopyFieldPropertyItem = (aiTable, addFieldFn) => {
|
34
|
+
const name = getStateI18nTextByKey(aiTable, AITableStateI18nKey.copyField);
|
32
35
|
return {
|
33
36
|
type: 'copyFieldProperty',
|
34
|
-
name
|
37
|
+
name,
|
35
38
|
icon: 'copy',
|
36
39
|
exec: (aiTable, field) => {
|
37
40
|
const allFieldNames = (aiTable.fields() || []).map((item) => item.name);
|
38
|
-
|
39
|
-
let
|
40
|
-
while (allFieldNames.includes(newFieldName)) {
|
41
|
-
newFieldName = `${field().name} 副本 ${index}`;
|
42
|
-
index++;
|
43
|
-
}
|
41
|
+
const copyName = field().name;
|
42
|
+
let newFieldName = generateCopyName(aiTable, allFieldNames, copyName);
|
44
43
|
const fieldOptions = {
|
45
44
|
originId: field()._id,
|
46
45
|
isCopy: true,
|
@@ -54,4 +53,4 @@ export const CopyFieldPropertyItem = (addFieldFn) => {
|
|
54
53
|
}
|
55
54
|
};
|
56
55
|
};
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbWVudS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL2NvbnN0YW50cy9maWVsZC1tZW51LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQiwrQkFBK0IsRUFBOEMsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekksT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsSUFBSSxFQUFFLFNBQVM7Q0FDbEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN4RCxJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLENBQUMsU0FBUyxDQUFDO0lBQ25FLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLENBQ0YsT0FBb0IsRUFDcEIsS0FBMkIsRUFDM0IsTUFBc0MsRUFDdEMsUUFBbUMsRUFDckMsRUFBRTtRQUNBLE1BQU0sWUFBWSxHQUFHLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRSxNQUFNLFNBQVMsR0FBaUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELElBQUksTUFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sVUFBVSxHQUFHLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3hELEtBQUssRUFBRSxTQUFTO2dCQUNoQixRQUFRLEVBQUUsSUFBSTtnQkFDZCxNQUFNLEVBQUUsTUFBTztnQkFDZixRQUFRO2FBQ1gsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxVQUFVLElBQUksWUFBWSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxxQkFBcUIsRUFBRSxDQUFDO2dCQUNsRixVQUFVLENBQUMsaUJBQXlDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUMvRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdkQsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBQ0QsT0FBTyxVQUFVLENBQUM7UUFDdEIsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE9BQWdCLEVBQUUsVUFBMkMsRUFBRSxFQUFFO0lBQ25HLE1BQU0sSUFBSSxHQUFHLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzRSxPQUFPO1FBQ0gsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixJQUFJO1FBQ0osSUFBSSxFQUFFLE1BQU07UUFDWixJQUFJLEVBQUUsQ0FBQyxPQUFvQixFQUFFLEtBQTJCLEVBQUUsRUFBRTtZQUN4RCxNQUFNLGFBQWEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4RSxNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDOUIsSUFBSSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUV0RSxNQUFNLFlBQVksR0FBb0I7Z0JBQ2xDLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxHQUFHO2dCQUNyQixNQUFNLEVBQUUsSUFBSTtnQkFDWixZQUFZLEVBQUU7b0JBQ1YsR0FBRyxLQUFLLEVBQUU7b0JBQ1YsR0FBRyxFQUFFLFNBQVMsRUFBRTtvQkFDaEIsSUFBSSxFQUFFLFlBQVk7aUJBQ3JCO2FBQ0osQ0FBQztZQUNGLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QixDQUFDO0tBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFkZEZpZWxkT3B0aW9ucywgQUlfVEFCTEVfR1JJRF9GSUVMRF9TRVJWSUNFX01BUCwgQUlUYWJsZSwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlRmllbGRTZXR0aW5nLCBpZENyZWF0b3IgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBY3Rpb25zIH0gZnJvbSAnLi4vYWN0aW9uJztcbmltcG9ydCB7IEFJVmlld1RhYmxlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2VuZXJhdGVDb3B5TmFtZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEFJVGFibGVTdGF0ZUkxOG5LZXksIGdldFN0YXRlSTE4blRleHRCeUtleSB9IGZyb20gJy4uL3V0aWxzL2kxOG4nO1xuXG5leHBvcnQgY29uc3QgRGl2aWRlck1lbnVJdGVtID0ge1xuICAgIHR5cGU6ICdkaXZpZGVyJ1xufTtcblxuZXhwb3J0IGNvbnN0IEVkaXRGaWVsZFByb3BlcnR5SXRlbSA9IChhaVRhYmxlOiBBSVRhYmxlKSA9PiAoe1xuICAgIHR5cGU6ICdlZGl0RmllbGRQcm9wZXJ0eScsXG4gICAgbmFtZTogZ2V0U3RhdGVJMThuVGV4dEJ5S2V5KGFpVGFibGUsIEFJVGFibGVTdGF0ZUkxOG5LZXkuZWRpdEZpZWxkKSxcbiAgICBpY29uOiAnZWRpdCcsXG4gICAgZXhlYzogKFxuICAgICAgICBhaVRhYmxlOiBBSVZpZXdUYWJsZSxcbiAgICAgICAgZmllbGQ6IFNpZ25hbDxBSVRhYmxlRmllbGQ+LFxuICAgICAgICBvcmlnaW4/OiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8YW55PixcbiAgICAgICAgcG9zaXRpb24/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH1cbiAgICApID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRTZXJ2aWNlID0gQUlfVEFCTEVfR1JJRF9GSUVMRF9TRVJWSUNFX01BUC5nZXQoYWlUYWJsZSk7XG4gICAgICAgIGNvbnN0IGNvcHlGaWVsZDogQUlUYWJsZUZpZWxkID0gXy5jbG9uZURlZXAoZmllbGQoKSk7XG4gICAgICAgIGlmIChvcmlnaW4gJiYgcG9zaXRpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IHBvcG92ZXJSZWYgPSBmaWVsZFNlcnZpY2U/LmVkaXRGaWVsZFByb3BlcnR5KGFpVGFibGUsIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogY29weUZpZWxkLFxuICAgICAgICAgICAgICAgIGlzVXBkYXRlOiB0cnVlLFxuICAgICAgICAgICAgICAgIG9yaWdpbjogb3JpZ2luISxcbiAgICAgICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAocG9wb3ZlclJlZiAmJiBmaWVsZFNlcnZpY2UgJiYgIWZpZWxkU2VydmljZS5haUZpZWxkQ29uZmlnPy5maWVsZFNldHRpbmdDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAocG9wb3ZlclJlZi5jb21wb25lbnRJbnN0YW5jZSBhcyBBSVRhYmxlRmllbGRTZXR0aW5nKS5zZXRGaWVsZC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIEFjdGlvbnMuc2V0RmllbGQoYWlUYWJsZSwgdmFsdWUuZmllbGQsIHZhbHVlLnBhdGgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHBvcG92ZXJSZWY7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IENvcHlGaWVsZFByb3BlcnR5SXRlbSA9IChhaVRhYmxlOiBBSVRhYmxlLCBhZGRGaWVsZEZuOiAoZGF0YTogQWRkRmllbGRPcHRpb25zKSA9PiB2b2lkKSA9PiB7XG4gICAgY29uc3QgbmFtZSA9IGdldFN0YXRlSTE4blRleHRCeUtleShhaVRhYmxlLCBBSVRhYmxlU3RhdGVJMThuS2V5LmNvcHlGaWVsZCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ2NvcHlGaWVsZFByb3BlcnR5JyxcbiAgICAgICAgbmFtZSxcbiAgICAgICAgaWNvbjogJ2NvcHknLFxuICAgICAgICBleGVjOiAoYWlUYWJsZTogQUlWaWV3VGFibGUsIGZpZWxkOiBTaWduYWw8QUlUYWJsZUZpZWxkPikgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWxsRmllbGROYW1lcyA9IChhaVRhYmxlLmZpZWxkcygpIHx8IFtdKS5tYXAoKGl0ZW0pID0+IGl0ZW0ubmFtZSk7XG4gICAgICAgICAgICBjb25zdCBjb3B5TmFtZSA9IGZpZWxkKCkubmFtZTtcbiAgICAgICAgICAgIGxldCBuZXdGaWVsZE5hbWUgPSBnZW5lcmF0ZUNvcHlOYW1lKGFpVGFibGUsIGFsbEZpZWxkTmFtZXMsIGNvcHlOYW1lKTtcblxuICAgICAgICAgICAgY29uc3QgZmllbGRPcHRpb25zOiBBZGRGaWVsZE9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgb3JpZ2luSWQ6IGZpZWxkKCkuX2lkLFxuICAgICAgICAgICAgICAgIGlzQ29weTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZmllbGQoKSxcbiAgICAgICAgICAgICAgICAgICAgX2lkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogbmV3RmllbGROYW1lXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGFkZEZpZWxkRm4oZmllbGRPcHRpb25zKTtcbiAgICAgICAgfVxuICAgIH07XG59O1xuIl19
|
@@ -59,7 +59,7 @@ export default function translateArrayEvent(aiTable, sharedType, event) {
|
|
59
59
|
short_id: getShortIdBySystemFieldValues(systemFieldValues),
|
60
60
|
...getTrackableEntityBySystemFieldValues(systemFieldValues),
|
61
61
|
positions: getPositionsBySystemFieldValues(systemFieldValues),
|
62
|
-
values: getValuesByCustomFieldValues(customFieldValues, aiTable.
|
62
|
+
values: getValuesByCustomFieldValues(customFieldValues, aiTable.gridData().fields)
|
63
63
|
}
|
64
64
|
});
|
65
65
|
});
|
@@ -69,9 +69,9 @@ export default function translateArrayEvent(aiTable, sharedType, event) {
|
|
69
69
|
const sharedRecords = sharedType.get('records');
|
70
70
|
const sharedFields = sharedType.get('fields');
|
71
71
|
let systemFieldOffset = 0;
|
72
|
-
delta.insert?.map((item) => {
|
72
|
+
delta.insert?.map((item, index) => {
|
73
73
|
const recordIndex = targetPath[0];
|
74
|
-
const fieldIndex = offset;
|
74
|
+
const fieldIndex = offset + index;
|
75
75
|
const record = aiTable.records()[recordIndex];
|
76
76
|
if (isSystemFieldOperation(targetPath)) {
|
77
77
|
if (isPositionsOperation(fieldIndex)) {
|
@@ -118,9 +118,9 @@ export default function translateArrayEvent(aiTable, sharedType, event) {
|
|
118
118
|
}
|
119
119
|
}
|
120
120
|
if (isFieldsTranslate) {
|
121
|
-
delta.insert?.map((item) => {
|
121
|
+
delta.insert?.map((item, index) => {
|
122
122
|
const data = item.toJSON();
|
123
|
-
const path = translatePositionToPath(aiTable.
|
123
|
+
const path = translatePositionToPath(aiTable.gridData().fields, data['positions'][activeViewId], activeViewId, index);
|
124
124
|
actions.push({
|
125
125
|
type: ActionName.AddField,
|
126
126
|
path,
|
@@ -186,4 +186,4 @@ export function getRemoveIds(event, type) {
|
|
186
186
|
});
|
187
187
|
return ids;
|
188
188
|
}
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXRhYmxlL2FycmF5LWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztBQUN6QixPQUFPLEVBQ0gsVUFBVSxFQVViLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxxQ0FBcUMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1SSxPQUFPLEVBQ0gsK0JBQStCLEVBQy9CLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIsZ0JBQWdCLEVBQ25CLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFxQyxjQUFjLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkcsTUFBTSxDQUFDLE9BQU8sVUFBVSxtQkFBbUIsQ0FBQyxPQUFvQixFQUFFLFVBQXNCLEVBQUUsS0FBb0I7SUFDMUcsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsSUFBSSxVQUFVLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELE1BQU0sT0FBTyxHQUFvQixF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QUFJLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMxQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDbEMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUMsQ0FDSixDQUFDO0lBQ0YsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgKiBhcyBZIGZyb20gJ3lqcyc7XG5pbXBvcnQge1xuICAgIEFjdGlvbk5hbWUsXG4gICAgQUlUYWJsZUFjdGlvbixcbiAgICBBSVRhYmxlVmlldyxcbiAgICBBSVRhYmxlVmlld0ZpZWxkcyxcbiAgICBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgQUlWaWV3VGFibGUsXG4gICAgUG9zaXRpb25zLFxuICAgIFNoYXJlZFR5cGUsXG4gICAgU3luY0FycmF5RWxlbWVudCxcbiAgICBTeW5jTWFwRWxlbWVudFxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRJZEJ5U3lzdGVtRmllbGRWYWx1ZXMsIGdldFNoYXJlVHlwZU51bWJlclBhdGgsIGdldFRyYWNrYWJsZUVudGl0eUJ5U3lzdGVtRmllbGRWYWx1ZXMsIHRyYW5zbGF0ZVBvc2l0aW9uVG9QYXRoIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBnZXRQb3NpdGlvbnNCeVN5c3RlbUZpZWxkVmFsdWVzLFxuICAgIGdldFNoYXJlZE1hcFZhbHVlSWQsXG4gICAgZ2V0U2hhcmVkUmVjb3JkLFxuICAgIGdldFNoYXJlZFJlY29yZElkLFxuICAgIGdldFNob3J0SWRCeVN5c3RlbUZpZWxkVmFsdWVzLFxuICAgIGdldFZhbHVlc0J5Q3VzdG9tRmllbGRWYWx1ZXMsXG4gICAgU3lzdGVtRmllbGRJbmRleFxufSBmcm9tICcuLi91dGlscy90cmFuc2xhdGUnO1xuaW1wb3J0IHsgQUlSZWNvcmRGaWVsZElkUGF0aCwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlUXVlcmllcywgSWRQYXRoLCBOdW1iZXJQYXRoIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0cmFuc2xhdGVBcnJheUV2ZW50KGFpVGFibGU6IEFJVmlld1RhYmxlLCBzaGFyZWRUeXBlOiBTaGFyZWRUeXBlLCBldmVudDogWS5ZRXZlbnQ8YW55Pik6IEFJVGFibGVBY3Rpb25bXSB7XG4gICAgbGV0IG9mZnNldCA9IDA7XG4gICAgbGV0IHRhcmdldFBhdGggPSBnZXRTaGFyZVR5cGVOdW1iZXJQYXRoKGV2ZW50LnBhdGgpO1xuICAgIGNvbnN0IGlzUmVjb3Jkc1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ3JlY29yZHMnKTtcbiAgICBjb25zdCBpc0ZpZWxkc1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ2ZpZWxkcycpO1xuICAgIGNvbnN0IGlzVmlld3NUcmFuc2xhdGUgPSBldmVudC5wYXRoLmluY2x1ZGVzKCd2aWV3cycpO1xuICAgIGNvbnN0IGFjdGlvbnM6IEFJVGFibGVBY3Rpb25bXSA9IFtdO1xuICAgIGNvbnN0IGFjdGl2ZVZpZXdJZCA9IGFpVGFibGUuYWN0aXZlVmlld0lkKCk7XG5cbiAgICBldmVudC5jaGFuZ2VzLmRlbHRhLmZvckVhY2goKGRlbHRhKSA9PiB7XG4gICAgICAgIGlmICgncmV0YWluJyBpbiBkZWx0YSkge1xuICAgICAgICAgICAgb2Zmc2V0ICs9IGRlbHRhLnJldGFpbiA/PyAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCdkZWxldGUnIGluIGRlbHRhKSB7XG4gICAgICAgICAgICBpZiAoaXNBZGRPclJlbW92ZSh0YXJnZXRQYXRoKSkge1xuICAgICAgICAgICAgICAgIGlmIChpc1ZpZXdzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlbW92ZVZpZXcgPSBhaVRhYmxlLnZpZXdzKClbb2Zmc2V0XTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbW92ZVZpZXcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5SZW1vdmVWaWV3LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IFtyZW1vdmVWaWV3Ll9pZF1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZSA9IGlzUmVjb3Jkc1RyYW5zbGF0ZSA/IEFjdGlvbk5hbWUuUmVtb3ZlUmVjb3JkIDogQWN0aW9uTmFtZS5SZW1vdmVGaWVsZDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlSWRzID0gZ2V0UmVtb3ZlSWRzKGV2ZW50LCB0eXBlKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbW92ZUlkcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZUlkcy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoJ2luc2VydCcgaW4gZGVsdGEpIHtcbiAgICAgICAgICAgIGlmIChpc0FycmF5KGRlbHRhLmluc2VydCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNSZWNvcmRzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0FkZE9yUmVtb3ZlKHRhcmdldFBhdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWx0YS5pbnNlcnQ/Lm1hcCgoaXRlbTogWS5BcnJheTxhbnk+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgW3N5c3RlbUZpZWxkVmFsdWVzLCBjdXN0b21GaWVsZFZhbHVlc10gPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IGdldFBvc2l0aW9uc0J5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gcG9zaXRpb25zW2FjdGl2ZVZpZXdJZF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IHRyYW5zbGF0ZVBvc2l0aW9uVG9QYXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnJlY29yZHMoKSBhcyBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVWaWV3SWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIGFzIE51bWJlclBhdGg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZFJlY29yZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaWQ6IGdldElkQnlTeXN0ZW1GaWVsZFZhbHVlcyhzeXN0ZW1GaWVsZFZhbHVlcyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG9ydF9pZDogZ2V0U2hvcnRJZEJ5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uZ2V0VHJhY2thYmxlRW50aXR5QnlTeXN0ZW1GaWVsZFZhbHVlcyhzeXN0ZW1GaWVsZFZhbHVlcyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IGdldFBvc2l0aW9uc0J5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBnZXRWYWx1ZXNCeUN1c3RvbUZpZWxkVmFsdWVzKGN1c3RvbUZpZWxkVmFsdWVzLCBhaVRhYmxlLmZpZWxkcygpIGFzIEFJVGFibGVWaWV3RmllbGRzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hhcmVkUmVjb3JkcyA9IHNoYXJlZFR5cGUuZ2V0KCdyZWNvcmRzJykhIGFzIFkuQXJyYXk8U3luY0FycmF5RWxlbWVudD47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hhcmVkRmllbGRzID0gc2hhcmVkVHlwZS5nZXQoJ2ZpZWxkcycpISBhcyBZLkFycmF5PFN5bmNNYXBFbGVtZW50PjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc3lzdGVtRmllbGRPZmZzZXQgPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSB0YXJnZXRQYXRoWzBdIGFzIG51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IG9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkID0gKGFpVGFibGUucmVjb3JkcygpIGFzIEFJVGFibGVWaWV3UmVjb3JkcylbcmVjb3JkSW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNTeXN0ZW1GaWVsZE9wZXJhdGlvbih0YXJnZXRQYXRoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzUG9zaXRpb25zT3BlcmF0aW9uKGZpZWxkSW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UG9zaXRpb25zOiBQb3NpdGlvbnMgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Bvc2l0aW9uc1trZXldID0gaXRlbVtrZXldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLlNldFJlY29yZFBvc2l0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogW3JlY29yZC5faWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IG5ld1Bvc2l0aW9uc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOatpOWkhOeahOW+queOr+S8muWMheWQqyB1cGRhdGVkX2F0IOWSjCB1cGRhdGVkX2J5IOWQhOS4gOasoe+8jOi/memHjOWPquWkhOeQhiB1cGRhdGVkX2J5IOWQjOaXtuWMheWQq+S4pOS4quWtl+auteeahOS/ruaUuVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpc1VwZGF0ZWRCeU9wZXJhdGlvbihmaWVsZEluZGV4ICsgc3lzdGVtRmllbGRPZmZzZXQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3lzdGVtRmllbGRWYWx1ZXMgPSBnZXRTaGFyZWRSZWNvcmQoc2hhcmVkUmVjb3JkcywgcmVjb3JkSW5kZXgpLmdldCgwKS50b0pTT04oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHVwZGF0ZWRfYXQsIHVwZGF0ZWRfYnkgfSA9IGdldFRyYWNrYWJsZUVudGl0eUJ5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuVXBkYXRlU3lzdGVtRmllbGRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogW3JlY29yZC5faWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkSW5mbzogeyB1cGRhdGVkX2F0LCB1cGRhdGVkX2J5IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbUZpZWxkT2Zmc2V0Kys7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRJZCA9IGdldFNoYXJlZFJlY29yZElkKHNoYXJlZFJlY29yZHMsIHJlY29yZEluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkSWQgPSBnZXRTaGFyZWRNYXBWYWx1ZUlkKHNoYXJlZEZpZWxkcywgZmllbGRJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gW3JlY29yZElkLCBmaWVsZElkXSBhcyBBSVJlY29yZEZpZWxkSWRQYXRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IEFJVGFibGVRdWVyaWVzLmdldEZpZWxkVmFsdWUoYWlUYWJsZSwgcGF0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUbyBleGNsdWRlIGluc2VydCB0cmlnZ2VyZWQgYnkgZmllbGQgaW5zZXJ0cy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZFZhbHVlICE9PSBpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5VcGRhdGVGaWVsZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdGaWVsZFZhbHVlOiBpdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc0ZpZWxkc1RyYW5zbGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICBkZWx0YS5pbnNlcnQ/Lm1hcCgoaXRlbTogWS5NYXA8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gdHJhbnNsYXRlUG9zaXRpb25Ub1BhdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWlUYWJsZS5maWVsZHMoKSBhcyBBSVRhYmxlVmlld0ZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhWydwb3NpdGlvbnMnXVthY3RpdmVWaWV3SWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZVZpZXdJZFxuICAgICAgICAgICAgICAgICAgICAgICAgKSBhcyBOdW1iZXJQYXRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZEZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQ6IGRhdGEgYXMgQUlUYWJsZUZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc1ZpZXdzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBZLk1hcDxhbnk+LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuQWRkVmlldyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBbb2Zmc2V0ICsgaW5kZXhdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXc6IGRhdGEgYXMgQUlUYWJsZVZpZXdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYWN0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWRkT3JSZW1vdmUodGFyZ2V0UGF0aDogbnVtYmVyW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGFyZ2V0UGF0aC5sZW5ndGggPT09IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N5c3RlbUZpZWxkT3BlcmF0aW9uKHRhcmdldFBhdGg6IG51bWJlcltdKTogYm9vbGVhbiB7XG4gICAgaWYgKHRhcmdldFBhdGgubGVuZ3RoID09PSAyICYmIHRhcmdldFBhdGhbMV0gPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ3VzdG9tRmllbGRPcGVyYXRpb24odGFyZ2V0UGF0aDogbnVtYmVyW10pOiBib29sZWFuIHtcbiAgICBpZiAodGFyZ2V0UGF0aC5sZW5ndGggPT09IDIgJiYgdGFyZ2V0UGF0aFsxXSA9PT0gMSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQb3NpdGlvbnNPcGVyYXRpb24oZmllbGRJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZpZWxkSW5kZXggPT09IFN5c3RlbUZpZWxkSW5kZXguUG9zaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVcGRhdGVkQnlPcGVyYXRpb24oZmllbGRJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZpZWxkSW5kZXggPT09IFN5c3RlbUZpZWxkSW5kZXguVXBkYXRlZEJ5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVtb3ZlSWRzKGV2ZW50OiBZLllFdmVudDxhbnk+LCB0eXBlOiBBY3Rpb25OYW1lLlJlbW92ZUZpZWxkIHwgQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmQpIHtcbiAgICBjb25zdCBpZHM6IFtzdHJpbmddW10gPSBbXTtcbiAgICBpZiAoIXR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGlkcztcbiAgICB9XG5cbiAgICBZLml0ZXJhdGVEZWxldGVkU3RydWN0cyhcbiAgICAgICAgZXZlbnQudHJhbnNhY3Rpb24sXG4gICAgICAgIGV2ZW50LnRyYW5zYWN0aW9uLmRlbGV0ZVNldCxcbiAgICAgICAgLy8gQHBhcmFtIHtJdGVtfEdDfSBpdGVtXG4gICAgICAgIChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIFkuSXRlbSAmJiBpdGVtLmRlbGV0ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gQWN0aW9uTmFtZS5SZW1vdmVGaWVsZCAmJiBpdGVtLnBhcmVudFN1YiA9PT0gJ19pZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgaWRzLnB1c2goaXRlbS5jb250ZW50LmdldENvbnRlbnQoKSBhcyBJZFBhdGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IGl0ZW0uY29udGVudC5nZXRDb250ZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250ZW50WzBdICYmIGNvbnRlbnRbMF1bJ19pZCddKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZHMucHVzaChbY29udGVudFswXVsnX2lkJ11dKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIGlkcztcbn1cbiJdfQ==
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXRhYmxlL2FycmF5LWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztBQUN6QixPQUFPLEVBQ0gsVUFBVSxFQVViLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxxQ0FBcUMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1SSxPQUFPLEVBQ0gsK0JBQStCLEVBQy9CLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIsZ0JBQWdCLEVBQ25CLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFxQyxjQUFjLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkcsTUFBTSxDQUFDLE9BQU8sVUFBVSxtQkFBbUIsQ0FBQyxPQUFvQixFQUFFLFVBQXNCLEVBQUUsS0FBb0I7SUFDMUcsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsSUFBSSxVQUFVLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELE1BQU0sT0FBTyxHQUFvQixF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QUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFZLENBQUMsQ0FBQztZQUNsRCxDQUFDO1lBQ0QsSUFBSSxJQUFJLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMxQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDbEMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUMsQ0FDSixDQUFDO0lBQ0YsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgKiBhcyBZIGZyb20gJ3lqcyc7XG5pbXBvcnQge1xuICAgIEFjdGlvbk5hbWUsXG4gICAgQUlUYWJsZUFjdGlvbixcbiAgICBBSVRhYmxlVmlldyxcbiAgICBBSVRhYmxlVmlld0ZpZWxkcyxcbiAgICBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgQUlWaWV3VGFibGUsXG4gICAgUG9zaXRpb25zLFxuICAgIFNoYXJlZFR5cGUsXG4gICAgU3luY0FycmF5RWxlbWVudCxcbiAgICBTeW5jTWFwRWxlbWVudFxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRJZEJ5U3lzdGVtRmllbGRWYWx1ZXMsIGdldFNoYXJlVHlwZU51bWJlclBhdGgsIGdldFRyYWNrYWJsZUVudGl0eUJ5U3lzdGVtRmllbGRWYWx1ZXMsIHRyYW5zbGF0ZVBvc2l0aW9uVG9QYXRoIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBnZXRQb3NpdGlvbnNCeVN5c3RlbUZpZWxkVmFsdWVzLFxuICAgIGdldFNoYXJlZE1hcFZhbHVlSWQsXG4gICAgZ2V0U2hhcmVkUmVjb3JkLFxuICAgIGdldFNoYXJlZFJlY29yZElkLFxuICAgIGdldFNob3J0SWRCeVN5c3RlbUZpZWxkVmFsdWVzLFxuICAgIGdldFZhbHVlc0J5Q3VzdG9tRmllbGRWYWx1ZXMsXG4gICAgU3lzdGVtRmllbGRJbmRleFxufSBmcm9tICcuLi91dGlscy90cmFuc2xhdGUnO1xuaW1wb3J0IHsgQUlSZWNvcmRGaWVsZElkUGF0aCwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlUXVlcmllcywgSWRQYXRoLCBOdW1iZXJQYXRoIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0cmFuc2xhdGVBcnJheUV2ZW50KGFpVGFibGU6IEFJVmlld1RhYmxlLCBzaGFyZWRUeXBlOiBTaGFyZWRUeXBlLCBldmVudDogWS5ZRXZlbnQ8YW55Pik6IEFJVGFibGVBY3Rpb25bXSB7XG4gICAgbGV0IG9mZnNldCA9IDA7XG4gICAgbGV0IHRhcmdldFBhdGggPSBnZXRTaGFyZVR5cGVOdW1iZXJQYXRoKGV2ZW50LnBhdGgpO1xuICAgIGNvbnN0IGlzUmVjb3Jkc1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ3JlY29yZHMnKTtcbiAgICBjb25zdCBpc0ZpZWxkc1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ2ZpZWxkcycpO1xuICAgIGNvbnN0IGlzVmlld3NUcmFuc2xhdGUgPSBldmVudC5wYXRoLmluY2x1ZGVzKCd2aWV3cycpO1xuICAgIGNvbnN0IGFjdGlvbnM6IEFJVGFibGVBY3Rpb25bXSA9IFtdO1xuICAgIGNvbnN0IGFjdGl2ZVZpZXdJZCA9IGFpVGFibGUuYWN0aXZlVmlld0lkKCk7XG5cbiAgICBldmVudC5jaGFuZ2VzLmRlbHRhLmZvckVhY2goKGRlbHRhKSA9PiB7XG4gICAgICAgIGlmICgncmV0YWluJyBpbiBkZWx0YSkge1xuICAgICAgICAgICAgb2Zmc2V0ICs9IGRlbHRhLnJldGFpbiA/PyAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCdkZWxldGUnIGluIGRlbHRhKSB7XG4gICAgICAgICAgICBpZiAoaXNBZGRPclJlbW92ZSh0YXJnZXRQYXRoKSkge1xuICAgICAgICAgICAgICAgIGlmIChpc1ZpZXdzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlbW92ZVZpZXcgPSBhaVRhYmxlLnZpZXdzKClbb2Zmc2V0XTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbW92ZVZpZXcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5SZW1vdmVWaWV3LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IFtyZW1vdmVWaWV3Ll9pZF1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZSA9IGlzUmVjb3Jkc1RyYW5zbGF0ZSA/IEFjdGlvbk5hbWUuUmVtb3ZlUmVjb3JkIDogQWN0aW9uTmFtZS5SZW1vdmVGaWVsZDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlSWRzID0gZ2V0UmVtb3ZlSWRzKGV2ZW50LCB0eXBlKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbW92ZUlkcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZUlkcy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoJ2luc2VydCcgaW4gZGVsdGEpIHtcbiAgICAgICAgICAgIGlmIChpc0FycmF5KGRlbHRhLmluc2VydCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNSZWNvcmRzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0FkZE9yUmVtb3ZlKHRhcmdldFBhdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWx0YS5pbnNlcnQ/Lm1hcCgoaXRlbTogWS5BcnJheTxhbnk+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgW3N5c3RlbUZpZWxkVmFsdWVzLCBjdXN0b21GaWVsZFZhbHVlc10gPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IGdldFBvc2l0aW9uc0J5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gcG9zaXRpb25zW2FjdGl2ZVZpZXdJZF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IHRyYW5zbGF0ZVBvc2l0aW9uVG9QYXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnJlY29yZHMoKSBhcyBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVWaWV3SWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIGFzIE51bWJlclBhdGg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZFJlY29yZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaWQ6IGdldElkQnlTeXN0ZW1GaWVsZFZhbHVlcyhzeXN0ZW1GaWVsZFZhbHVlcyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG9ydF9pZDogZ2V0U2hvcnRJZEJ5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uZ2V0VHJhY2thYmxlRW50aXR5QnlTeXN0ZW1GaWVsZFZhbHVlcyhzeXN0ZW1GaWVsZFZhbHVlcyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IGdldFBvc2l0aW9uc0J5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBnZXRWYWx1ZXNCeUN1c3RvbUZpZWxkVmFsdWVzKGN1c3RvbUZpZWxkVmFsdWVzLCBhaVRhYmxlLmdyaWREYXRhKCkuZmllbGRzIGFzIEFJVGFibGVWaWV3RmllbGRzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hhcmVkUmVjb3JkcyA9IHNoYXJlZFR5cGUuZ2V0KCdyZWNvcmRzJykhIGFzIFkuQXJyYXk8U3luY0FycmF5RWxlbWVudD47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hhcmVkRmllbGRzID0gc2hhcmVkVHlwZS5nZXQoJ2ZpZWxkcycpISBhcyBZLkFycmF5PFN5bmNNYXBFbGVtZW50PjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc3lzdGVtRmllbGRPZmZzZXQgPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSB0YXJnZXRQYXRoWzBdIGFzIG51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IG9mZnNldCArIGluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWNvcmQgPSAoYWlUYWJsZS5yZWNvcmRzKCkgYXMgQUlUYWJsZVZpZXdSZWNvcmRzKVtyZWNvcmRJbmRleF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1N5c3RlbUZpZWxkT3BlcmF0aW9uKHRhcmdldFBhdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQb3NpdGlvbnNPcGVyYXRpb24oZmllbGRJbmRleCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdQb3NpdGlvbnM6IFBvc2l0aW9ucyA9IHt9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UG9zaXRpb25zW2tleV0gPSBpdGVtW2tleV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuU2V0UmVjb3JkUG9zaXRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBbcmVjb3JkLl9pZF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uczogbmV3UG9zaXRpb25zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5q2k5aSE55qE5b6q546v5Lya5YyF5ZCrIHVwZGF0ZWRfYXQg5ZKMIHVwZGF0ZWRfYnkg5ZCE5LiA5qyh77yM6L+Z6YeM5Y+q5aSE55CGIHVwZGF0ZWRfYnkg5ZCM5pe25YyF5ZCr5Lik5Liq5a2X5q6155qE5L+u5pS5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzVXBkYXRlZEJ5T3BlcmF0aW9uKGZpZWxkSW5kZXggKyBzeXN0ZW1GaWVsZE9mZnNldCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzeXN0ZW1GaWVsZFZhbHVlcyA9IGdldFNoYXJlZFJlY29yZChzaGFyZWRSZWNvcmRzLCByZWNvcmRJbmRleCkuZ2V0KDApLnRvSlNPTigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgdXBkYXRlZF9hdCwgdXBkYXRlZF9ieSB9ID0gZ2V0VHJhY2thYmxlRW50aXR5QnlTeXN0ZW1GaWVsZFZhbHVlcyhzeXN0ZW1GaWVsZFZhbHVlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5VcGRhdGVTeXN0ZW1GaWVsZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBbcmVjb3JkLl9pZF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRJbmZvOiB7IHVwZGF0ZWRfYXQsIHVwZGF0ZWRfYnkgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtRmllbGRPZmZzZXQrKztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZElkID0gZ2V0U2hhcmVkUmVjb3JkSWQoc2hhcmVkUmVjb3JkcywgcmVjb3JkSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRJZCA9IGdldFNoYXJlZE1hcFZhbHVlSWQoc2hhcmVkRmllbGRzLCBmaWVsZEluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBbcmVjb3JkSWQsIGZpZWxkSWRdIGFzIEFJUmVjb3JkRmllbGRJZFBhdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gQUlUYWJsZVF1ZXJpZXMuZ2V0RmllbGRWYWx1ZShhaVRhYmxlLCBwYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRvIGV4Y2x1ZGUgaW5zZXJ0IHRyaWdnZXJlZCBieSBmaWVsZCBpbnNlcnRzLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkVmFsdWUgIT09IGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLlVwZGF0ZUZpZWxkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0ZpZWxkVmFsdWU6IGl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHt9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlzRmllbGRzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBZLk1hcDxhbnk+LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gdHJhbnNsYXRlUG9zaXRpb25Ub1BhdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWlUYWJsZS5ncmlkRGF0YSgpLmZpZWxkcyBhcyBBSVRhYmxlVmlld0ZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhWydwb3NpdGlvbnMnXVthY3RpdmVWaWV3SWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZVZpZXdJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgKSBhcyBOdW1iZXJQYXRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZEZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQ6IGRhdGEgYXMgQUlUYWJsZUZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc1ZpZXdzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBZLk1hcDxhbnk+LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuQWRkVmlldyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBbb2Zmc2V0ICsgaW5kZXhdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXc6IGRhdGEgYXMgQUlUYWJsZVZpZXdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYWN0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWRkT3JSZW1vdmUodGFyZ2V0UGF0aDogbnVtYmVyW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGFyZ2V0UGF0aC5sZW5ndGggPT09IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N5c3RlbUZpZWxkT3BlcmF0aW9uKHRhcmdldFBhdGg6IG51bWJlcltdKTogYm9vbGVhbiB7XG4gICAgaWYgKHRhcmdldFBhdGgubGVuZ3RoID09PSAyICYmIHRhcmdldFBhdGhbMV0gPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ3VzdG9tRmllbGRPcGVyYXRpb24odGFyZ2V0UGF0aDogbnVtYmVyW10pOiBib29sZWFuIHtcbiAgICBpZiAodGFyZ2V0UGF0aC5sZW5ndGggPT09IDIgJiYgdGFyZ2V0UGF0aFsxXSA9PT0gMSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQb3NpdGlvbnNPcGVyYXRpb24oZmllbGRJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZpZWxkSW5kZXggPT09IFN5c3RlbUZpZWxkSW5kZXguUG9zaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVcGRhdGVkQnlPcGVyYXRpb24oZmllbGRJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZpZWxkSW5kZXggPT09IFN5c3RlbUZpZWxkSW5kZXguVXBkYXRlZEJ5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVtb3ZlSWRzKGV2ZW50OiBZLllFdmVudDxhbnk+LCB0eXBlOiBBY3Rpb25OYW1lLlJlbW92ZUZpZWxkIHwgQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmQpIHtcbiAgICBjb25zdCBpZHM6IFtzdHJpbmddW10gPSBbXTtcbiAgICBpZiAoIXR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGlkcztcbiAgICB9XG5cbiAgICBZLml0ZXJhdGVEZWxldGVkU3RydWN0cyhcbiAgICAgICAgZXZlbnQudHJhbnNhY3Rpb24sXG4gICAgICAgIGV2ZW50LnRyYW5zYWN0aW9uLmRlbGV0ZVNldCxcbiAgICAgICAgLy8gQHBhcmFtIHtJdGVtfEdDfSBpdGVtXG4gICAgICAgIChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIFkuSXRlbSAmJiBpdGVtLmRlbGV0ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gQWN0aW9uTmFtZS5SZW1vdmVGaWVsZCAmJiBpdGVtLnBhcmVudFN1YiA9PT0gJ19pZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgaWRzLnB1c2goaXRlbS5jb250ZW50LmdldENvbnRlbnQoKSBhcyBJZFBhdGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IGl0ZW0uY29udGVudC5nZXRDb250ZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250ZW50WzBdICYmIGNvbnRlbnRbMF1bJ19pZCddKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZHMucHVzaChbY29udGVudFswXVsnX2lkJ11dKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIGlkcztcbn1cbiJdfQ==
|
@@ -11,7 +11,7 @@ export default function translateMapEvent(aiTable, sharedType, event) {
|
|
11
11
|
if (isFieldsTranslate) {
|
12
12
|
const field = sharedType.get('fields')?.get(targetPath);
|
13
13
|
const fieldId = field && field.get('_id');
|
14
|
-
targetElement = fieldId && aiTable.
|
14
|
+
targetElement = fieldId && aiTable.gridData().fields.find((item) => item._id === field.get('_id'));
|
15
15
|
}
|
16
16
|
if (isViewTranslate) {
|
17
17
|
targetElement = aiTable.views()[targetPath];
|
@@ -46,4 +46,4 @@ export default function translateMapEvent(aiTable, sharedType, event) {
|
|
46
46
|
}
|
47
47
|
return [];
|
48
48
|
}
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3NoYXJlZC90by10YWJsZS9tYXAtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7QUFDekIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQXVFLE1BQU0sYUFBYSxDQUFDO0FBRTlHLE1BQU0sQ0FBQyxPQUFPLFVBQVUsaUJBQWlCLENBQUMsT0FBb0IsRUFBRSxVQUFzQixFQUFFLEtBQTJCO0lBQy9HLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEQsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFckQsSUFBSSxlQUFlLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBYSxDQUFDO1FBQ2xFLElBQUksYUFBYSxDQUFDO1FBQ2xCLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLE1BQW9CLENBQUM7UUFDckQsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBbUIsQ0FBQztZQUMxRSxNQUFNLE9BQU8sR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQyxhQUFhLEdBQUcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN2RyxDQUFDO1FBRUQsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNsQixhQUFhLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sVUFBVSxHQUF1RSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDaEksTUFBTSxhQUFhLEdBQXdDLEVBQUUsQ0FBQztZQUM5RCxNQUFNLFVBQVUsR0FBd0MsRUFBRSxDQUFDO1lBRTNELE1BQU0sT0FBTyxHQUFvQixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtnQkFDNUQsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN6QyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssWUFBWSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdHLENBQUMsQ0FBQyxDQUFDO1lBRUgsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNqQyxNQUFNLENBQUMsR0FBRyxHQUF5QyxDQUFDO2dCQUNwRCxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzdCLENBQUM7WUFFRCxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUcsYUFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakYsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNwQyxNQUFNLENBQUMsR0FBRyxHQUF5QyxDQUFDO2dCQUNwRCxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzFCLENBQUM7WUFDRCxNQUFNLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztZQUMxRSxPQUFPO2dCQUNIO29CQUNJLElBQUk7b0JBQ0osVUFBVSxFQUFFLFVBQVU7b0JBQ3RCLGFBQWEsRUFBRSxhQUFhO29CQUM1QixJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO2lCQUM1QjthQUNlLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlRmllbGQgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgKiBhcyBZIGZyb20gJ3lqcyc7XG5pbXBvcnQgeyBnZXRTaGFyZVR5cGVOdW1iZXJQYXRoIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgQWN0aW9uTmFtZSwgQUlUYWJsZUFjdGlvbiwgQUlUYWJsZVZpZXcsIEFJVmlld1RhYmxlLCBTaGFyZWRUeXBlLCBTeW5jTWFwRWxlbWVudCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdHJhbnNsYXRlTWFwRXZlbnQoYWlUYWJsZTogQUlWaWV3VGFibGUsIHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsIGV2ZW50OiBZLllNYXBFdmVudDx1bmtub3duPik6IEFJVGFibGVBY3Rpb25bXSB7XG4gICAgY29uc3QgaXNGaWVsZHNUcmFuc2xhdGUgPSBldmVudC5wYXRoLmluY2x1ZGVzKCdmaWVsZHMnKTtcbiAgICBjb25zdCBpc1ZpZXdUcmFuc2xhdGUgPSBldmVudC5wYXRoLmluY2x1ZGVzKCd2aWV3cycpO1xuXG4gICAgaWYgKGlzVmlld1RyYW5zbGF0ZSB8fCBpc0ZpZWxkc1RyYW5zbGF0ZSkge1xuICAgICAgICBsZXQgW3RhcmdldFBhdGhdID0gZ2V0U2hhcmVUeXBlTnVtYmVyUGF0aChldmVudC5wYXRoKSBhcyBbbnVtYmVyXTtcbiAgICAgICAgbGV0IHRhcmdldEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHRhcmdldFN5bmNFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIFNoYXJlZFR5cGU7XG4gICAgICAgIGlmIChpc0ZpZWxkc1RyYW5zbGF0ZSkge1xuICAgICAgICAgICAgY29uc3QgZmllbGQgPSBzaGFyZWRUeXBlLmdldCgnZmllbGRzJyk/LmdldCh0YXJnZXRQYXRoKSBhcyBTeW5jTWFwRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkSWQgPSBmaWVsZCAmJiBmaWVsZC5nZXQoJ19pZCcpO1xuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudCA9IGZpZWxkSWQgJiYgYWlUYWJsZS5ncmlkRGF0YSgpLmZpZWxkcy5maW5kKChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gZmllbGQuZ2V0KCdfaWQnKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNWaWV3VHJhbnNsYXRlKSB7XG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50ID0gYWlUYWJsZS52aWV3cygpW3RhcmdldFBhdGhdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleUNoYW5nZXM6IFtzdHJpbmcsIHsgYWN0aW9uOiAnYWRkJyB8ICd1cGRhdGUnIHwgJ2RlbGV0ZSc7IG9sZFZhbHVlOiBhbnkgfV1bXSA9IEFycmF5LmZyb20oZXZlbnQuY2hhbmdlcy5rZXlzLmVudHJpZXMoKSk7XG4gICAgICAgICAgICBjb25zdCBuZXdQcm9wZXJ0aWVzOiBQYXJ0aWFsPEFJVGFibGVWaWV3IHwgQUlUYWJsZUZpZWxkPiA9IHt9O1xuICAgICAgICAgICAgY29uc3QgcHJvcGVydGllczogUGFydGlhbDxBSVRhYmxlVmlldyB8IEFJVGFibGVGaWVsZD4gPSB7fTtcblxuICAgICAgICAgICAgY29uc3QgZW50cmllczogW3N0cmluZywgYW55XVtdID0ga2V5Q2hhbmdlcy5tYXAoKFtrZXksIGluZm9dKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0YXJnZXRTeW5jRWxlbWVudC5nZXQoa2V5KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gW2tleSwgaW5mby5hY3Rpb24gPT09ICdkZWxldGUnID8gbnVsbCA6IHZhbHVlIGluc3RhbmNlb2YgWS5BYnN0cmFjdFR5cGUgPyB2YWx1ZS50b0pTT04oKSA6IHZhbHVlXTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBlbnRyaWVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgayA9IGtleSBhcyBrZXlvZiAoQUlUYWJsZVZpZXcgfCBBSVRhYmxlRmllbGQpO1xuICAgICAgICAgICAgICAgIG5ld1Byb3BlcnRpZXNba10gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgb2xkRW50cmllcyA9IGtleUNoYW5nZXMubWFwKChba2V5XSkgPT4gW2tleSwgKHRhcmdldEVsZW1lbnQgYXMgYW55KVtrZXldXSk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBvbGRFbnRyaWVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgayA9IGtleSBhcyBrZXlvZiAoQUlUYWJsZVZpZXcgfCBBSVRhYmxlRmllbGQpO1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXNba10gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBpc0ZpZWxkc1RyYW5zbGF0ZSA/IEFjdGlvbk5hbWUuU2V0RmllbGQgOiBBY3Rpb25OYW1lLlNldFZpZXc7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczogcHJvcGVydGllcyxcbiAgICAgICAgICAgICAgICAgICAgbmV3UHJvcGVydGllczogbmV3UHJvcGVydGllcyxcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogW3RhcmdldEVsZW1lbnQuX2lkXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0gYXMgQUlUYWJsZUFjdGlvbltdO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbXTtcbn1cbiJdfQ==
|