Skip to content

Commit 2e47251

Browse files
committed
fix: must-have changes
1 parent 61dc9c5 commit 2e47251

File tree

8 files changed

+31
-24
lines changed

8 files changed

+31
-24
lines changed

src/components/PaginatedTable/PaginatedTable.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,6 @@
181181
}
182182

183183
&__row-skeleton::after {
184-
animation: none !important;
184+
display: none !important;
185185
}
186186
}

src/components/PaginatedTable/TableChunk.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -119,12 +119,7 @@ export const TableChunk = typedMemo(function TableChunk<T, F>({
119119
);
120120
} else {
121121
return getArray(dataLength).map((value) => (
122-
<LoadingTableRow
123-
key={value}
124-
columns={columns}
125-
height={rowHeight}
126-
index={value}
127-
/>
122+
<LoadingTableRow key={value} columns={columns} height={rowHeight} />
128123
));
129124
}
130125
}
@@ -141,7 +136,6 @@ export const TableChunk = typedMemo(function TableChunk<T, F>({
141136
return currentData.data.map((rowData, index) => (
142137
<TableRow
143138
key={index}
144-
index={index}
145139
row={rowData as T}
146140
columns={columns}
147141
height={rowHeight}

src/components/PaginatedTable/TableRow.tsx

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {Skeleton} from '@gravity-ui/uikit';
33
import {DEFAULT_ALIGN, DEFAULT_RESIZEABLE} from './constants';
44
import {b} from './shared';
55
import type {AlignType, Column, GetRowClassName} from './types';
6+
import {typedMemo} from './utils';
67

78
interface TableCellProps {
89
height: number;
@@ -38,19 +39,18 @@ const TableRowCell = ({
3839

3940
interface LoadingTableRowProps<T> {
4041
columns: Column<T>[];
41-
index: number;
4242
height: number;
4343
}
4444

45-
export const LoadingTableRow = <T,>({index, columns, height}: LoadingTableRowProps<T>) => {
45+
export const LoadingTableRow = typedMemo(function <T>({columns, height}: LoadingTableRowProps<T>) {
4646
return (
4747
<tr className={b('row', {loading: true})}>
4848
{columns.map((column) => {
4949
const resizeable = column.resizeable ?? DEFAULT_RESIZEABLE;
5050

5151
return (
5252
<TableRowCell
53-
key={`${column.name}${index}`}
53+
key={`${column.name}`}
5454
height={height}
5555
width={column.width}
5656
align={column.align}
@@ -66,17 +66,16 @@ export const LoadingTableRow = <T,>({index, columns, height}: LoadingTableRowPro
6666
})}
6767
</tr>
6868
);
69-
};
69+
});
7070

7171
interface TableRowProps<T> {
7272
columns: Column<T>[];
73-
index: number;
7473
row: T;
7574
height: number;
7675
getRowClassName?: GetRowClassName<T>;
7776
}
7877

79-
export const TableRow = <T,>({row, index, columns, getRowClassName, height}: TableRowProps<T>) => {
78+
export const TableRow = <T,>({row, columns, getRowClassName, height}: TableRowProps<T>) => {
8079
const additionalClassName = getRowClassName?.(row);
8180

8281
return (
@@ -86,14 +85,14 @@ export const TableRow = <T,>({row, index, columns, getRowClassName, height}: Tab
8685

8786
return (
8887
<TableRowCell
89-
key={`${column.name}${index}`}
88+
key={`${column.name}`}
9089
height={height}
9190
width={column.width}
9291
align={column.align}
9392
className={column.className}
9493
resizeable={resizeable}
9594
>
96-
{column.render({row, index})}
95+
{column.render({row})}
9796
</TableRowCell>
9897
);
9998
})}

src/components/PaginatedTable/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export interface Column<T> {
2929
className?: string;
3030
sortable?: boolean;
3131
resizeable?: boolean;
32-
render: (props: {row: T; index: number}) => React.ReactNode;
32+
render: (props: {row: T}) => React.ReactNode;
3333
width?: number;
3434
resizeMaxWidth?: number;
3535
resizeMinWidth?: number;

src/containers/Nodes/NodesTable.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export function NodesTable({
8383
parentRef={parentRef}
8484
columns={columns}
8585
fetchData={getNodes}
86-
limit={50}
86+
limit={30}
8787
initialEntitiesCount={initialEntitiesCount}
8888
renderControls={renderControls}
8989
renderErrorMessage={renderPaginatedTableErrorMessage}

src/containers/Storage/StorageGroups/PaginatedStorageGroupsTable.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ export const PaginatedStorageGroupsTable = ({
101101
parentRef={parentRef}
102102
columns={columns}
103103
fetchData={fetchData}
104-
limit={50}
104+
limit={30}
105105
initialEntitiesCount={initialEntitiesCount}
106106
renderControls={renderControls}
107107
renderErrorMessage={renderErrorMessage}

src/containers/Storage/StorageNodes/PaginatedStorageNodesTable.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ export const PaginatedStorageNodesTable = ({
104104
columns={columns}
105105
fetchData={getStorageNodes}
106106
rowHeight={51}
107-
limit={50}
107+
limit={30}
108108
initialEntitiesCount={initialEntitiesCount}
109109
renderControls={renderControls}
110110
renderErrorMessage={renderErrorMessage}

src/containers/Storage/StorageNodes/getNodes.ts

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export const getStorageNodes: FetchData<
4848
type,
4949
storage,
5050
limit,
51-
offset,
51+
offset: 0,
5252
sort,
5353
filter: searchValue,
5454
uptime: getUptimeParamValue(nodesUptimeFilter),
@@ -61,9 +61,23 @@ export const getStorageNodes: FetchData<
6161
fieldsRequired: dataFieldsRequired,
6262
});
6363
const preparedResponse = prepareStorageNodesResponse(response);
64+
65+
let mockedData = preparedResponse.nodes?.slice();
66+
67+
for (let i = 0; i < 4000; i++) {
68+
mockedData = mockedData?.concat(
69+
preparedResponse.nodes?.map((data, j) => ({
70+
...data,
71+
NodeId: data.NodeId + i * 2000 + j,
72+
Host: data.Host || String(i) + ',' + j,
73+
})) || [],
74+
);
75+
}
76+
const paginatedData = mockedData?.slice(offset, offset + limit);
77+
6478
return {
65-
data: preparedResponse.nodes || [],
66-
found: preparedResponse.found || 0,
67-
total: preparedResponse.total || 0,
79+
data: paginatedData || [],
80+
found: mockedData?.length || 0,
81+
total: mockedData?.length || 0,
6882
};
6983
};

0 commit comments

Comments
 (0)