@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.
@@ -36,7 +36,7 @@ export function toRecordSyncElement(record, fields) {
36
36
  element.insert(0, [systemFieldValues, customFieldValues]);
37
37
  return element;
38
38
  }
39
- export function translatePositionToPath(data, position, activeViewId) {
39
+ export function translatePositionToPath(data, position, activeViewId, indexOffset = 0) {
40
40
  let index = data.findIndex((value, index) => {
41
41
  if (index === 0) {
42
42
  return position < value.positions[activeViewId];
@@ -46,7 +46,7 @@ export function translatePositionToPath(data, position, activeViewId) {
46
46
  if (index === -1) {
47
47
  index = data.length;
48
48
  }
49
- return [index];
49
+ return [index + indexOffset];
50
50
  }
51
51
  export function getShareTypeNumberPath(path) {
52
52
  return path.filter((node) => typeof node === 'number');
@@ -139,4 +139,4 @@ export const setRecordUpdatedInfo = (recordSyncElement, info) => {
139
139
  systemFieldType.delete(SystemFieldIndex.UpdatedAt, 2);
140
140
  systemFieldType.insert(SystemFieldIndex.UpdatedAt, [info.updated_at, info.updated_by]);
141
141
  };
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3NoYXJlZC91dGlscy90cmFuc2xhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYUEsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7QUFFekIsTUFBTSxDQUFOLElBQVksZ0JBUVg7QUFSRCxXQUFZLGdCQUFnQjtJQUN4QixtREFBTSxDQUFBO0lBQ04sNkRBQVcsQ0FBQTtJQUNYLGlFQUFhLENBQUE7SUFDYixpRUFBYSxDQUFBO0lBQ2IsaUVBQWEsQ0FBQTtJQUNiLGlFQUFhLENBQUE7SUFDYixpRUFBYSxDQUFBO0FBQ2pCLENBQUMsRUFSVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBUTNCO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFTO0lBQ25DLE1BQU0sT0FBTyxHQUFtQixJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM1QyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE1BQXlCLEVBQUUsTUFBeUI7SUFDcEYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QyxzRUFBc0U7SUFDdEUsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzFELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEMsTUFBTSxXQUFXLEdBQWlCLEVBQUUsQ0FBQztJQUNyQyxNQUFNLENBQUMsT0FBTyxD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VSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQzNGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGVSZWNvcmRVcGRhdGVkSW5mbywgRmllbGRWYWx1ZSwgaXNTeXN0ZW1GaWVsZCwgVHJhY2thYmxlRW50aXR5IH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHtcbiAgICBBSVRhYmxlVmlld0ZpZWxkLFxuICAgIEFJVGFibGVWaWV3RmllbGRzLFxuICAgIEFJVGFibGVWaWV3UmVjb3JkLFxuICAgIEFJVGFibGVWaWV3UmVjb3JkcyxcbiAgICBDdXN0b21GaWVsZFZhbHVlcyxcbiAgICBQb3NpdGlvbnMsXG4gICAgUmVjb3JkU3luY0VsZW1lbnQsXG4gICAgU3luY0FycmF5RWxlbWVudCxcbiAgICBTeW5jTWFwRWxlbWVudCxcbiAgICBTeXN0ZW1GaWVsZFZhbHVlc1xufSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgKiBhcyBZIGZyb20gJ3lqcyc7XG5cbmV4cG9ydCBlbnVtIFN5c3RlbUZpZWxkSW5kZXgge1xuICAgIElkID0gMCxcbiAgICBTaG9ydElkID0gMSxcbiAgICBDcmVhdGVkQXQgPSAyLFxuICAgIENyZWF0ZWRCeSA9IDMsXG4gICAgUG9zaXRpb25zID0gNCxcbiAgICBVcGRhdGVkQXQgPSA1LFxuICAgIFVwZGF0ZWRCeSA9IDZcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU3luY0VsZW1lbnQobm9kZTogYW55KTogU3luY01hcEVsZW1lbnQge1xuICAgIGNvbnN0IGVsZW1lbnQ6IFN5bmNNYXBFbGVtZW50ID0gbmV3IFkuTWFwKCk7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gbm9kZSkge1xuICAgICAgICBlbGVtZW50LnNldChrZXksIG5vZGVba2V5XSk7XG4gICAgfVxuICAgIHJldHVybiBlbGVtZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9SZWNvcmRTeW5jRWxlbWVudChyZWNvcmQ6IEFJVGFibGVWaWV3UmVjb3JkLCBmaWVsZHM6IEFJVGFibGVWaWV3RmllbGRzKTogWS5BcnJheTxZLkFycmF5PGFueT4+IHtcbiAgICBjb25zdCBzeXN0ZW1GaWVsZFZhbHVlcyA9IG5ldyBZLkFycmF5KCk7XG4gICAgLy8g5Li05pe25pa55qGI77ya5Li65LqG6Kej5Yaz5Yig6Zmk5pe25Y2P5ZCM5pON5L2c5peg5rOV57K+5YeG6I635Y+W5Yig6Zmk55qEIGlkIOeahOmXrumimO+8jOWwhuWOn+adpeeahFtpZFZhbHVlXSDmlLnkuLpbeydfaWQnOiBpZFZhbHVlfV1cbiAgICBzeXN0ZW1GaWVsZFZhbHVlcy5pbnNlcnQoMCwgZ2V0U3lzdGVtRmllbGRWYWx1ZXMocmVjb3JkKSk7XG4gICAgY29uc3QgY3VzdG9tRmllbGRWYWx1ZXMgPSBuZXcgWS5BcnJheSgpO1xuICAgIGNvbnN0IHZhbHVlc0FycmF5OiBGaWVsZFZhbHVlW10gPSBbXTtcbiAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGQ6IEFJVGFibGVWaWV3RmllbGQpID0+IHtcbiAgICAgICAgbGV0IHZhbHVlID0gcmVjb3JkWyd2YWx1ZXMnXVtmaWVsZC5faWRdO1xuICAgICAgICAvLyB5anMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgdmFsdWUgaXMgdW5kZWZpbmVkLlxuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdmFsdWUgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlc0FycmF5LnB1c2godmFsdWUpO1xuICAgIH0pO1xuICAgIGN1c3RvbUZpZWxkVmFsdWVzLmluc2VydCgwLCB2YWx1ZXNBcnJheSk7XG4gICAgLy8gVG8gc2F2ZSBtZW1vcnksIGNvbnZlcnQgbWFwIHRvIGFycmF5LlxuICAgIGNvbnN0IGVsZW1lbnQ6IFJlY29yZFN5bmNFbGVtZW50ID0gbmV3IFkuQXJyYXk8WS5BcnJheTxhbnk+PigpO1xuICAgIGVsZW1lbnQuaW5zZXJ0KDAsIFtzeXN0ZW1GaWVsZFZhbHVlcywgY3VzdG9tRmllbGRWYWx1ZXNdKTtcbiAgICByZXR1cm4gZWxlbWVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zbGF0ZVBvc2l0aW9uVG9QYXRoKGRhdGE6IEFJVGFibGVWaWV3UmVjb3JkcyB8IEFJVGFibGVWaWV3RmllbGRzLCBwb3NpdGlvbjogbnVtYmVyLCBhY3RpdmVWaWV3SWQ6IHN0cmluZykge1xuICAgIGxldCBpbmRleCA9IGRhdGEuZmluZEluZGV4KCh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gcG9zaXRpb24gPCB2YWx1ZS5wb3NpdGlvbnNbYWN0aXZlVmlld0lkXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcG9zaXRpb24gPiBkYXRhW2luZGV4IC0gMV0ucG9zaXRpb25zW2FjdGl2ZVZpZXdJZF0gJiYgcG9zaXRpb24gPCB2YWx1ZS5wb3NpdGlvbnNbYWN0aXZlVmlld0lkXTtcbiAgICB9KTtcbiAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgIGluZGV4ID0gZGF0YS5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiBbaW5kZXhdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2hhcmVUeXBlTnVtYmVyUGF0aChwYXRoOiAoc3RyaW5nIHwgbnVtYmVyKVtdKTogbnVtYmVyW10ge1xuICAgIHJldHVybiBwYXRoLmZpbHRlcigobm9kZSkgPT4gdHlwZW9mIG5vZGUgPT09ICdudW1iZXInKSBhcyBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNoYXJlZFJlY29yZElkKHJlY29yZHM6IFkuQXJyYXk8U3luY0FycmF5RWxlbWVudD4sIHJlY29yZEluZGV4OiBudW1iZXIpIHtcbiAgICByZXR1cm4gcmVjb3JkcyAmJiAocmVjb3JkcyBhcyBZLkFycmF5PFN5bmNBcnJheUVsZW1lbnQ+KS5nZXQocmVjb3JkSW5kZXgpLmdldCgwKS5nZXQoMClbJ19pZCddO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2hhcmVkUmVjb3JkKHJlY29yZHM6IFkuQXJyYXk8U3luY0FycmF5RWxlbWVudD4sIHJlY29yZEluZGV4OiBudW1iZXIpIHtcbiAgICByZXR1cm4gcmVjb3JkcyAmJiAocmVjb3JkcyBhcyBZLkFycmF5PFN5bmNBcnJheUVsZW1lbnQ+KS5nZXQocmVjb3JkSW5kZXgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2hhcmVkTWFwVmFsdWVJZCh2YWx1ZXM6IFkuQXJyYXk8U3luY01hcEVsZW1lbnQ+LCBpbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHZhbHVlcyAmJiB2YWx1ZXMuZ2V0KGluZGV4KS5nZXQoJ19pZCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2hhcmVkUmVjb3JkSW5kZXgoc2hhcmVkUmVjb3JkczogWS5BcnJheTxTeW5jQXJyYXlFbGVtZW50PiwgcmVjb3JkSWQ6IHN0cmluZykge1xuICAgIGxldCByZWNvcmRJbmRleCA9IC0xO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBzaGFyZWRSZWNvcmRzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICBjb25zdCBzaGFyZWRSZWNvcmRJZCA9IGdldFNoYXJlZFJlY29yZElkKHNoYXJlZFJlY29yZHMsIGluZGV4KTtcbiAgICAgICAgaWYgKHNoYXJlZFJlY29yZElkID09PSByZWNvcmRJZCkge1xuICAgICAgICAgICAgcmVjb3JkSW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZWNvcmRJbmRleDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNoYXJlZE1hcFZhbHVlSW5kZXgoc2hhcmVkTm9kZXM6IFkuQXJyYXk8U3luY01hcEVsZW1lbnQ+LCBpZDogc3RyaW5nKSB7XG4gICAgbGV0IG5vZGVJbmRleCA9IC0xO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBzaGFyZWROb2Rlcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgY29uc3Qgc2hhcmVkSWQgPSBnZXRTaGFyZWRNYXBWYWx1ZUlkKHNoYXJlZE5vZGVzLCBpbmRleCk7XG4gICAgICAgIGlmIChzaGFyZWRJZCA9PT0gaWQpIHtcbiAgICAgICAgICAgIG5vZGVJbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5vZGVJbmRleDtcbn1cblxuZXhwb3J0IGNvbnN0IGdldFN5c3RlbUZpZWxkVmFsdWVzID0gKHJlY29yZDogQUlUYWJsZVZpZXdSZWNvcmQpOiBTeXN0ZW1GaWVsZFZhbHVlcyA9PiB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgeyBfaWQ6IHJlY29yZFsnX2lkJ10gfSxcbiAgICAgICAgcmVjb3JkLnNob3J0X2lkLFxuICAgICAgICByZWNvcmQuY3JlYXRlZF9hdCxcbiAgICAgICAgcmVjb3JkLmNyZWF0ZWRfYnksXG4gICAgICAgIHJlY29yZFsncG9zaXRpb25zJ10sXG4gICAgICAgIHJlY29yZC51cGRhdGVkX2F0LFxuICAgICAgICByZWNvcmQudXBkYXRlZF9ieVxuICAgIF07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q3VzdG9tRmllbGRWYWx1ZXMgPSAocmVjb3JkOiBBSVRhYmxlVmlld1JlY29yZCk6IEN1c3RvbUZpZWxkVmFsdWVzID0+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGltcGxlbWVudCcpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFZhbHVlc0J5Q3VzdG9tRmllbGRWYWx1ZXMgPSAoY3VzdG9tRmllbGRWYWx1ZXM6IEN1c3RvbUZpZWxkVmFsdWVzLCBmaWVsZHM6IEFJVGFibGVWaWV3RmllbGRzKSA9PiB7XG4gICAgY29uc3QgZmllbGRJZHMgPSBmaWVsZHMubWFwKChpdGVtKSA9PiBpdGVtLl9pZCk7XG4gICAgY29uc3QgcmVjb3JkVmFsdWU6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBmaWVsZElkcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICByZWNvcmRWYWx1ZVtpdGVtXSA9IGN1c3RvbUZpZWxkVmFsdWVzW2luZGV4XTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVjb3JkVmFsdWU7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VHJhY2thYmxlRW50aXR5QnlTeXN0ZW1GaWVsZFZhbHVlcyA9IChzeXN0ZW1GaWVsZFZhbHVlczogU3lzdGVtRmllbGRWYWx1ZXMpOiBUcmFja2FibGVFbnRpdHkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIGNyZWF0ZWRfYXQ6IHN5c3RlbUZpZWxkVmFsdWVzW1N5c3RlbUZpZWxkSW5kZXguQ3JlYXRlZEF0XSxcbiAgICAgICAgY3JlYXRlZF9ieTogc3lzdGVtRmllbGRWYWx1ZXNbU3lzdGVtRmllbGRJbmRleC5DcmVhdGVkQnldLFxuICAgICAgICB1cGRhdGVkX2F0OiBzeXN0ZW1GaWVsZFZhbHVlc1tTeXN0ZW1GaWVsZEluZGV4LlVwZGF0ZWRBdF0sXG4gICAgICAgIHVwZGF0ZWRfYnk6IHN5c3RlbUZpZWxkVmFsdWVzW1N5c3RlbUZpZWxkSW5kZXguVXBkYXRlZEJ5XVxuICAgIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SWRCeVN5c3RlbUZpZWxkVmFsdWVzID0gKHN5c3RlbUZpZWxkVmFsdWVzOiBTeXN0ZW1GaWVsZFZhbHVlcyk6IHN0cmluZyA9PiB7XG4gICAgcmV0dXJuIHN5c3RlbUZpZWxkVmFsdWVzW1N5c3RlbUZpZWxkSW5kZXguSWRdWydfaWQnXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTaG9ydElkQnlTeXN0ZW1GaWVsZFZhbHVlcyA9IChzeXN0ZW1GaWVsZFZhbHVlczogU3lzdGVtRmllbGRWYWx1ZXMpOiBzdHJpbmcgPT4ge1xuICAgIHJldHVybiBzeXN0ZW1GaWVsZFZhbHVlc1tTeXN0ZW1GaWVsZEluZGV4LlNob3J0SWRdO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldElkQnlTeXN0ZW1GaWVsZFZhbHVlc1R5cGUgPSAoc3lzdGVtRmllbGRWYWx1ZXNUeXBlOiBZLkFycmF5PGFueT4pOiBzdHJpbmcgPT4ge1xuICAgIHJldHVybiBzeXN0ZW1GaWVsZFZhbHVlc1R5cGUuZ2V0KFN5c3RlbUZpZWxkSW5kZXguSWQpWydfaWQnXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRQb3NpdGlvbnNCeVN5c3RlbUZpZWxkVmFsdWVzID0gKHN5c3RlbUZpZWxkVmFsdWVzOiBTeXN0ZW1GaWVsZFZhbHVlcyk6IFBvc2l0aW9ucyA9PiB7XG4gICAgcmV0dXJuIHN5c3RlbUZpZWxkVmFsdWVzW1N5c3RlbUZpZWxkSW5kZXguUG9zaXRpb25zXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRQb3NpdGlvbnNCeVJlY29yZFN5bmNFbGVtZW50ID0gKHJlY29yZFN5bmNFbGVtZW50OiBSZWNvcmRTeW5jRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IHN5c3RlbUZpZWxkVHlwZSA9IHJlY29yZFN5bmNFbGVtZW50LmdldCgwKSBhcyBZLkFycmF5PGFueT47XG4gICAgY29uc3QgcG9zaXRpb25zID0gc3lzdGVtRmllbGRUeXBlLmdldChTeXN0ZW1GaWVsZEluZGV4LlBvc2l0aW9ucyk7XG4gICAgcmV0dXJuIHBvc2l0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRSZWNvcmRQb3NpdGlvbnMgPSAocmVjb3JkU3luY0VsZW1lbnQ6IFJlY29yZFN5bmNFbGVtZW50LCBuZXdQb3NpdGlvbnM6IFBvc2l0aW9ucykgPT4ge1xuICAgIGNvbnN0IHN5c3RlbUZpZWxkVHlwZSA9IHJlY29yZFN5bmNFbGVtZW50LmdldCgwKSBhcyBZLkFycmF5PGFueT47XG4gICAgc3lzdGVtRmllbGRUeXBlLmRlbGV0ZShTeXN0ZW1GaWVsZEluZGV4LlBvc2l0aW9ucyk7XG4gICAgc3lzdGVtRmllbGRUeXBlLmluc2VydChTeXN0ZW1GaWVsZEluZGV4LlBvc2l0aW9ucywgW25ld1Bvc2l0aW9uc10pO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFJlY29yZFVwZGF0ZWRJbmZvID0gKHJlY29yZFN5bmNFbGVtZW50OiBSZWNvcmRTeW5jRWxlbWVudCwgaW5mbzogQUlUYWJsZVJlY29yZFVwZGF0ZWRJbmZvKSA9PiB7XG4gICAgY29uc3Qgc3lzdGVtRmllbGRUeXBlID0gcmVjb3JkU3luY0VsZW1lbnQuZ2V0KDApIGFzIFkuQXJyYXk8YW55PjtcbiAgICBzeXN0ZW1GaWVsZFR5cGUuZGVsZXRlKFN5c3RlbUZpZWxkSW5kZXguVXBkYXRlZEF0LCAyKTtcbiAgICBzeXN0ZW1GaWVsZFR5cGUuaW5zZXJ0KFN5c3RlbUZpZWxkSW5kZXguVXBkYXRlZEF0LCBbaW5mby51cGRhdGVkX2F0LCBpbmZvLnVwZGF0ZWRfYnldKTtcbn07XG4iXX0=
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3NoYXJlZC91dGlscy90cmFuc2xhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYUEsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7QUFFekIsTUFBTSxDQUFOLElBQVksZ0JBUVg7QUFSRCxXQUFZLGdCQUFnQjtJQUN4QixtREFBTSxDQUFBO0lBQ04sNkRBQVcsQ0FBQTtJQUNYLGlFQUFhLENBQUE7SUFDYixpRUFBYSxDQUFBO0lBQ2IsaUVBQWEsQ0FBQTtJQUNiLGlFQUFhLENBQUE7SUFDYixpRUFBYSxDQUFBO0FBQ2pCLENBQUMsRUFSVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBUTNCO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFTO0lBQ25DLE1BQU0sT0FBTyxHQUFtQixJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM1QyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE1BQXlCLEVBQUUsTUFBeUI7SUFDcEYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QyxzRUFBc0U7SUFDdEUsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzFELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEMsTUFBTSxXQUFXLEdBQWlCLEVBQUUsQ0FBQztJQUNyQyxNQUFNLENBQUMsT0FBTyxD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QyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQzNGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGVSZWNvcmRVcGRhdGVkSW5mbywgRmllbGRWYWx1ZSwgaXNTeXN0ZW1GaWVsZCwgVHJhY2thYmxlRW50aXR5IH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHtcbiAgICBBSVRhYmxlVmlld0ZpZWxkLFxuICAgIEFJVGFibGVWaWV3RmllbGRzLFxuICAgIEFJVGFibGVWaWV3UmVjb3JkLFxuICAgIEFJVGFibGVWaWV3UmVjb3JkcyxcbiAgICBDdXN0b21GaWVsZFZhbHVlcyxcbiAgICBQb3NpdGlvbnMsXG4gICAgUmVjb3JkU3luY0VsZW1lbnQsXG4gICAgU3luY0FycmF5RWxlbWVudCxcbiAgICBTeW5jTWFwRWxlbWVudCxcbiAgICBTeXN0ZW1GaWVsZFZhbHVlc1xufSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgKiBhcyBZIGZyb20gJ3lqcyc7XG5cbmV4cG9ydCBlbnVtIFN5c3RlbUZpZWxkSW5kZXgge1xuICAgIElkID0gMCxcbiAgICBTaG9ydElkID0gMSxcbiAgICBDcmVhdGVkQXQgPSAyLFxuICAgIENyZWF0ZWRCeSA9IDMsXG4gICAgUG9zaXRpb25zID0gNCxcbiAgICBVcGRhdGVkQXQgPSA1LFxuICAgIFVwZGF0ZWRCeSA9IDZcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU3luY0VsZW1lbnQobm9kZTogYW55KTogU3luY01hcEVsZW1lbnQge1xuICAgIGNvbnN0IGVsZW1lbnQ6IFN5bmNNYXBFbGVtZW50ID0gbmV3IFkuTWFwKCk7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gbm9kZSkge1xuICAgICAgICBlbGVtZW50LnNldChrZXksIG5vZGVba2V5XSk7XG4gICAgfVxuICAgIHJldHVybiBlbGVtZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9SZWNvcmRTeW5jRWxlbWVudChyZWNvcmQ6IEFJVGFibGVWaWV3UmVjb3JkLCBmaWVsZHM6IEFJVGFibGVWaWV3RmllbGRzKTogWS5BcnJheTxZLkFycmF5PGFueT4+IHtcbiAgICBjb25zdCBzeXN0ZW1GaWVsZFZhbHVlcyA9IG5ldyBZLkFycmF5KCk7XG4gICAgLy8g5Li05pe25pa55qGI77ya5Li65LqG6Kej5Yaz5Yig6Zmk5pe25Y2P5ZCM5pON5L2c5peg5rOV57K+5YeG6I635Y+W5Yig6Zmk55qEIGlkIOeahOmXrumimO+8jOWwhuWOn+adpeeahFtpZFZhbHVlXSDmlLnkuLpbeydfaWQnOiBpZFZhbHVlfV1cbiAgICBzeXN0ZW1GaWVsZFZhbHVlcy5pbnNlcnQoMCwgZ2V0U3lzdGVtRmllbGRWYWx1ZXMocmVjb3JkKSk7XG4gICAgY29uc3QgY3VzdG9tRmllbGRWYWx1ZXMgPSBuZXcgWS5BcnJheSgpO1xuICAgIGNvbnN0IHZhbHVlc0FycmF5OiBGaWVsZFZhbHVlW10gPSBbXTtcbiAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGQ6IEFJVGFibGVWaWV3RmllbGQpID0+IHtcbiAgICAgICAgbGV0IHZhbHVlID0gcmVjb3JkWyd2YWx1ZXMnXVtmaWVsZC5faWRdO1xuICAgICAgICAvLyB5anMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgdmFsdWUgaXMgdW5kZWZpbmVkLlxuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdmFsdWUgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlc0FycmF5LnB1c2godmFsdWUpO1xuICAgIH0pO1xuICAgIGN1c3RvbUZpZWxkVmFsdWVzLmluc2VydCgwLCB2YWx1ZXNBcnJheSk7XG4gICAgLy8gVG8gc2F2ZSBtZW1vcnksIGNvbnZlcnQgbWFwIHRvIGFycmF5LlxuICAgIGNvbnN0IGVsZW1lbnQ6IFJlY29yZFN5bmNFbGVtZW50ID0gbmV3IFkuQXJyYXk8WS5BcnJheTxhbnk+PigpO1xuICAgIGVsZW1lbnQuaW5zZXJ0KDAsIFtzeXN0ZW1GaWVsZFZhbHVlcywgY3VzdG9tRmllbGRWYWx1ZXNdKTtcbiAgICByZXR1cm4gZWxlbWVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zbGF0ZVBvc2l0aW9uVG9QYXRoKFxuICAgIGRhdGE6IEFJVGFibGVWaWV3UmVjb3JkcyB8IEFJVGFibGVWaWV3RmllbGRzLFxuICAgIHBvc2l0aW9uOiBudW1iZXIsXG4gICAgYWN0aXZlVmlld0lkOiBzdHJpbmcsXG4gICAgaW5kZXhPZmZzZXQ6IG51bWJlciA9IDBcbikge1xuICAgIGxldCBpbmRleCA9IGRhdGEuZmluZEluZGV4KCh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gcG9zaXRpb24gPCB2YWx1ZS5wb3NpdGlvbnNbYWN0aXZlVmlld0lkXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcG9zaXRpb24gPiBkYXRhW2luZGV4IC0gMV0ucG9zaXRpb25zW2FjdGl2ZVZpZXdJZF0gJiYgcG9zaXRpb24gPCB2YWx1ZS5wb3NpdGlvbnNbYWN0aXZlVmlld0lkXTtcbiAgICB9KTtcbiAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgIGluZGV4ID0gZGF0YS5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiBbaW5kZXggKyBpbmRleE9mZnNldF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTaGFyZVR5cGVOdW1iZXJQYXRoKHBhdGg6IChzdHJpbmcgfCBudW1iZXIpW10pOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHBhdGguZmlsdGVyKChub2RlKSA9PiB0eXBlb2Ygbm9kZSA9PT0gJ251bWJlcicpIGFzIG51bWJlcltdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2hhcmVkUmVjb3JkSWQocmVjb3JkczogWS5BcnJheTxTeW5jQXJyYXlFbGVtZW50PiwgcmVjb3JkSW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiByZWNvcmRzICYmIChyZWNvcmRzIGFzIFkuQXJyYXk8U3luY0FycmF5RWxlbWVudD4pLmdldChyZWNvcmRJbmRleCkuZ2V0KDApLmdldCgwKVsnX2lkJ107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTaGFyZWRSZWNvcmQocmVjb3JkczogWS5BcnJheTxTeW5jQXJyYXlFbGVtZW50PiwgcmVjb3JkSW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiByZWNvcmRzICYmIChyZWNvcmRzIGFzIFkuQXJyYXk8U3luY0FycmF5RWxlbWVudD4pLmdldChyZWNvcmRJbmRleCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTaGFyZWRNYXBWYWx1ZUlkKHZhbHVlczogWS5BcnJheTxTeW5jTWFwRWxlbWVudD4sIGluZGV4OiBudW1iZXIpIHtcbiAgICByZXR1cm4gdmFsdWVzICYmIHZhbHVlcy5nZXQoaW5kZXgpLmdldCgnX2lkJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTaGFyZWRSZWNvcmRJbmRleChzaGFyZWRSZWNvcmRzOiBZLkFycmF5PFN5bmNBcnJheUVsZW1lbnQ+LCByZWNvcmRJZDogc3RyaW5nKSB7XG4gICAgbGV0IHJlY29yZEluZGV4ID0gLTE7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHNoYXJlZFJlY29yZHMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IHNoYXJlZFJlY29yZElkID0gZ2V0U2hhcmVkUmVjb3JkSWQoc2hhcmVkUmVjb3JkcywgaW5kZXgpO1xuICAgICAgICBpZiAoc2hhcmVkUmVjb3JkSWQgPT09IHJlY29yZElkKSB7XG4gICAgICAgICAgICByZWNvcmRJbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlY29yZEluZGV4O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2hhcmVkTWFwVmFsdWVJbmRleChzaGFyZWROb2RlczogWS5BcnJheTxTeW5jTWFwRWxlbWVudD4sIGlkOiBzdHJpbmcpIHtcbiAgICBsZXQgbm9kZUluZGV4ID0gLTE7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHNoYXJlZE5vZGVzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICBjb25zdCBzaGFyZWRJZCA9IGdldFNoYXJlZE1hcFZhbHVlSWQoc2hhcmVkTm9kZXMsIGluZGV4KTtcbiAgICAgICAgaWYgKHNoYXJlZElkID09PSBpZCkge1xuICAgICAgICAgICAgbm9kZUluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbm9kZUluZGV4O1xufVxuXG5leHBvcnQgY29uc3QgZ2V0U3lzdGVtRmllbGRWYWx1ZXMgPSAocmVjb3JkOiBBSVRhYmxlVmlld1JlY29yZCk6IFN5c3RlbUZpZWxkVmFsdWVzID0+IHtcbiAgICByZXR1cm4gW1xuICAgICAgICB7IF9pZDogcmVjb3JkWydfaWQnXSB9LFxuICAgICAgICByZWNvcmQuc2hvcnRfaWQsXG4gICAgICAgIHJlY29yZC5jcmVhdGVkX2F0LFxuICAgICAgICByZWNvcmQuY3JlYXRlZF9ieSxcbiAgICAgICAgcmVjb3JkWydwb3NpdGlvbnMnXSxcbiAgICAgICAgcmVjb3JkLnVwZGF0ZWRfYXQsXG4gICAgICAgIHJlY29yZC51cGRhdGVkX2J5XG4gICAgXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDdXN0b21GaWVsZFZhbHVlcyA9IChyZWNvcmQ6IEFJVGFibGVWaWV3UmVjb3JkKTogQ3VzdG9tRmllbGRWYWx1ZXMgPT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTm8gaW1wbGVtZW50Jyk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VmFsdWVzQnlDdXN0b21GaWVsZFZhbHVlcyA9IChjdXN0b21GaWVsZFZhbHVlczogQ3VzdG9tRmllbGRWYWx1ZXMsIGZpZWxkczogQUlUYWJsZVZpZXdGaWVsZHMpID0+IHtcbiAgICBjb25zdCBmaWVsZElkcyA9IGZpZWxkcy5tYXAoKGl0ZW0pID0+IGl0ZW0uX2lkKTtcbiAgICBjb25zdCByZWNvcmRWYWx1ZTogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgIGZpZWxkSWRzLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgIHJlY29yZFZhbHVlW2l0ZW1dID0gY3VzdG9tRmllbGRWYWx1ZXNbaW5kZXhdO1xuICAgIH0pO1xuICAgIHJldHVybiByZWNvcmRWYWx1ZTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUcmFja2FibGVFbnRpdHlCeVN5c3RlbUZpZWxkVmFsdWVzID0gKHN5c3RlbUZpZWxkVmFsdWVzOiBTeXN0ZW1GaWVsZFZhbHVlcyk6IFRyYWNrYWJsZUVudGl0eSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY3JlYXRlZF9hdDogc3lzdGVtRmllbGRWYWx1ZXNbU3lzdGVtRmllbGRJbmRleC5DcmVhdGVkQXRdLFxuICAgICAgICBjcmVhdGVkX2J5OiBzeXN0ZW1GaWVsZFZhbHVlc1tTeXN0ZW1GaWVsZEluZGV4LkNyZWF0ZWRCeV0sXG4gICAgICAgIHVwZGF0ZWRfYXQ6IHN5c3RlbUZpZWxkVmFsdWVzW1N5c3RlbUZpZWxkSW5kZXguVXBkYXRlZEF0XSxcbiAgICAgICAgdXBkYXRlZF9ieTogc3lzdGVtRmllbGRWYWx1ZXNbU3lzdGVtRmllbGRJbmRleC5VcGRhdGVkQnldXG4gICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRJZEJ5U3lzdGVtRmllbGRWYWx1ZXMgPSAoc3lzdGVtRmllbGRWYWx1ZXM6IFN5c3RlbUZpZWxkVmFsdWVzKTogc3RyaW5nID0+IHtcbiAgICByZXR1cm4gc3lzdGVtRmllbGRWYWx1ZXNbU3lzdGVtRmllbGRJbmRleC5JZF1bJ19pZCddO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFNob3J0SWRCeVN5c3RlbUZpZWxkVmFsdWVzID0gKHN5c3RlbUZpZWxkVmFsdWVzOiBTeXN0ZW1GaWVsZFZhbHVlcyk6IHN0cmluZyA9PiB7XG4gICAgcmV0dXJuIHN5c3RlbUZpZWxkVmFsdWVzW1N5c3RlbUZpZWxkSW5kZXguU2hvcnRJZF07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SWRCeVN5c3RlbUZpZWxkVmFsdWVzVHlwZSA9IChzeXN0ZW1GaWVsZFZhbHVlc1R5cGU6IFkuQXJyYXk8YW55Pik6IHN0cmluZyA9PiB7XG4gICAgcmV0dXJuIHN5c3RlbUZpZWxkVmFsdWVzVHlwZS5nZXQoU3lzdGVtRmllbGRJbmRleC5JZClbJ19pZCddO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFBvc2l0aW9uc0J5U3lzdGVtRmllbGRWYWx1ZXMgPSAoc3lzdGVtRmllbGRWYWx1ZXM6IFN5c3RlbUZpZWxkVmFsdWVzKTogUG9zaXRpb25zID0+IHtcbiAgICByZXR1cm4gc3lzdGVtRmllbGRWYWx1ZXNbU3lzdGVtRmllbGRJbmRleC5Qb3NpdGlvbnNdO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFBvc2l0aW9uc0J5UmVjb3JkU3luY0VsZW1lbnQgPSAocmVjb3JkU3luY0VsZW1lbnQ6IFJlY29yZFN5bmNFbGVtZW50KSA9PiB7XG4gICAgY29uc3Qgc3lzdGVtRmllbGRUeXBlID0gcmVjb3JkU3luY0VsZW1lbnQuZ2V0KDApIGFzIFkuQXJyYXk8YW55PjtcbiAgICBjb25zdCBwb3NpdGlvbnMgPSBzeXN0ZW1GaWVsZFR5cGUuZ2V0KFN5c3RlbUZpZWxkSW5kZXguUG9zaXRpb25zKTtcbiAgICByZXR1cm4gcG9zaXRpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFJlY29yZFBvc2l0aW9ucyA9IChyZWNvcmRTeW5jRWxlbWVudDogUmVjb3JkU3luY0VsZW1lbnQsIG5ld1Bvc2l0aW9uczogUG9zaXRpb25zKSA9PiB7XG4gICAgY29uc3Qgc3lzdGVtRmllbGRUeXBlID0gcmVjb3JkU3luY0VsZW1lbnQuZ2V0KDApIGFzIFkuQXJyYXk8YW55PjtcbiAgICBzeXN0ZW1GaWVsZFR5cGUuZGVsZXRlKFN5c3RlbUZpZWxkSW5kZXguUG9zaXRpb25zKTtcbiAgICBzeXN0ZW1GaWVsZFR5cGUuaW5zZXJ0KFN5c3RlbUZpZWxkSW5kZXguUG9zaXRpb25zLCBbbmV3UG9zaXRpb25zXSk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0UmVjb3JkVXBkYXRlZEluZm8gPSAocmVjb3JkU3luY0VsZW1lbnQ6IFJlY29yZFN5bmNFbGVtZW50LCBpbmZvOiBBSVRhYmxlUmVjb3JkVXBkYXRlZEluZm8pID0+IHtcbiAgICBjb25zdCBzeXN0ZW1GaWVsZFR5cGUgPSByZWNvcmRTeW5jRWxlbWVudC5nZXQoMCkgYXMgWS5BcnJheTxhbnk+O1xuICAgIHN5c3RlbUZpZWxkVHlwZS5kZWxldGUoU3lzdGVtRmllbGRJbmRleC5VcGRhdGVkQXQsIDIpO1xuICAgIHN5c3RlbUZpZWxkVHlwZS5pbnNlcnQoU3lzdGVtRmllbGRJbmRleC5VcGRhdGVkQXQsIFtpbmZvLnVwZGF0ZWRfYXQsIGluZm8udXBkYXRlZF9ieV0pO1xufTtcbiJdfQ==
@@ -1,3 +1,4 @@
1
+ import { AITableStateI18nKey, getStateI18nTextByKey } from './i18n';
1
2
  export function isPathEqual(path, another) {
2
3
  return path.length === another.length && path.every((n, i) => n === another[i]);
3
4
  }
@@ -8,4 +9,14 @@ export function sortByViewPosition(data, activeView) {
8
9
  }
9
10
  return data;
10
11
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3V0aWxzL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQVUsRUFBRSxPQUFhO0lBQ2pELE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEYsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxJQUE0QyxFQUFFLFVBQXVCO0lBQ3BHLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVFLElBQUksWUFBWSxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0aCB9IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcbmltcG9ydCB7IEFJVGFibGVWaWV3LCBBSVRhYmxlVmlld0ZpZWxkcywgQUlUYWJsZVZpZXdSZWNvcmRzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNQYXRoRXF1YWwocGF0aDogUGF0aCwgYW5vdGhlcjogUGF0aCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBwYXRoLmxlbmd0aCA9PT0gYW5vdGhlci5sZW5ndGggJiYgcGF0aC5ldmVyeSgobiwgaSkgPT4gbiA9PT0gYW5vdGhlcltpXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0QnlWaWV3UG9zaXRpb24oZGF0YTogQUlUYWJsZVZpZXdSZWNvcmRzIHwgQUlUYWJsZVZpZXdGaWVsZHMsIGFjdGl2ZVZpZXc6IEFJVGFibGVWaWV3KSB7XG4gICAgY29uc3QgaGFzUG9zaXRpb25zID0gZGF0YS5ldmVyeSgoaXRlbSkgPT4gaXRlbS5wb3NpdGlvbnMgJiYgaXRlbS5wb3NpdGlvbnMpO1xuICAgIGlmIChoYXNQb3NpdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIFsuLi5kYXRhXS5zb3J0KChhLCBiKSA9PiBhLnBvc2l0aW9uc1thY3RpdmVWaWV3Ll9pZF0gLSBiLnBvc2l0aW9uc1thY3RpdmVWaWV3Ll9pZF0pO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbn1cbiJdfQ==
12
+ export function generateCopyName(aiTable, existNames, name) {
13
+ const copyText = getStateI18nTextByKey(aiTable, AITableStateI18nKey.copySuffix);
14
+ let newName = `${name} ${copyText}`;
15
+ let index = 2;
16
+ while (existNames.includes(newName)) {
17
+ newName = `${name} ${copyText} ${index}`;
18
+ index++;
19
+ }
20
+ return newName;
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3V0aWxzL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFcEUsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFVLEVBQUUsT0FBYTtJQUNqRCxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BGLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsSUFBNEMsRUFBRSxVQUF1QjtJQUNwRyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1RSxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxPQUFnQixFQUFFLFVBQW9CLEVBQUUsSUFBWTtJQUNqRixNQUFNLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEYsSUFBSSxPQUFPLEdBQUcsR0FBRyxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7SUFDcEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDbEMsT0FBTyxHQUFHLEdBQUcsSUFBSSxJQUFJLFFBQVEsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QyxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0aCB9IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcbmltcG9ydCB7IEFJVGFibGVWaWV3LCBBSVRhYmxlVmlld0ZpZWxkcywgQUlUYWJsZVZpZXdSZWNvcmRzIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgQUlUYWJsZSB9IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcbmltcG9ydCB7IEFJVGFibGVTdGF0ZUkxOG5LZXksIGdldFN0YXRlSTE4blRleHRCeUtleSB9IGZyb20gJy4vaTE4bic7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1BhdGhFcXVhbChwYXRoOiBQYXRoLCBhbm90aGVyOiBQYXRoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHBhdGgubGVuZ3RoID09PSBhbm90aGVyLmxlbmd0aCAmJiBwYXRoLmV2ZXJ5KChuLCBpKSA9PiBuID09PSBhbm90aGVyW2ldKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNvcnRCeVZpZXdQb3NpdGlvbihkYXRhOiBBSVRhYmxlVmlld1JlY29yZHMgfCBBSVRhYmxlVmlld0ZpZWxkcywgYWN0aXZlVmlldzogQUlUYWJsZVZpZXcpIHtcbiAgICBjb25zdCBoYXNQb3NpdGlvbnMgPSBkYXRhLmV2ZXJ5KChpdGVtKSA9PiBpdGVtLnBvc2l0aW9ucyAmJiBpdGVtLnBvc2l0aW9ucyk7XG4gICAgaWYgKGhhc1Bvc2l0aW9ucykge1xuICAgICAgICByZXR1cm4gWy4uLmRhdGFdLnNvcnQoKGEsIGIpID0+IGEucG9zaXRpb25zW2FjdGl2ZVZpZXcuX2lkXSAtIGIucG9zaXRpb25zW2FjdGl2ZVZpZXcuX2lkXSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVDb3B5TmFtZShhaVRhYmxlOiBBSVRhYmxlLCBleGlzdE5hbWVzOiBzdHJpbmdbXSwgbmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgY29weVRleHQgPSBnZXRTdGF0ZUkxOG5UZXh0QnlLZXkoYWlUYWJsZSwgQUlUYWJsZVN0YXRlSTE4bktleS5jb3B5U3VmZml4KTtcbiAgICBsZXQgbmV3TmFtZSA9IGAke25hbWV9ICR7Y29weVRleHR9YDtcbiAgICBsZXQgaW5kZXggPSAyO1xuICAgIHdoaWxlIChleGlzdE5hbWVzLmluY2x1ZGVzKG5ld05hbWUpKSB7XG4gICAgICAgIG5ld05hbWUgPSBgJHtuYW1lfSAke2NvcHlUZXh0fSAke2luZGV4fWA7XG4gICAgICAgIGluZGV4Kys7XG4gICAgfVxuICAgIHJldHVybiBuZXdOYW1lO1xufVxuIl19
@@ -1,9 +1,10 @@
1
1
  import { Actions } from '../../action';
2
2
  import { updateRecordsUpdatedInfo } from '../record/update-system-field-value';
3
- export const buildRemoveFieldItem = (getUpdatedInfo) => {
3
+ import { AITableStateI18nKey, getStateI18nTextByKey } from '../../utils/i18n';
4
+ export const buildRemoveFieldItem = (aiTable, getUpdatedInfo) => {
4
5
  return {
5
6
  type: 'removeField',
6
- name: '删除列',
7
+ name: getStateI18nTextByKey(aiTable, AITableStateI18nKey.removeField),
7
8
  icon: 'trash',
8
9
  exec: (aiTable, field) => {
9
10
  Actions.removeField(aiTable, [field()._id]);
@@ -11,4 +12,4 @@ export const buildRemoveFieldItem = (getUpdatedInfo) => {
11
12
  }
12
13
  };
13
14
  };
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3V0aWxzL2ZpZWxkL3JlbW92ZS1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRS9FLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsY0FBOEMsRUFBRSxFQUFFO0lBQ25GLE9BQU87UUFDSCxJQUFJLEVBQUUsYUFBYTtRQUNuQixJQUFJLEVBQUUsS0FBSztRQUNYLElBQUksRUFBRSxPQUFPO1FBQ2IsSUFBSSxFQUFFLENBQUMsT0FBZ0IsRUFBRSxLQUEyQixFQUFFLEVBQUU7WUFDcEQsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFzQixFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMzRCx3QkFBd0IsQ0FBQyxPQUFzQixFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlLCBBSVRhYmxlRmllbGQsIEFJVGFibGVSZWNvcmRVcGRhdGVkSW5mbyB9IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcbmltcG9ydCB7IFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucyB9IGZyb20gJy4uLy4uL2FjdGlvbic7XG5pbXBvcnQgeyBBSVZpZXdUYWJsZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IHVwZGF0ZVJlY29yZHNVcGRhdGVkSW5mbyB9IGZyb20gJy4uL3JlY29yZC91cGRhdGUtc3lzdGVtLWZpZWxkLXZhbHVlJztcblxuZXhwb3J0IGNvbnN0IGJ1aWxkUmVtb3ZlRmllbGRJdGVtID0gKGdldFVwZGF0ZWRJbmZvOiAoKSA9PiBBSVRhYmxlUmVjb3JkVXBkYXRlZEluZm8pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAncmVtb3ZlRmllbGQnLFxuICAgICAgICBuYW1lOiAn5Yig6Zmk5YiXJyxcbiAgICAgICAgaWNvbjogJ3RyYXNoJyxcbiAgICAgICAgZXhlYzogKGFpVGFibGU6IEFJVGFibGUsIGZpZWxkOiBTaWduYWw8QUlUYWJsZUZpZWxkPikgPT4ge1xuICAgICAgICAgICAgQWN0aW9ucy5yZW1vdmVGaWVsZChhaVRhYmxlIGFzIEFJVmlld1RhYmxlLCBbZmllbGQoKS5faWRdKTtcbiAgICAgICAgICAgIHVwZGF0ZVJlY29yZHNVcGRhdGVkSW5mbyhhaVRhYmxlIGFzIEFJVmlld1RhYmxlLCBnZXRVcGRhdGVkSW5mbygpKTtcbiAgICAgICAgfVxuICAgIH07XG59O1xuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3V0aWxzL2ZpZWxkL3JlbW92ZS1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsT0FBZ0IsRUFBRSxjQUE4QyxFQUFFLEVBQUU7SUFDckcsT0FBTztRQUNILElBQUksRUFBRSxhQUFhO1FBQ25CLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLENBQUMsV0FBVyxDQUFDO1FBQ3JFLElBQUksRUFBRSxPQUFPO1FBQ2IsSUFBSSxFQUFFLENBQUMsT0FBZ0IsRUFBRSxLQUEyQixFQUFFLEVBQUU7WUFDcEQsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFzQixFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMzRCx3QkFBd0IsQ0FBQyxPQUFzQixFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlLCBBSVRhYmxlRmllbGQsIEFJVGFibGVSZWNvcmRVcGRhdGVkSW5mbyB9IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcbmltcG9ydCB7IFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucyB9IGZyb20gJy4uLy4uL2FjdGlvbic7XG5pbXBvcnQgeyBBSVZpZXdUYWJsZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IHVwZGF0ZVJlY29yZHNVcGRhdGVkSW5mbyB9IGZyb20gJy4uL3JlY29yZC91cGRhdGUtc3lzdGVtLWZpZWxkLXZhbHVlJztcbmltcG9ydCB7IEFJVGFibGVTdGF0ZUkxOG5LZXksIGdldFN0YXRlSTE4blRleHRCeUtleSB9IGZyb20gJy4uLy4uL3V0aWxzL2kxOG4nO1xuXG5leHBvcnQgY29uc3QgYnVpbGRSZW1vdmVGaWVsZEl0ZW0gPSAoYWlUYWJsZTogQUlUYWJsZSwgZ2V0VXBkYXRlZEluZm86ICgpID0+IEFJVGFibGVSZWNvcmRVcGRhdGVkSW5mbykgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdyZW1vdmVGaWVsZCcsXG4gICAgICAgIG5hbWU6IGdldFN0YXRlSTE4blRleHRCeUtleShhaVRhYmxlLCBBSVRhYmxlU3RhdGVJMThuS2V5LnJlbW92ZUZpZWxkKSxcbiAgICAgICAgaWNvbjogJ3RyYXNoJyxcbiAgICAgICAgZXhlYzogKGFpVGFibGU6IEFJVGFibGUsIGZpZWxkOiBTaWduYWw8QUlUYWJsZUZpZWxkPikgPT4ge1xuICAgICAgICAgICAgQWN0aW9ucy5yZW1vdmVGaWVsZChhaVRhYmxlIGFzIEFJVmlld1RhYmxlLCBbZmllbGQoKS5faWRdKTtcbiAgICAgICAgICAgIHVwZGF0ZVJlY29yZHNVcGRhdGVkSW5mbyhhaVRhYmxlIGFzIEFJVmlld1RhYmxlLCBnZXRVcGRhdGVkSW5mbygpKTtcbiAgICAgICAgfVxuICAgIH07XG59O1xuIl19
@@ -0,0 +1,37 @@
1
+ export var AITableStateI18nKey;
2
+ (function (AITableStateI18nKey) {
3
+ AITableStateI18nKey["copyField"] = "copyField";
4
+ AITableStateI18nKey["removeRecords"] = "removeRecords";
5
+ AITableStateI18nKey["copy"] = "copy";
6
+ AITableStateI18nKey["copySuffix"] = "copySuffix";
7
+ AITableStateI18nKey["paste"] = "paste";
8
+ AITableStateI18nKey["invalidPasteContent"] = "invalidPasteContent";
9
+ AITableStateI18nKey["tableView"] = "tableView";
10
+ AITableStateI18nKey["editField"] = "editField";
11
+ AITableStateI18nKey["removeField"] = "removeField";
12
+ })(AITableStateI18nKey || (AITableStateI18nKey = {}));
13
+ const AITableI18nText = {
14
+ [AITableStateI18nKey.copyField]: '复制列',
15
+ [AITableStateI18nKey.removeRecords]: '删除行',
16
+ [AITableStateI18nKey.copy]: '复制',
17
+ [AITableStateI18nKey.copySuffix]: '副本',
18
+ [AITableStateI18nKey.paste]: '粘贴',
19
+ [AITableStateI18nKey.invalidPasteContent]: '粘贴内容不符合当前类型',
20
+ [AITableStateI18nKey.tableView]: '表格视图',
21
+ [AITableStateI18nKey.editField]: '编辑列',
22
+ [AITableStateI18nKey.removeField]: '删除列'
23
+ };
24
+ export const getDefaultI18nTextByKey = (key) => {
25
+ return AITableI18nText[key] || key;
26
+ };
27
+ export const getStateI18nTextByKey = (aiTable, key) => {
28
+ if (aiTable.getI18nTextByKey) {
29
+ const customText = aiTable.getI18nTextByKey(key);
30
+ if (customText) {
31
+ return customText;
32
+ }
33
+ }
34
+ const defaultText = getDefaultI18nTextByKey(key);
35
+ return defaultText;
36
+ };
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy91dGlscy9pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBTixJQUFZLG1CQVVYO0FBVkQsV0FBWSxtQkFBbUI7SUFDM0IsOENBQXVCLENBQUE7SUFDdkIsc0RBQStCLENBQUE7SUFDL0Isb0NBQWEsQ0FBQTtJQUNiLGdEQUF5QixDQUFBO0lBQ3pCLHNDQUFlLENBQUE7SUFDZixrRUFBMkMsQ0FBQTtJQUMzQyw4Q0FBdUIsQ0FBQTtJQUN2Qiw4Q0FBdUIsQ0FBQTtJQUN2QixrREFBMkIsQ0FBQTtBQUMvQixDQUFDLEVBVlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQVU5QjtBQUVELE1BQU0sZUFBZSxHQUFHO0lBQ3BCLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSztJQUN0QyxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUs7SUFDMUMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJO0lBQ2hDLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSTtJQUN0QyxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUk7SUFDakMsQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLGFBQWE7SUFDeEQsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNO0lBQ3ZDLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSztJQUN0QyxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUs7Q0FDM0MsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsR0FBd0IsRUFBVSxFQUFFO0lBQ3hFLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztBQUN2QyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE9BQWdCLEVBQUUsR0FBaUMsRUFBVSxFQUFFO0lBQ2pHLElBQUksT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0IsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELElBQUksVUFBVSxFQUFFLENBQUM7WUFDYixPQUFPLFVBQVUsQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sV0FBVyxHQUFHLHVCQUF1QixDQUFDLEdBQTBCLENBQUMsQ0FBQztJQUN4RSxPQUFPLFdBQVcsQ0FBQztBQUN2QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuXG5leHBvcnQgZW51bSBBSVRhYmxlU3RhdGVJMThuS2V5IHtcbiAgICBjb3B5RmllbGQgPSAnY29weUZpZWxkJyxcbiAgICByZW1vdmVSZWNvcmRzID0gJ3JlbW92ZVJlY29yZHMnLFxuICAgIGNvcHkgPSAnY29weScsXG4gICAgY29weVN1ZmZpeCA9ICdjb3B5U3VmZml4JyxcbiAgICBwYXN0ZSA9ICdwYXN0ZScsXG4gICAgaW52YWxpZFBhc3RlQ29udGVudCA9ICdpbnZhbGlkUGFzdGVDb250ZW50JyxcbiAgICB0YWJsZVZpZXcgPSAndGFibGVWaWV3JyxcbiAgICBlZGl0RmllbGQgPSAnZWRpdEZpZWxkJyxcbiAgICByZW1vdmVGaWVsZCA9ICdyZW1vdmVGaWVsZCdcbn1cblxuY29uc3QgQUlUYWJsZUkxOG5UZXh0ID0ge1xuICAgIFtBSVRhYmxlU3RhdGVJMThuS2V5LmNvcHlGaWVsZF06ICflpI3liLbliJcnLFxuICAgIFtBSVRhYmxlU3RhdGVJMThuS2V5LnJlbW92ZVJlY29yZHNdOiAn5Yig6Zmk6KGMJyxcbiAgICBbQUlUYWJsZVN0YXRlSTE4bktleS5jb3B5XTogJ+WkjeWIticsXG4gICAgW0FJVGFibGVTdGF0ZUkxOG5LZXkuY29weVN1ZmZpeF06ICflia/mnKwnLFxuICAgIFtBSVRhYmxlU3RhdGVJMThuS2V5LnBhc3RlXTogJ+eymOi0tCcsXG4gICAgW0FJVGFibGVTdGF0ZUkxOG5LZXkuaW52YWxpZFBhc3RlQ29udGVudF06ICfnspjotLTlhoXlrrnkuI3nrKblkIjlvZPliY3nsbvlnosnLFxuICAgIFtBSVRhYmxlU3RhdGVJMThuS2V5LnRhYmxlVmlld106ICfooajmoLzop4blm74nLFxuICAgIFtBSVRhYmxlU3RhdGVJMThuS2V5LmVkaXRGaWVsZF06ICfnvJbovpHliJcnLFxuICAgIFtBSVRhYmxlU3RhdGVJMThuS2V5LnJlbW92ZUZpZWxkXTogJ+WIoOmZpOWIlydcbn07XG5cbmV4cG9ydCBjb25zdCBnZXREZWZhdWx0STE4blRleHRCeUtleSA9IChrZXk6IEFJVGFibGVTdGF0ZUkxOG5LZXkpOiBzdHJpbmcgPT4ge1xuICAgIHJldHVybiBBSVRhYmxlSTE4blRleHRba2V5XSB8fCBrZXk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3RhdGVJMThuVGV4dEJ5S2V5ID0gKGFpVGFibGU6IEFJVGFibGUsIGtleTogQUlUYWJsZVN0YXRlSTE4bktleSB8IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gICAgaWYgKGFpVGFibGUuZ2V0STE4blRleHRCeUtleSkge1xuICAgICAgICBjb25zdCBjdXN0b21UZXh0ID0gYWlUYWJsZS5nZXRJMThuVGV4dEJ5S2V5KGtleSk7XG4gICAgICAgIGlmIChjdXN0b21UZXh0KSB7XG4gICAgICAgICAgICByZXR1cm4gY3VzdG9tVGV4dDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0VGV4dCA9IGdldERlZmF1bHRJMThuVGV4dEJ5S2V5KGtleSBhcyBBSVRhYmxlU3RhdGVJMThuS2V5KTtcbiAgICByZXR1cm4gZGVmYXVsdFRleHQ7XG59O1xuIl19
@@ -11,4 +11,5 @@ export * from './record/update-field-value';
11
11
  export * from './record/update-system-field-value';
12
12
  export * from './weak-map';
13
13
  export * from './field/move-fields';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idWlsZCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkL2FkZC1maWVsZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC9yZW1vdmUtZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC9zb3J0LWZpZWxkcyc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNvcmQvYWRkLXJlY29yZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNvcmQvc29ydCc7XG5leHBvcnQgKiBmcm9tICcuL3JlY29yZC9maWx0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNvcmQvdXBkYXRlLWZpZWxkLXZhbHVlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjb3JkL3VwZGF0ZS1zeXN0ZW0tZmllbGQtdmFsdWUnO1xuZXhwb3J0ICogZnJvbSAnLi93ZWFrLW1hcCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkL21vdmUtZmllbGRzJztcbiJdfQ==
14
+ export * from './i18n';
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idWlsZCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkL2FkZC1maWVsZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC9yZW1vdmUtZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC9zb3J0LWZpZWxkcyc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNvcmQvYWRkLXJlY29yZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNvcmQvc29ydCc7XG5leHBvcnQgKiBmcm9tICcuL3JlY29yZC9maWx0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNvcmQvdXBkYXRlLWZpZWxkLXZhbHVlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjb3JkL3VwZGF0ZS1zeXN0ZW0tZmllbGQtdmFsdWUnO1xuZXhwb3J0ICogZnJvbSAnLi93ZWFrLW1hcCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkL21vdmUtZmllbGRzJztcbmV4cG9ydCAqIGZyb20gJy4vaTE4bic7XG4iXX0=
@@ -2,12 +2,19 @@ import { idCreator, shortIdCreator } from '@ai-table/grid';
2
2
  import { Actions } from '../action';
3
3
  import { ViewActions } from '../action/view';
4
4
  import { PositionsActions } from '../action/position';
5
+ import { generateCopyName } from './common';
6
+ import { generateNewName } from '@ai-table/grid';
7
+ import { AITableStateI18nKey, getStateI18nTextByKey } from './i18n';
5
8
  export function createDefaultPositions(views, activeId, data, index) {
6
9
  const positions = {};
7
10
  const position = getPosition(data, activeId, index);
8
11
  views.forEach((element) => {
9
- const lastPosition = data.length ? data[data.length - 1].positions[element._id] : -1;
10
- positions[element._id] = element._id === activeId ? position : lastPosition + 1;
12
+ if (element._id === activeId) {
13
+ positions[element._id] = position;
14
+ }
15
+ else {
16
+ positions[element._id] = getMaxPosition(data, element._id) + 1;
17
+ }
11
18
  });
12
19
  return positions;
13
20
  }
@@ -19,28 +26,41 @@ export function getPosition(data, activeViewId, index) {
19
26
  position = (previousViewPosition + nextViewPosition) / 2;
20
27
  }
21
28
  else {
22
- const lastPosition = data[data.length - 1].positions?.[activeViewId];
23
- position = lastPosition ? lastPosition + 1 : index;
29
+ const maxPosition = getMaxPosition(data, activeViewId);
30
+ position = maxPosition + 1;
24
31
  }
25
32
  return position;
26
33
  }
34
+ export function getMaxPosition(data, activeViewId) {
35
+ return data.reduce((maxPosition, item) => {
36
+ if (item.positions[activeViewId] > maxPosition) {
37
+ maxPosition = item.positions[activeViewId];
38
+ }
39
+ return maxPosition;
40
+ }, 0);
41
+ }
27
42
  export function addView(aiTable, type, viewId) {
28
43
  let index = aiTable.views().length;
29
44
  const newId = idCreator();
30
45
  const shortId = shortIdCreator();
46
+ const allViewNames = aiTable.views().map((item) => item.name);
47
+ const count = aiTable.views().length || 0;
48
+ const newViewName = generateNewName(allViewNames, count, getStateI18nTextByKey(aiTable, AITableStateI18nKey.tableView));
31
49
  let newView = {
32
50
  _id: newId,
33
51
  short_id: shortId,
34
- name: '表格视图 ' + index
52
+ name: newViewName
35
53
  };
36
54
  let originViewId = aiTable.views()[aiTable.views().length - 1]._id;
37
55
  if (type === 'copy') {
38
56
  originViewId = viewId ?? aiTable.activeViewId();
39
57
  const copyView = aiTable.views().find((item) => item._id === originViewId);
58
+ const copyName = copyView.name;
59
+ const copyViewName = generateCopyName(aiTable, allViewNames, copyName);
40
60
  newView = {
41
61
  ...copyView,
42
62
  _id: newId,
43
- name: copyView.name + '-副本'
63
+ name: copyViewName
44
64
  };
45
65
  index = aiTable.views().indexOf(copyView) + 1;
46
66
  }
@@ -71,4 +91,4 @@ export function removeView(aiTable, records, fields, activeViewId) {
71
91
  });
72
92
  ViewActions.removeView(aiTable, [activeViewId]);
73
93
  }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy91dGlscy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsTUFBTSxVQUFVLHNCQUFzQixDQUNsQyxLQUFvQixFQUNwQixRQUFnQixFQUNoQixJQUE0QyxFQUM1QyxLQUFhO0lBRWIsTUFBTSxTQUFTLEdBQWMsRUFBRSxDQUFDO0lBQ2hDLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUN0QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRixTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUE0QyxFQUFFLFlBQW9CLEVBQUUsS0FB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QUMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQzthQUN6QztTQUNKLEVBQ0QsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQ2QsQ0FBQztJQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsT0FBb0IsRUFBRSxPQUEyQixFQUFFLE1BQXlCLEVBQUUsWUFBb0I7SUFDekgsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ3ZCLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5RixDQUFDLENBQUMsQ0FBQztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNyQixNQUFNLFNBQVMsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxRQUFRLENBQ1osT0FBTyxFQUNQO1lBQ0ksU0FBUztTQUNaLEVBQ0QsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQ2QsQ0FBQztJQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0gsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQ3BELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpZENyZWF0b3IsIHNob3J0SWRDcmVhdG9yIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgQUlUYWJsZVZpZXcsIEFJVGFibGVWaWV3RmllbGQsIEFJVGFibGVWaWV3RmllbGRzLCBBSVRhYmxlVmlld1JlY29yZHMsIEFJVmlld1RhYmxlLCBQb3NpdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBBY3Rpb25zIH0gZnJvbSAnLi4vYWN0aW9uJztcbmltcG9ydCB7IFZpZXdBY3Rpb25zIH0gZnJvbSAnLi4vYWN0aW9uL3ZpZXcnO1xuaW1wb3J0IHsgUG9zaXRpb25zQWN0aW9ucyB9IGZyb20gJy4uL2FjdGlvbi9wb3NpdGlvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEZWZhdWx0UG9zaXRpb25zKFxuICAgIHZpZXdzOiBBSVRhYmxlVmlld1tdLFxuICAgIGFjdGl2ZUlkOiBzdHJpbmcsXG4gICAgZGF0YTogQUlUYWJsZVZpZXdSZWNvcmRzIHwgQUlUYWJsZVZpZXdGaWVsZHMsXG4gICAgaW5kZXg6IG51bWJlclxuKSB7XG4gICAgY29uc3QgcG9zaXRpb25zOiBQb3NpdGlvbnMgPSB7fTtcbiAgICBjb25zdCBwb3NpdGlvbiA9IGdldFBvc2l0aW9uKGRhdGEsIGFjdGl2ZUlkLCBpbmRleCk7XG4gICAgdmlld3MuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICBjb25zdCBsYXN0UG9zaXRpb24gPSBkYXRhLmxlbmd0aCA/IGRhdGFbZGF0YS5sZW5ndGggLSAxXS5wb3NpdGlvbnNbZWxlbWVudC5faWRdIDogLTE7XG4gICAgICAgIHBvc2l0aW9uc1tlbGVtZW50Ll9pZF0gPSBlbGVtZW50Ll9pZCA9PT0gYWN0aXZlSWQgPyBwb3NpdGlvbiA6IGxhc3RQb3NpdGlvbiArIDE7XG4gICAgfSk7XG4gICAgcmV0dXJuIHBvc2l0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBvc2l0aW9uKGRhdGE6IEFJVGFibGVWaWV3UmVjb3JkcyB8IEFJVGFibGVWaWV3RmllbGRzLCBhY3RpdmVWaWV3SWQ6IHN0cmluZywgaW5kZXg6IG51bWJlcikge1xuICAgIGxldCBwb3NpdGlvbiA9IGRhdGEubGVuZ3RoIC0gMTtcbiAgICBpZiAoaW5kZXggIT09IDAgJiYgaW5kZXggIT09IGRhdGEubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzVmlld1Bvc2l0aW9uID0gZGF0YVtpbmRleCAtIDFdLnBvc2l0aW9uc1thY3RpdmVWaWV3SWRdO1xuICAgICAgICBjb25zdCBuZXh0Vmlld1Bvc2l0aW9uID0gZGF0YVtpbmRleF0ucG9zaXRpb25zW2FjdGl2ZVZpZXdJZCFdO1xuICAgICAgICBwb3NpdGlvbiA9IChwcmV2aW91c1ZpZXdQb3NpdGlvbiArIG5leHRWaWV3UG9zaXRpb24pIC8gMjtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBsYXN0UG9zaXRpb24gPSBkYXRhW2RhdGEubGVuZ3RoIC0gMV0ucG9zaXRpb25zPy5bYWN0aXZlVmlld0lkXTtcbiAgICAgICAgcG9zaXRpb24gPSBsYXN0UG9zaXRpb24gPyBsYXN0UG9zaXRpb24gKyAxIDogaW5kZXg7XG4gICAgfVxuICAgIHJldHVybiBwb3NpdGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFZpZXcoYWlUYWJsZTogQUlWaWV3VGFibGUsIHR5cGU6ICdhZGQnIHwgJ2NvcHknLCB2aWV3SWQ/OiBzdHJpbmcpIHtcbiAgICBsZXQgaW5kZXggPSBhaVRhYmxlLnZpZXdzKCkubGVuZ3RoO1xuICAgIGNvbnN0IG5ld0lkID0gaWRDcmVhdG9yKCk7XG4gICAgY29uc3Qgc2hvcnRJZCA9IHNob3J0SWRDcmVhdG9yKCk7XG4gICAgbGV0IG5ld1ZpZXc6IEFJVGFibGVWaWV3ID0ge1xuICAgICAgICBfaWQ6IG5ld0lkLFxuICAgICAgICBzaG9ydF9pZDogc2hvcnRJZCxcbiAgICAgICAgbmFtZTogJ+ihqOagvOinhuWbviAnICsgaW5kZXhcbiAgICB9O1xuICAgIGxldCBvcmlnaW5WaWV3SWQgPSBhaVRhYmxlLnZpZXdzKClbYWlUYWJsZS52aWV3cygpLmxlbmd0aCAtIDFdLl9pZDtcbiAgICBpZiAodHlwZSA9PT0gJ2NvcHknKSB7XG4gICAgICAgIG9yaWdpblZpZXdJZCA9IHZpZXdJZCA/PyBhaVRhYmxlLmFjdGl2ZVZpZXdJZCgpO1xuICAgICAgICBjb25zdCBjb3B5VmlldyA9IGFpVGFibGUudmlld3MoKS5maW5kKChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gb3JpZ2luVmlld0lkKSE7XG4gICAgICAgIG5ld1ZpZXcgPSB7XG4gICAgICAgICAgICAuLi5jb3B5VmlldyxcbiAgICAgICAgICAgIF9pZDogbmV3SWQsXG4gICAgICAgICAgICBuYW1lOiBjb3B5Vmlldy5uYW1lICsgJy3lia/mnKwnXG4gICAgICAgIH07XG4gICAgICAgIGluZGV4ID0gYWlUYWJsZS52aWV3cygpLmluZGV4T2YoY29weVZpZXcpICsgMTtcbiAgICB9XG4gICAgVmlld0FjdGlvbnMuYWRkVmlldyhhaVRhYmxlLCBuZXdWaWV3LCBbaW5kZXhdKTtcbiAgICAoYWlUYWJsZS5yZWNvcmRzKCkgYXMgQUlUYWJsZVZpZXdSZWNvcmRzKS5mb3JFYWNoKChyZWNvcmQpID0+IHtcbiAgICAgICAgUG9zaXRpb25zQWN0aW9ucy5zZXRSZWNvcmRQb3NpdGlvbnMoYWlUYWJsZSwgeyBbbmV3SWRdOiByZWNvcmQucG9zaXRpb25zW29yaWdpblZpZXdJZF0gfSwgW3JlY29yZC5faWRdKTtcbiAgICB9KTtcbiAgICAoYWlUYWJsZS5maWVsZHMoKSBhcyBBSVRhYmxlVmlld0ZpZWxkcykuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgQWN0aW9ucy5zZXRGaWVsZDxBSVRhYmxlVmlld0ZpZWxkPihcbiAgICAgICAgICAgIGFpVGFibGUsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmZpZWxkLnBvc2l0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgW25ld0lkXTogZmllbGQucG9zaXRpb25zW29yaWdpblZpZXdJZF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW2ZpZWxkLl9pZF1cbiAgICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3Vmlldztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVZpZXcoYWlUYWJsZTogQUlWaWV3VGFibGUsIHJlY29yZHM6IEFJVGFibGVWaWV3UmVjb3JkcywgZmllbGRzOiBBSVRhYmxlVmlld0ZpZWxkcywgYWN0aXZlVmlld0lkOiBzdHJpbmcpIHtcbiAgICByZWNvcmRzLmZvckVhY2goKHJlY29yZCkgPT4ge1xuICAgICAgICBQb3NpdGlvbnNBY3Rpb25zLnNldFJlY29yZFBvc2l0aW9ucyhhaVRhYmxlLCB7IFthY3RpdmVWaWV3SWRdOiB1bmRlZmluZWQgfSwgW3JlY29yZC5faWRdKTtcbiAgICB9KTtcbiAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgcG9zaXRpb25zID0geyAuLi5maWVsZC5wb3NpdGlvbnMgfTtcbiAgICAgICAgZGVsZXRlIHBvc2l0aW9uc1thY3RpdmVWaWV3SWRdO1xuICAgICAgICBBY3Rpb25zLnNldEZpZWxkPEFJVGFibGVWaWV3RmllbGQ+KFxuICAgICAgICAgICAgYWlUYWJsZSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbZmllbGQuX2lkXVxuICAgICAgICApO1xuICAgIH0pO1xuICAgIFZpZXdBY3Rpb25zLnJlbW92ZVZpZXcoYWlUYWJsZSwgW2FjdGl2ZVZpZXdJZF0pO1xufVxuIl19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy91dGlscy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFcEUsTUFBTSxVQUFVLHNCQUFzQixDQUNsQyxLQUFvQixFQUNwQixRQUFnQixFQUNoQixJQUE0QyxFQUM1QyxLQUFhO0lBRWIsTUFBTSxTQUFTLEdBQWMsRUFBRSxDQUFDO0lBQ2hDLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUN0QixJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0IsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDSixTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRSxDQUFDO0lBQ0wsQ0FBQyxDQUFD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UUFDdkIsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlGLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ3JCLE1BQU0sU0FBUyxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDekMsT0FBTyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0IsT0FBTyxDQUFDLFFBQVEsQ0FDWixPQUFPLEVBQ1A7WUFDSSxTQUFTO1NBQ1osRUFDRCxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FDZCxDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQUM7SUFDSCxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlkQ3JlYXRvciwgc2hvcnRJZENyZWF0b3IgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBBSVRhYmxlVmlldywgQUlUYWJsZVZpZXdGaWVsZCwgQUlUYWJsZVZpZXdGaWVsZHMsIEFJVGFibGVWaWV3UmVjb3JkcywgQUlWaWV3VGFibGUsIFBvc2l0aW9ucyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEFjdGlvbnMgfSBmcm9tICcuLi9hY3Rpb24nO1xuaW1wb3J0IHsgVmlld0FjdGlvbnMgfSBmcm9tICcuLi9hY3Rpb24vdmlldyc7XG5pbXBvcnQgeyBQb3NpdGlvbnNBY3Rpb25zIH0gZnJvbSAnLi4vYWN0aW9uL3Bvc2l0aW9uJztcbmltcG9ydCB7IGdlbmVyYXRlQ29weU5hbWUgfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBnZW5lcmF0ZU5ld05hbWUgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBBSVRhYmxlU3RhdGVJMThuS2V5LCBnZXRTdGF0ZUkxOG5UZXh0QnlLZXkgfSBmcm9tICcuL2kxOG4nO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGVmYXVsdFBvc2l0aW9ucyhcbiAgICB2aWV3czogQUlUYWJsZVZpZXdbXSxcbiAgICBhY3RpdmVJZDogc3RyaW5nLFxuICAgIGRhdGE6IEFJVGFibGVWaWV3UmVjb3JkcyB8IEFJVGFibGVWaWV3RmllbGRzLFxuICAgIGluZGV4OiBudW1iZXJcbikge1xuICAgIGNvbnN0IHBvc2l0aW9uczogUG9zaXRpb25zID0ge307XG4gICAgY29uc3QgcG9zaXRpb24gPSBnZXRQb3NpdGlvbihkYXRhLCBhY3RpdmVJZCwgaW5kZXgpO1xuICAgIHZpZXdzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKGVsZW1lbnQuX2lkID09PSBhY3RpdmVJZCkge1xuICAgICAgICAgICAgcG9zaXRpb25zW2VsZW1lbnQuX2lkXSA9IHBvc2l0aW9uO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcG9zaXRpb25zW2VsZW1lbnQuX2lkXSA9IGdldE1heFBvc2l0aW9uKGRhdGEsIGVsZW1lbnQuX2lkKSArIDE7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcG9zaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UG9zaXRpb24oZGF0YTogQUlUYWJsZVZpZXdSZWNvcmRzIHwgQUlUYWJsZVZpZXdGaWVsZHMsIGFjdGl2ZVZpZXdJZDogc3RyaW5nLCBpbmRleDogbnVtYmVyKSB7XG4gICAgbGV0IHBvc2l0aW9uID0gZGF0YS5sZW5ndGggLSAxO1xuICAgIGlmIChpbmRleCAhPT0gMCAmJiBpbmRleCAhPT0gZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNWaWV3UG9zaXRpb24gPSBkYXRhW2luZGV4IC0gMV0ucG9zaXRpb25zW2FjdGl2ZVZpZXdJZF07XG4gICAgICAgIGNvbnN0IG5leHRWaWV3UG9zaXRpb24gPSBkYXRhW2luZGV4XS5wb3NpdGlvbnNbYWN0aXZlVmlld0lkIV07XG4gICAgICAgIHBvc2l0aW9uID0gKHByZXZpb3VzVmlld1Bvc2l0aW9uICsgbmV4dFZpZXdQb3NpdGlvbikgLyAyO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG1heFBvc2l0aW9uID0gZ2V0TWF4UG9zaXRpb24oZGF0YSwgYWN0aXZlVmlld0lkKTtcbiAgICAgICAgcG9zaXRpb24gPSBtYXhQb3NpdGlvbiArIDE7XG4gICAgfVxuICAgIHJldHVybiBwb3NpdGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1heFBvc2l0aW9uKGRhdGE6IEFJVGFibGVWaWV3UmVjb3JkcyB8IEFJVGFibGVWaWV3RmllbGRzLCBhY3RpdmVWaWV3SWQ6IHN0cmluZykge1xuICAgIHJldHVybiBkYXRhLnJlZHVjZSgobWF4UG9zaXRpb24sIGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGl0ZW0ucG9zaXRpb25zW2FjdGl2ZVZpZXdJZF0gPiBtYXhQb3NpdGlvbikge1xuICAgICAgICAgICAgbWF4UG9zaXRpb24gPSBpdGVtLnBvc2l0aW9uc1thY3RpdmVWaWV3SWRdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtYXhQb3NpdGlvbjtcbiAgICB9LCAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFZpZXcoYWlUYWJsZTogQUlWaWV3VGFibGUsIHR5cGU6ICdhZGQnIHwgJ2NvcHknLCB2aWV3SWQ/OiBzdHJpbmcpIHtcbiAgICBsZXQgaW5kZXggPSBhaVRhYmxlLnZpZXdzKCkubGVuZ3RoO1xuICAgIGNvbnN0IG5ld0lkID0gaWRDcmVhdG9yKCk7XG4gICAgY29uc3Qgc2hvcnRJZCA9IHNob3J0SWRDcmVhdG9yKCk7XG5cbiAgICBjb25zdCBhbGxWaWV3TmFtZXMgPSBhaVRhYmxlLnZpZXdzKCkubWFwKChpdGVtKSA9PiBpdGVtLm5hbWUpO1xuICAgIGNvbnN0IGNvdW50ID0gYWlUYWJsZS52aWV3cygpLmxlbmd0aCB8fCAwO1xuICAgIGNvbnN0IG5ld1ZpZXdOYW1lID0gZ2VuZXJhdGVOZXdOYW1lKGFsbFZpZXdOYW1lcywgY291bnQsIGdldFN0YXRlSTE4blRleHRCeUtleShhaVRhYmxlLCBBSVRhYmxlU3RhdGVJMThuS2V5LnRhYmxlVmlldykpO1xuICAgIGxldCBuZXdWaWV3OiBBSVRhYmxlVmlldyA9IHtcbiAgICAgICAgX2lkOiBuZXdJZCxcbiAgICAgICAgc2hvcnRfaWQ6IHNob3J0SWQsXG4gICAgICAgIG5hbWU6IG5ld1ZpZXdOYW1lXG4gICAgfTtcblxuICAgIGxldCBvcmlnaW5WaWV3SWQgPSBhaVRhYmxlLnZpZXdzKClbYWlUYWJsZS52aWV3cygpLmxlbmd0aCAtIDFdLl9pZDtcbiAgICBpZiAodHlwZSA9PT0gJ2NvcHknKSB7XG4gICAgICAgIG9yaWdpblZpZXdJZCA9IHZpZXdJZCA/PyBhaVRhYmxlLmFjdGl2ZVZpZXdJZCgpO1xuICAgICAgICBjb25zdCBjb3B5VmlldyA9IGFpVGFibGUudmlld3MoKS5maW5kKChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gb3JpZ2luVmlld0lkKSE7XG5cbiAgICAgICAgY29uc3QgY29weU5hbWUgPSBjb3B5Vmlldy5uYW1lO1xuICAgICAgICBjb25zdCBjb3B5Vmlld05hbWUgPSBnZW5lcmF0ZUNvcHlOYW1lKGFpVGFibGUsIGFsbFZpZXdOYW1lcywgY29weU5hbWUpO1xuICAgICAgICBuZXdWaWV3ID0ge1xuICAgICAgICAgICAgLi4uY29weVZpZXcsXG4gICAgICAgICAgICBfaWQ6IG5ld0lkLFxuICAgICAgICAgICAgbmFtZTogY29weVZpZXdOYW1lXG4gICAgICAgIH07XG4gICAgICAgIGluZGV4ID0gYWlUYWJsZS52aWV3cygpLmluZGV4T2YoY29weVZpZXcpICsgMTtcbiAgICB9XG4gICAgVmlld0FjdGlvbnMuYWRkVmlldyhhaVRhYmxlLCBuZXdWaWV3LCBbaW5kZXhdKTtcbiAgICAoYWlUYWJsZS5yZWNvcmRzKCkgYXMgQUlUYWJsZVZpZXdSZWNvcmRzKS5mb3JFYWNoKChyZWNvcmQpID0+IHtcbiAgICAgICAgUG9zaXRpb25zQWN0aW9ucy5zZXRSZWNvcmRQb3NpdGlvbnMoYWlUYWJsZSwgeyBbbmV3SWRdOiByZWNvcmQucG9zaXRpb25zW29yaWdpblZpZXdJZF0gfSwgW3JlY29yZC5faWRdKTtcbiAgICB9KTtcbiAgICAoYWlUYWJsZS5maWVsZHMoKSBhcyBBSVRhYmxlVmlld0ZpZWxkcykuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgQWN0aW9ucy5zZXRGaWVsZDxBSVRhYmxlVmlld0ZpZWxkPihcbiAgICAgICAgICAgIGFpVGFibGUsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmZpZWxkLnBvc2l0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgW25ld0lkXTogZmllbGQucG9zaXRpb25zW29yaWdpblZpZXdJZF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW2ZpZWxkLl9pZF1cbiAgICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3Vmlldztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVZpZXcoYWlUYWJsZTogQUlWaWV3VGFibGUsIHJlY29yZHM6IEFJVGFibGVWaWV3UmVjb3JkcywgZmllbGRzOiBBSVRhYmxlVmlld0ZpZWxkcywgYWN0aXZlVmlld0lkOiBzdHJpbmcpIHtcbiAgICByZWNvcmRzLmZvckVhY2goKHJlY29yZCkgPT4ge1xuICAgICAgICBQb3NpdGlvbnNBY3Rpb25zLnNldFJlY29yZFBvc2l0aW9ucyhhaVRhYmxlLCB7IFthY3RpdmVWaWV3SWRdOiB1bmRlZmluZWQgfSwgW3JlY29yZC5faWRdKTtcbiAgICB9KTtcbiAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgcG9zaXRpb25zID0geyAuLi5maWVsZC5wb3NpdGlvbnMgfTtcbiAgICAgICAgZGVsZXRlIHBvc2l0aW9uc1thY3RpdmVWaWV3SWRdO1xuICAgICAgICBBY3Rpb25zLnNldEZpZWxkPEFJVGFibGVWaWV3RmllbGQ+KFxuICAgICAgICAgICAgYWlUYWJsZSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbZmllbGQuX2lkXVxuICAgICAgICApO1xuICAgIH0pO1xuICAgIFZpZXdBY3Rpb25zLnJlbW92ZVZpZXcoYWlUYWJsZSwgW2FjdGl2ZVZpZXdJZF0pO1xufVxuIl19