Skip to content

Commit 7012a9a

Browse files
authored
feat: enhance backend deployment, frontend file selection and synthesis task management (#129)
* feat: Implement data synthesis task management with database models and API endpoints * feat: Update Python version requirements and refine dependency constraints in configuration * fix: Correctly extract file values from selectedFilesMap in AddDataDialog * feat: Refactor synthesis task routes and enhance file task management in the API * feat: Enhance SynthesisTaskTab with tooltip actions and add chunk data retrieval in API
1 parent 1d19cd3 commit 7012a9a

File tree

14 files changed

+972
-1190
lines changed

14 files changed

+972
-1190
lines changed

.github/workflows/docker-image-backend-python.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@ on:
55
branches: [ "main" ]
66
paths:
77
- 'scripts/images/datamate-python/**'
8+
- 'runtime/datamate-python/**'
89
- '.github/workflows/docker-image-backend-python.yml'
910
- '.github/workflows/docker-images-reusable.yml'
1011
pull_request:
1112
branches: [ "main" ]
1213
paths:
1314
- 'scripts/images/datamate-python/**'
15+
- 'runtime/datamate-python/**'
1416
- '.github/workflows/docker-image-backend-python.yml'
1517
- '.github/workflows/docker-images-reusable.yml'
1618
workflow_dispatch:

deployment/docker/milvus/docker-compose.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ services:
1010
volumes:
1111
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
1212
command: etcd -advertise-client-urls=http://etcd:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
13+
restart: always
1314
networks:
1415
- datamate
1516
healthcheck:

frontend/src/components/business/DatasetFileTransfer.tsx

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useEffect } from "react";
1+
import React, { useCallback, useEffect } from "react";
22
import { Button, Input, Table } from "antd";
33
import { RightOutlined } from "@ant-design/icons";
44
import { mapDataset } from "@/pages/DataManagement/dataset.const";
@@ -19,6 +19,7 @@ interface DatasetFileTransferProps
1919
open: boolean;
2020
selectedFilesMap: { [key: string]: DatasetFile };
2121
onSelectedFilesChange: (filesMap: { [key: string]: DatasetFile }) => void;
22+
onDatasetSelect?: (dataset: Dataset | null) => void;
2223
}
2324

2425
const fileCols = [
@@ -48,6 +49,7 @@ const DatasetFileTransfer: React.FC<DatasetFileTransferProps> = ({
4849
open,
4950
selectedFilesMap,
5051
onSelectedFilesChange,
52+
onDatasetSelect,
5153
...props
5254
}) => {
5355
const [datasets, setDatasets] = React.useState<Dataset[]>([]);
@@ -96,31 +98,33 @@ const DatasetFileTransfer: React.FC<DatasetFileTransferProps> = ({
9698
300
9799
);
98100

99-
const fetchFiles = async () => {
101+
const fetchFiles = useCallback(async () => {
100102
if (!selectedDataset) return;
101103
const { data } = await queryDatasetFilesUsingGet(selectedDataset.id, {
102104
page: filesPagination.current - 1,
103105
size: filesPagination.pageSize,
104106
keyword: filesSearch,
105107
});
106108
setFiles(
107-
data.content.map((item) => ({
109+
(data.content || []).map((item: DatasetFile) => ({
108110
...item,
109111
key: item.id,
110112
datasetName: selectedDataset.name,
111-
})) || []
113+
}))
112114
);
113115
setFilesPagination((prev) => ({
114116
...prev,
115117
total: data.totalElements,
116118
}));
117-
};
119+
}, [filesPagination.current, filesPagination.pageSize, filesSearch, selectedDataset]);
118120

119121
useEffect(() => {
120-
if (selectedDataset) {
121-
fetchFiles();
122-
}
123-
}, [selectedDataset]);
122+
fetchFiles().catch(() => {});
123+
}, [fetchFiles]);
124+
125+
useEffect(() => {
126+
onDatasetSelect?.(selectedDataset);
127+
}, [selectedDataset, onDatasetSelect]);
124128

125129
const toggleSelectFile = (record: DatasetFile) => {
126130
if (!selectedFilesMap[record.id]) {
@@ -147,8 +151,9 @@ const DatasetFileTransfer: React.FC<DatasetFileTransferProps> = ({
147151
setShowFiles(false);
148152
setSelectedDataset(null);
149153
setDatasetSelections([]);
154+
onDatasetSelect?.(null);
150155
}
151-
}, [open]);
156+
}, [open, onDatasetSelect]);
152157

153158
const datasetCols = [
154159
{
@@ -206,7 +211,15 @@ const DatasetFileTransfer: React.FC<DatasetFileTransferProps> = ({
206211
})}
207212
dataSource={datasets}
208213
columns={datasetCols}
209-
pagination={datasetPagination}
214+
pagination={{
215+
...datasetPagination,
216+
onChange: (page, pageSize) =>
217+
setDatasetPagination({
218+
current: page,
219+
pageSize: pageSize || datasetPagination.pageSize,
220+
total: datasetPagination.total,
221+
}),
222+
}}
210223
/>
211224
</div>
212225
<RightOutlined />
@@ -231,21 +244,11 @@ const DatasetFileTransfer: React.FC<DatasetFileTransferProps> = ({
231244
})}
232245
rowSelection={{
233246
type: "checkbox",
234-
onSelectAll: (selected, _, changeRows) => {
235-
const newSelectedFiles = { ...selectedFilesMap };
236-
if (selected) {
237-
changeRows.forEach((row) => {
238-
newSelectedFiles[row.id] = row;
239-
});
240-
} else {
241-
changeRows.forEach((row) => {
242-
delete newSelectedFiles[row.id];
243-
});
244-
}
245-
onSelectedFilesChange(newSelectedFiles);
246-
},
247247
selectedRowKeys: Object.keys(selectedFilesMap),
248248
onSelect: toggleSelectFile,
249+
getCheckboxProps: (record: DatasetFile) => ({
250+
name: record.fileName,
251+
}),
249252
}}
250253
/>
251254
</div>

0 commit comments

Comments
 (0)