@ai-table/grid 0.0.60 → 0.0.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { isNumber } from 'lodash';
2
- import { AI_TABLE_ROW_HEAD_WIDTH } from '../constants';
2
+ import { AI_TABLE_FIELD_ADD_BUTTON_WIDTH, AI_TABLE_ROW_HEAD_WIDTH } from '../constants';
3
3
  export const getVisibleRangeInfo = (coordinate, scrollState) => {
4
4
  const { scrollTop, scrollLeft } = scrollState;
5
5
  const { rowCount, columnCount, frozenColumnCount } = coordinate;
@@ -35,8 +35,8 @@ export const scrollMax = (aiTable, coordinate, visibleColumns) => {
35
35
  const scrollMaxWidth = visibleColumns.reduce((pre, cur) => {
36
36
  const index = visibleColumnIndexMap.get(cur._id);
37
37
  return pre + (isNumber(index) ? coordinate.getColumnWidth(index) : 0);
38
- }, AI_TABLE_ROW_HEAD_WIDTH);
38
+ }, AI_TABLE_ROW_HEAD_WIDTH) + AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
39
39
  const scrollMaxHeight = coordinate.getRowOffset(coordinate.rowCount - 1) + 32;
40
- return { scrollMaxWidth, scrollMaxHeight };
40
+ return { scrollMaxWidth: Math.max(scrollMaxWidth, coordinate.containerWidth), scrollMaxHeight };
41
41
  };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaWJsZS1yYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL3Zpc2libGUtcmFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJdkQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxVQUFzQixFQUFFLFdBQStCLEVBQUUsRUFBRTtJQUMzRixNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUFHLFdBQVcsQ0FBQztJQUM5QyxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLFVBQVUsQ0FBQztJQUVoRSxlQUFlO0lBQ2YsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLEVBQUU7UUFDOUIsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRXBFLE9BQU87WUFDSCxhQUFhLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsVUFBVSxHQUFHLENBQUMsQ0FBQztZQUMxQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNuRSxDQUFDO0lBQ04sQ0FBQyxDQUFDO0lBRUYsZUFBZTtJQUNmLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxFQUFFO1FBQ2hDLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RCxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsa0JBQWtCLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXhFLE9BQU87WUFDSCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixHQUFHLENBQUMsRUFBRSxVQUFVLENBQUM7WUFDN0QsZUFBZSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUN6RixDQUFDO0lBQ04sQ0FBQyxDQUFDO0lBRUYsTUFBTSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsR0FBRyxvQkFBb0IsRUFBRSxDQUFDO0lBQy9ELE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsR0FBRyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3ZFLE9BQU87UUFDSCxhQUFhO1FBQ2IsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixlQUFlO0tBQ2xCLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxPQUFnQixFQUFFLFVBQXNCLEVBQUUsY0FBOEIsRUFBRSxFQUFFO0lBQ2xHLE1BQU0scUJBQXFCLEdBQUcsT0FBTyxDQUFDLE9BQVEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3hFLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDdEQsTUFBTSxLQUFLLEdBQUcscUJBQXFCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxPQUFPLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQyxFQUFFLHVCQUF1QixDQUFDLENBQUM7SUFDNUIsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxDQUFDO0FBQy9DLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEFJX1RBQkxFX1JPV19IRUFEX1dJRFRIIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEFJVGFibGUsIEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkT3B0aW9uLCBDb29yZGluYXRlLCBnZXRGaWVsZE9wdGlvbkJ5RmllbGQgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVTY3JvbGxTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IGdldFZpc2libGVSYW5nZUluZm8gPSAoY29vcmRpbmF0ZTogQ29vcmRpbmF0ZSwgc2Nyb2xsU3RhdGU6IEFJVGFibGVTY3JvbGxTdGF0ZSkgPT4ge1xuICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxMZWZ0IH0gPSBzY3JvbGxTdGF0ZTtcbiAgICBjb25zdCB7IHJvd0NvdW50LCBjb2x1bW5Db3VudCwgZnJvemVuQ29sdW1uQ291bnQgfSA9IGNvb3JkaW5hdGU7XG5cbiAgICAvLyDojrflj5bopoHmuLLmn5PnmoTlnoLnm7Tlj6/op4HljLrln59cbiAgICBjb25zdCBnZXRWZXJ0aWNhbFJhbmdlSW5mbyA9ICgpID0+IHtcbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IGNvb3JkaW5hdGUuZ2V0Um93U3RhcnRJbmRleChzY3JvbGxUb3ApO1xuICAgICAgICBjb25zdCBzdG9wSW5kZXggPSBjb29yZGluYXRlLmdldFJvd1N0b3BJbmRleChzdGFydEluZGV4LCBzY3JvbGxUb3ApO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByb3dTdGFydEluZGV4OiBNYXRoLm1heCgwLCBzdGFydEluZGV4IC0gMSksXG4gICAgICAgICAgICByb3dTdG9wSW5kZXg6IE1hdGgubWF4KDAsIE1hdGgubWluKHJvd0NvdW50IC0gMSwgc3RvcEluZGV4ICsgMSkpXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIC8vIOiOt+WPluimgea4suafk+eahOawtOW5s+WPr+ingeWMuuWfn1xuICAgIGNvbnN0IGdldEhvcml6b250YWxSYW5nZUluZm8gPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBjb29yZGluYXRlLmdldENvbHVtblN0YXJ0SW5kZXgoc2Nyb2xsTGVmdCk7XG4gICAgICAgIGNvbnN0IHN0b3BJbmRleCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uU3RvcEluZGV4KHN0YXJ0SW5kZXgsIHNjcm9sbExlZnQpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb2x1bW5TdGFydEluZGV4OiBNYXRoLm1heChmcm96ZW5Db2x1bW5Db3VudCAtIDEsIHN0YXJ0SW5kZXgpLFxuICAgICAgICAgICAgY29sdW1uU3RvcEluZGV4OiBNYXRoLm1heChmcm96ZW5Db2x1bW5Db3VudCAtIDEsIE1hdGgubWluKGNvbHVtbkNvdW50IC0gMSwgc3RvcEluZGV4KSlcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgeyByb3dTdGFydEluZGV4LCByb3dTdG9wSW5kZXggfSA9IGdldFZlcnRpY2FsUmFuZ2VJbmZvKCk7XG4gICAgY29uc3QgeyBjb2x1bW5TdGFydEluZGV4LCBjb2x1bW5TdG9wSW5kZXggfSA9IGdldEhvcml6b250YWxSYW5nZUluZm8oKTtcbiAgICByZXR1cm4ge1xuICAgICAgICByb3dTdGFydEluZGV4LFxuICAgICAgICByb3dTdG9wSW5kZXgsXG4gICAgICAgIGNvbHVtblN0YXJ0SW5kZXgsXG4gICAgICAgIGNvbHVtblN0b3BJbmRleFxuICAgIH07XG59O1xuXG5leHBvcnQgY29uc3Qgc2Nyb2xsTWF4ID0gKGFpVGFibGU6IEFJVGFibGUsIGNvb3JkaW5hdGU6IENvb3JkaW5hdGUsIHZpc2libGVDb2x1bW5zOiBBSVRhYmxlRmllbGRbXSkgPT4ge1xuICAgIGNvbnN0IHZpc2libGVDb2x1bW5JbmRleE1hcCA9IGFpVGFibGUuY29udGV4dCEudmlzaWJsZUNvbHVtbnNJbmRleE1hcCgpO1xuICAgIGNvbnN0IHNjcm9sbE1heFdpZHRoID0gdmlzaWJsZUNvbHVtbnMucmVkdWNlKChwcmUsIGN1cikgPT4ge1xuICAgICAgICBjb25zdCBpbmRleCA9IHZpc2libGVDb2x1bW5JbmRleE1hcC5nZXQoY3VyLl9pZCk7XG4gICAgICAgIHJldHVybiBwcmUgKyAoaXNOdW1iZXIoaW5kZXgpID8gY29vcmRpbmF0ZS5nZXRDb2x1bW5XaWR0aChpbmRleCkgOiAwKTtcbiAgICB9LCBBSV9UQUJMRV9ST1dfSEVBRF9XSURUSCk7XG4gICAgY29uc3Qgc2Nyb2xsTWF4SGVpZ2h0ID0gY29vcmRpbmF0ZS5nZXRSb3dPZmZzZXQoY29vcmRpbmF0ZS5yb3dDb3VudCAtIDEpICsgMzI7XG4gICAgcmV0dXJuIHsgc2Nyb2xsTWF4V2lkdGgsIHNjcm9sbE1heEhlaWdodCB9O1xufTtcbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaWJsZS1yYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL3Zpc2libGUtcmFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJeEYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxVQUFzQixFQUFFLFdBQStCLEVBQUUsRUFBRTtJQUMzRixNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUFHLFdBQVcsQ0FBQztJQUM5QyxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLFVBQVUsQ0FBQztJQUVoRSxlQUFlO0lBQ2YsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLEVBQUU7UUFDOUIsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRXBFLE9BQU87WUFDSCxhQUFhLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsVUFBVSxHQUFHLENBQUMsQ0FBQztZQUMxQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNuRSxDQUFDO0lBQ04sQ0FBQyxDQUFDO0lBRUYsZUFBZTtJQUNmLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxFQUFFO1FBQ2hDLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RCxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsa0JBQWtCLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXhFLE9BQU87WUFDSCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixHQUFHLENBQUMsRUFBRSxVQUFVLENBQUM7WUFDN0QsZUFBZSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUN6RixDQUFDO0lBQ04sQ0FBQyxDQUFDO0lBRUYsTUFBTSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsR0FBRyxvQkFBb0IsRUFBRSxDQUFDO0lBQy9ELE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsR0FBRyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3ZFLE9BQU87UUFDSCxhQUFhO1FBQ2IsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixlQUFlO0tBQ2xCLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxPQUFnQixFQUFFLFVBQXNCLEVBQUUsY0FBOEIsRUFBRSxFQUFFO0lBQ2xHLE1BQU0scUJBQXFCLEdBQUcsT0FBTyxDQUFDLE9BQVEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBRXhFLE1BQU0sY0FBYyxHQUNoQixjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQy9CLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakQsT0FBTyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxHQUFHLCtCQUErQixDQUFDO0lBQ2xFLE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsZUFBZSxFQUFFLENBQUM7QUFDcEcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNOdW1iZXIgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQUlfVEFCTEVfRklFTERfQUREX0JVVFRPTl9XSURUSCwgQUlfVEFCTEVfUk9XX0hFQURfV0lEVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlRmllbGRPcHRpb24sIENvb3JkaW5hdGUsIGdldEZpZWxkT3B0aW9uQnlGaWVsZCB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZVNjcm9sbFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgZ2V0VmlzaWJsZVJhbmdlSW5mbyA9IChjb29yZGluYXRlOiBDb29yZGluYXRlLCBzY3JvbGxTdGF0ZTogQUlUYWJsZVNjcm9sbFN0YXRlKSA9PiB7XG4gICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbExlZnQgfSA9IHNjcm9sbFN0YXRlO1xuICAgIGNvbnN0IHsgcm93Q291bnQsIGNvbHVtbkNvdW50LCBmcm96ZW5Db2x1bW5Db3VudCB9ID0gY29vcmRpbmF0ZTtcblxuICAgIC8vIOiOt+WPluimgea4suafk+eahOWeguebtOWPr+ingeWMuuWfn1xuICAgIGNvbnN0IGdldFZlcnRpY2FsUmFuZ2VJbmZvID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gY29vcmRpbmF0ZS5nZXRSb3dTdGFydEluZGV4KHNjcm9sbFRvcCk7XG4gICAgICAgIGNvbnN0IHN0b3BJbmRleCA9IGNvb3JkaW5hdGUuZ2V0Um93U3RvcEluZGV4KHN0YXJ0SW5kZXgsIHNjcm9sbFRvcCk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJvd1N0YXJ0SW5kZXg6IE1hdGgubWF4KDAsIHN0YXJ0SW5kZXggLSAxKSxcbiAgICAgICAgICAgIHJvd1N0b3BJbmRleDogTWF0aC5tYXgoMCwgTWF0aC5taW4ocm93Q291bnQgLSAxLCBzdG9wSW5kZXggKyAxKSlcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgLy8g6I635Y+W6KaB5riy5p+T55qE5rC05bmz5Y+v6KeB5Yy65Z+fXG4gICAgY29uc3QgZ2V0SG9yaXpvbnRhbFJhbmdlSW5mbyA9ICgpID0+IHtcbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uU3RhcnRJbmRleChzY3JvbGxMZWZ0KTtcbiAgICAgICAgY29uc3Qgc3RvcEluZGV4ID0gY29vcmRpbmF0ZS5nZXRDb2x1bW5TdG9wSW5kZXgoc3RhcnRJbmRleCwgc2Nyb2xsTGVmdCk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbHVtblN0YXJ0SW5kZXg6IE1hdGgubWF4KGZyb3plbkNvbHVtbkNvdW50IC0gMSwgc3RhcnRJbmRleCksXG4gICAgICAgICAgICBjb2x1bW5TdG9wSW5kZXg6IE1hdGgubWF4KGZyb3plbkNvbHVtbkNvdW50IC0gMSwgTWF0aC5taW4oY29sdW1uQ291bnQgLSAxLCBzdG9wSW5kZXgpKVxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICBjb25zdCB7IHJvd1N0YXJ0SW5kZXgsIHJvd1N0b3BJbmRleCB9ID0gZ2V0VmVydGljYWxSYW5nZUluZm8oKTtcbiAgICBjb25zdCB7IGNvbHVtblN0YXJ0SW5kZXgsIGNvbHVtblN0b3BJbmRleCB9ID0gZ2V0SG9yaXpvbnRhbFJhbmdlSW5mbygpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHJvd1N0YXJ0SW5kZXgsXG4gICAgICAgIHJvd1N0b3BJbmRleCxcbiAgICAgICAgY29sdW1uU3RhcnRJbmRleCxcbiAgICAgICAgY29sdW1uU3RvcEluZGV4XG4gICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBzY3JvbGxNYXggPSAoYWlUYWJsZTogQUlUYWJsZSwgY29vcmRpbmF0ZTogQ29vcmRpbmF0ZSwgdmlzaWJsZUNvbHVtbnM6IEFJVGFibGVGaWVsZFtdKSA9PiB7XG4gICAgY29uc3QgdmlzaWJsZUNvbHVtbkluZGV4TWFwID0gYWlUYWJsZS5jb250ZXh0IS52aXNpYmxlQ29sdW1uc0luZGV4TWFwKCk7XG5cbiAgICBjb25zdCBzY3JvbGxNYXhXaWR0aCA9XG4gICAgICAgIHZpc2libGVDb2x1bW5zLnJlZHVjZSgocHJlLCBjdXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdmlzaWJsZUNvbHVtbkluZGV4TWFwLmdldChjdXIuX2lkKTtcbiAgICAgICAgICAgIHJldHVybiBwcmUgKyAoaXNOdW1iZXIoaW5kZXgpID8gY29vcmRpbmF0ZS5nZXRDb2x1bW5XaWR0aChpbmRleCkgOiAwKTtcbiAgICAgICAgfSwgQUlfVEFCTEVfUk9XX0hFQURfV0lEVEgpICsgQUlfVEFCTEVfRklFTERfQUREX0JVVFRPTl9XSURUSDtcbiAgICBjb25zdCBzY3JvbGxNYXhIZWlnaHQgPSBjb29yZGluYXRlLmdldFJvd09mZnNldChjb29yZGluYXRlLnJvd0NvdW50IC0gMSkgKyAzMjtcbiAgICByZXR1cm4geyBzY3JvbGxNYXhXaWR0aDogTWF0aC5tYXgoc2Nyb2xsTWF4V2lkdGgsIGNvb3JkaW5hdGUuY29udGFpbmVyV2lkdGgpLCBzY3JvbGxNYXhIZWlnaHQgfTtcbn07XG4iXX0=
