import ListFilterBar from '@/components/list-filter-bar'; import { RenameDialog } from '@/components/rename-dialog'; import { useFetchNextKnowledgeListByPage } from '@/hooks/use-knowledge-request'; import { pick } from 'lodash'; import { Plus } from 'lucide-react'; import { PropsWithChildren, useCallback } from 'react'; import { DatasetCard } from './dataset-card'; import { DatasetCreatingDialog } from './dataset-creating-dialog'; import { DatasetsFilterPopover } from './datasets-filter-popover'; import { DatasetsPagination } from './datasets-pagination'; import { useSaveKnowledge } from './hooks'; import { useRenameDataset } from './use-rename-dataset'; export default function Datasets() { const { visible, hideModal, showModal, onCreateOk, loading: creatingLoading, } = useSaveKnowledge(); const { kbs, total, pagination, setPagination, handleInputChange, searchString, setOwnerIds, ownerIds, } = useFetchNextKnowledgeListByPage(); const { datasetRenameLoading, initialDatasetName, onDatasetRenameOk, datasetRenameVisible, hideDatasetRenameModal, showDatasetRenameModal, } = useRenameDataset(); const handlePageChange = useCallback( (page: number, pageSize?: number) => { setPagination({ page, pageSize }); }, [setPagination], ); return (
( {children} )} searchString={searchString} onSearchChange={handleInputChange} > Create dataset
{kbs.map((dataset) => { return ( ); })}
{visible && ( )} {datasetRenameVisible && ( )}
); }