Ver código fonte

FE: KSQL: Implement sorting (#3433)

* Resolves #3171 - enable ksql tables, streams sorting

* enable ksql tables, streams sorting
- make memoized onSortingChange, onPaginationChange depend on location

* fix linting

* edit Table.tsx imports

* fix linting

---------

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Michal Češek 2 anos atrás
pai
commit
0f5a9d7a63

+ 1 - 1
kafka-ui-react-app/src/components/KsqlDb/TableView.tsx

@@ -31,7 +31,7 @@ const TableView: React.FC<TableViewProps> = ({ fetching, rows }) => {
       data={rows || []}
       data={rows || []}
       columns={columns}
       columns={columns}
       emptyMessage={fetching ? 'Loading...' : 'No rows found'}
       emptyMessage={fetching ? 'Loading...' : 'No rows found'}
-      enableSorting={false}
+      enableSorting
     />
     />
   );
   );
 };
 };

+ 4 - 3
kafka-ui-react-app/src/components/common/NewTable/Table.tsx

@@ -14,7 +14,7 @@ import type {
   PaginationState,
   PaginationState,
   ColumnDef,
   ColumnDef,
 } from '@tanstack/react-table';
 } from '@tanstack/react-table';
-import { useSearchParams } from 'react-router-dom';
+import { useSearchParams, useLocation } from 'react-router-dom';
 import { PER_PAGE } from 'lib/constants';
 import { PER_PAGE } from 'lib/constants';
 import { Button } from 'components/common/Button/Button';
 import { Button } from 'components/common/Button/Button';
 import Input from 'components/common/Input/Input';
 import Input from 'components/common/Input/Input';
@@ -129,6 +129,7 @@ const Table: React.FC<TableProps<any>> = ({
   onRowClick,
   onRowClick,
 }) => {
 }) => {
   const [searchParams, setSearchParams] = useSearchParams();
   const [searchParams, setSearchParams] = useSearchParams();
+  const location = useLocation();
   const [rowSelection, setRowSelection] = React.useState({});
   const [rowSelection, setRowSelection] = React.useState({});
   const onSortingChange = React.useCallback(
   const onSortingChange = React.useCallback(
     (updater: UpdaterFn<SortingState>) => {
     (updater: UpdaterFn<SortingState>) => {
@@ -136,7 +137,7 @@ const Table: React.FC<TableProps<any>> = ({
       setSearchParams(searchParams);
       setSearchParams(searchParams);
       return newState;
       return newState;
     },
     },
-    [searchParams]
+    [searchParams, location]
   );
   );
   const onPaginationChange = React.useCallback(
   const onPaginationChange = React.useCallback(
     (updater: UpdaterFn<PaginationState>) => {
     (updater: UpdaterFn<PaginationState>) => {
@@ -145,7 +146,7 @@ const Table: React.FC<TableProps<any>> = ({
       setRowSelection({});
       setRowSelection({});
       return newState;
       return newState;
     },
     },
-    [searchParams]
+    [searchParams, location]
   );
   );
 
 
   const table = useReactTable({
   const table = useReactTable({