@@ -4191,9 +4191,9 @@ const scrollMax = (aiTable, coordinate, visibleColumns) => {
4191
4191
  const scrollMaxWidth = visibleColumns.reduce((pre, cur) => {
4192
4192
  const index = visibleColumnIndexMap.get(cur._id);
4193
4193
  return pre + (isNumber(index) ? coordinate.getColumnWidth(index) : 0);
4194
- }, AI_TABLE_ROW_HEAD_WIDTH);
4194
+ }, AI_TABLE_ROW_HEAD_WIDTH) + AI_TABLE_FIELD_ADD_BUTTON_WIDTH;
4195
4195
  const scrollMaxHeight = coordinate.getRowOffset(coordinate.rowCount - 1) + 32;
4196
- return { scrollMaxWidth, scrollMaxHeight };
4196
+ return { scrollMaxWidth: Math.max(scrollMaxWidth, coordinate.containerWidth), scrollMaxHeight };
4197
4197
  };
4198
4198
 
4199
4199
  const getMousePosition = (aiTable, x, y, coordinate, fields, context, _targetName) => {
@@ -5829,8 +5829,8 @@ const createActiveCellBorder = (config) => {
5829
5829
  const currentConfig = {
5830
5830
  x: x + offset + AI_TABLE_OFFSET,
5831
5831
  y: y + AI_TABLE_OFFSET,
5832
- width: width - AI_TABLE_OFFSET,
5833
- height: rowHeight - AI_TABLE_OFFSET,
5832
+ width: width - AI_TABLE_CELL_BORDER / 2,
5833
+ height: rowHeight - AI_TABLE_CELL_BORDER / 2,
5834
5834
  strokeWidth: AI_TABLE_CELL_BORDER,
5835
5835
  stroke: colors.primary,
5836
5836
  fillEnabled: false,
@@ -9169,7 +9169,7 @@ class AITableGridEventService {
9169
9169
  aiTable: aiTable
9170
9170
  },
9171
9171
  panelClass: 'grid-cell-editor',
9172
- outsideClosable: true,
9172
+ outsideClosable: false,
9173
9173
  hasBackdrop: false,
9174
9174
  manualClosure: true,
9175
9175
  animationDisabled: true,
@@ -9728,6 +9728,7 @@ class AITableGrid extends AITableGridBase {
9728
9728
  this.isDragSelecting = false;
9729
9729
  this.dragSelectionStart = null;
9730
9730
  this.notifyService = inject(ThyNotifyService);
9731
+ this.isPopoverOpen = false;
9731
9732
  this.fieldHeadHeight = AI_TABLE_FIELD_HEAD_HEIGHT;
9732
9733
  this.containerRect = signal({ width: 0, height: 0 });
9733
9734
  this.frozenColumnCount = signal(1);
@@ -9920,7 +9921,7 @@ class AITableGrid extends AITableGridBase {
9920
9921
  context.setPointPosition(curMousePosition);
9921
9922
  }
9922
9923
  else {
9923
- context.setPointPosition(DEFAULT_POINT_POSITION);
9924
+ this.setDefaultPointPosition();
9924
9925
  }
9925
9926
  this.timer = null;
9926
9927
  if (this.isDragSelecting) {
@@ -9998,8 +9999,10 @@ class AITableGrid extends AITableGridBase {
9998
9999
  cancelAnimationFrame(this.timer);
9999
10000
  }
10000
10001
  this.timer = requestAnimationFrame(() => {
10001
- const { context } = this.aiTable;
10002
- context.setPointPosition(DEFAULT_POINT_POSITION);
10002
+ if (this.isPopoverOpen) {
10003
+ return;
10004
+ }
10005
+ this.setDefaultPointPosition();
10003
10006
  });
10004
10007
  }
10005
10008
  stageContextmenu(e) {
@@ -10090,7 +10093,7 @@ class AITableGrid extends AITableGridBase {
10090
10093
  y: containerRect.y + fieldGroupRect.y + fieldGroupRect.height
10091
10094
  };
10092
10095
  const editOrigin = this.containerElement().querySelector('.konvajs-content');
10093
- this.aiTableGridFieldService.openFieldMenu(this.aiTable, {
10096
+ const menuRef = this.aiTableGridFieldService.openFieldMenu(this.aiTable, {
10094
10097
  fieldId: fieldId,
10095
10098
  fieldMenus: this.fieldMenus(),
10096
10099
  origin: this.containerElement(),
@@ -10098,6 +10101,11 @@ class AITableGrid extends AITableGridBase {
10098
10101
  editOrigin: editOrigin,
10099
10102
  editFieldPosition
10100
10103
  });
10104
+ menuRef.afterClosed().subscribe(() => {
10105
+ this.isPopoverOpen = false;
10106
+ this.setDefaultPointPosition();
10107
+ });
10108
+ this.isPopoverOpen = true;
10101
10109
  }
10102
10110
  break;
10103
10111
  }
@@ -10144,6 +10152,10 @@ class AITableGrid extends AITableGridBase {
10144
10152
  this.scrollAction({ deltaX: e.deltaX, deltaY: e.deltaY, shiftKey: e.shiftKey });
10145
10153
  });
10146
10154
  }
10155
+ setDefaultPointPosition() {
10156
+ const { context } = this.aiTable;
10157
+ context.setPointPosition(DEFAULT_POINT_POSITION);
10158
+ }
10147
10159
  bindScrollBarScroll() {
10148
10160
  fromEvent(this.horizontalBarRef().nativeElement, 'scroll', { passive: true })
10149
10161
  .pipe(takeUntilDestroyed(this.destroyRef))