Просмотр исходного кода

update database selector after db created/deleted

Signed-off-by: ruiyi.jiang <ruiyi.jiang@zilliz.com>
ruiyi.jiang 1 год назад
Родитель
Сommit
eab7bf9dc2

+ 2 - 0
client/src/context/Database.tsx

@@ -6,6 +6,7 @@ export const databaseContext = createContext<DatabaseContextType>({
   database: 'default',
   databases: ['default'],
   setDatabase: () => {},
+  setDatabaseList: () => {},
 });
 
 const { Provider } = databaseContext;
@@ -28,6 +29,7 @@ export const DatabaseProvider = (props: { children: React.ReactNode }) => {
         database,
         databases,
         setDatabase,
+        setDatabaseList: setDatabases,
       }}
     >
       {props.children}

+ 1 - 0
client/src/context/Types.ts

@@ -66,6 +66,7 @@ export type DatabaseContextType = {
   database: string;
   databases: string[];
   setDatabase: Dispatch<SetStateAction<string>>;
+  setDatabaseList: Dispatch<SetStateAction<string[]>>;
 };
 
 export type PrometheusContextType = {

+ 3 - 1
client/src/pages/database/Database.tsx

@@ -9,13 +9,14 @@ import {
   DatabaseData,
 } from './Types';
 import DeleteTemplate from '@/components/customDialog/DeleteDialogTemplate';
-import { rootContext } from '@/context';
+import { rootContext, databaseContext } from '@/context';
 import { useNavigationHook } from '@/hooks';
 import { ALL_ROUTER_TYPES } from '@/router/Types';
 import CreateUser from './Create';
 
 const Database = () => {
   useNavigationHook(ALL_ROUTER_TYPES.DATABASES);
+  const { setDatabaseList } = useContext(databaseContext);
 
   const [databases, setDatabases] = useState<DatabaseData[]>([]);
   const [selectedDatabase, setSelectedDatabase] = useState<DatabaseData[]>([]);
@@ -29,6 +30,7 @@ const Database = () => {
   const fetchDatabases = async () => {
     const res = await DatabaseHttp.getDatabases();
     setDatabases(res.db_names.map((v: string) => ({ name: v })));
+    setDatabaseList(res.db_names);
   };
 
   const handleCreate = async (data: CreateDatabaseParams) => {