Skip to content

Commit 6db10c3

Browse files
committed
fix(View): add virtual scroll to resource tree
1 parent 765855a commit 6db10c3

File tree

1 file changed

+8
-1
lines changed
  • frontend/src/app/pages/MainPage/pages/ViewPage/Main/Properties

1 file changed

+8
-1
lines changed

frontend/src/app/pages/MainPage/pages/ViewPage/Main/Properties/Resource.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import {
2727
import { Col, Input, Row } from 'antd';
2828
import { Tree } from 'app/components';
2929
import useI18NPrefix from 'app/hooks/useI18NPrefix';
30+
import useResizeObserver from 'app/hooks/useResizeObserver';
3031
import { useSearchAndExpand } from 'app/hooks/useSearchAndExpand';
3132
import { DEFAULT_DEBOUNCE_WAIT } from 'globalConstants';
3233
import { memo, useCallback, useContext, useEffect, useMemo } from 'react';
@@ -59,6 +60,11 @@ export const Resource = memo(() => {
5960
selectSourceDatabaseSchemas(state, { id: sourceId }),
6061
);
6162

63+
const { height, ref: treeWrapperRef } = useResizeObserver({
64+
refreshMode: 'debounce',
65+
refreshRate: 200,
66+
});
67+
6268
const buildTableNode = useCallback((database: DatabaseSchema) => {
6369
const children =
6470
database?.tables?.map(table => {
@@ -143,14 +149,15 @@ export const Resource = memo(() => {
143149
/>
144150
</Col>
145151
</Searchbar>
146-
<TreeWrapper>
152+
<TreeWrapper ref={treeWrapperRef}>
147153
<Tree
148154
className="medium"
149155
treeData={filteredData}
150156
loading={isDatabaseSchemaLoading}
151157
icon={renderIcon}
152158
selectable={false}
153159
defaultExpandedKeys={expandedRowKeys}
160+
height={height}
154161
onExpand={onExpand}
155162
/>
156163
</TreeWrapper>

0 commit comments

Comments
 (0)