Skip to content
2 changes: 2 additions & 0 deletions .github/workflows/docker-image-backend-python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ on:
branches: [ "main" ]
paths:
- 'scripts/images/datamate-python/**'
- 'runtime/datamate-python/**'
- '.github/workflows/docker-image-backend-python.yml'
- '.github/workflows/docker-images-reusable.yml'
pull_request:
branches: [ "main" ]
paths:
- 'scripts/images/datamate-python/**'
- 'runtime/datamate-python/**'
- '.github/workflows/docker-image-backend-python.yml'
- '.github/workflows/docker-images-reusable.yml'
workflow_dispatch:
Expand Down
1 change: 1 addition & 0 deletions deployment/docker/milvus/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ services:
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
command: etcd -advertise-client-urls=http://etcd:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
restart: always
networks:
- datamate
healthcheck:
Expand Down
51 changes: 27 additions & 24 deletions frontend/src/components/business/DatasetFileTransfer.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React, { useEffect } from "react";
import React, { useCallback, useEffect } from "react";
import { Button, Input, Table } from "antd";
import { RightOutlined } from "@ant-design/icons";
import { mapDataset } from "@/pages/DataManagement/dataset.const";
Expand All @@ -19,6 +19,7 @@ interface DatasetFileTransferProps
open: boolean;
selectedFilesMap: { [key: string]: DatasetFile };
onSelectedFilesChange: (filesMap: { [key: string]: DatasetFile }) => void;
onDatasetSelect?: (dataset: Dataset | null) => void;
}

const fileCols = [
Expand Down Expand Up @@ -48,6 +49,7 @@ const DatasetFileTransfer: React.FC<DatasetFileTransferProps> = ({
open,
selectedFilesMap,
onSelectedFilesChange,
onDatasetSelect,
...props
}) => {
const [datasets, setDatasets] = React.useState<Dataset[]>([]);
Expand Down Expand Up @@ -96,31 +98,33 @@ const DatasetFileTransfer: React.FC<DatasetFileTransferProps> = ({
300
);

const fetchFiles = async () => {
const fetchFiles = useCallback(async () => {
if (!selectedDataset) return;
const { data } = await queryDatasetFilesUsingGet(selectedDataset.id, {
page: filesPagination.current - 1,
size: filesPagination.pageSize,
keyword: filesSearch,
});
setFiles(
data.content.map((item) => ({
(data.content || []).map((item: DatasetFile) => ({
...item,
key: item.id,
datasetName: selectedDataset.name,
})) || []
}))
);
setFilesPagination((prev) => ({
...prev,
total: data.totalElements,
}));
};
}, [filesPagination.current, filesPagination.pageSize, filesSearch, selectedDataset]);

useEffect(() => {
if (selectedDataset) {
fetchFiles();
}
}, [selectedDataset]);
fetchFiles().catch(() => {});
}, [fetchFiles]);

useEffect(() => {
onDatasetSelect?.(selectedDataset);
}, [selectedDataset, onDatasetSelect]);

const toggleSelectFile = (record: DatasetFile) => {
if (!selectedFilesMap[record.id]) {
Expand All @@ -147,8 +151,9 @@ const DatasetFileTransfer: React.FC<DatasetFileTransferProps> = ({
setShowFiles(false);
setSelectedDataset(null);
setDatasetSelections([]);
onDatasetSelect?.(null);
}
}, [open]);
}, [open, onDatasetSelect]);

const datasetCols = [
{
Expand Down Expand Up @@ -206,7 +211,15 @@ const DatasetFileTransfer: React.FC<DatasetFileTransferProps> = ({
})}
dataSource={datasets}
columns={datasetCols}
pagination={datasetPagination}
pagination={{
...datasetPagination,
onChange: (page, pageSize) =>
setDatasetPagination({
current: page,
pageSize: pageSize || datasetPagination.pageSize,
total: datasetPagination.total,
}),
}}
/>
</div>
<RightOutlined />
Expand All @@ -231,21 +244,11 @@ const DatasetFileTransfer: React.FC<DatasetFileTransferProps> = ({
})}
rowSelection={{
type: "checkbox",
onSelectAll: (selected, _, changeRows) => {
const newSelectedFiles = { ...selectedFilesMap };
if (selected) {
changeRows.forEach((row) => {
newSelectedFiles[row.id] = row;
});
} else {
changeRows.forEach((row) => {
delete newSelectedFiles[row.id];
});
}
onSelectedFilesChange(newSelectedFiles);
},
selectedRowKeys: Object.keys(selectedFilesMap),
onSelect: toggleSelectFile,
getCheckboxProps: (record: DatasetFile) => ({
name: record.fileName,
}),
}}
/>
</div>
Expand Down
Loading