Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions frontend/src/pages/DataManagement/Create/EditDataset.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ export default function EditDataset({
tags: [],
});
const fetchDataset = async () => {
if (!open) return;
// 如果有id,说明是编辑模式
if (data && data.id) {
const { data: newData } = await queryDatasetByIdUsingGet(data.id);
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/pages/DataManagement/Detail/DatasetDetail.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ export default function DatasetDetail() {
data={dataset}
open={showUploadDialog}
onClose={() => setShowUploadDialog(false)}
onRefresh={handleRefresh}
updateEvent="update:dataset"
/>
<EditDataset
data={dataset}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,4 @@
import {
Select,
Input,
Form,
Radio,
Modal,
Button,
App,
UploadFile,
} from "antd";
import { Select, Input, Form, Radio, Modal, Button, UploadFile } from "antd";
import { InboxOutlined } from "@ant-design/icons";
import { dataSourceOptions } from "../../dataset.const";
import { Dataset, DataSource } from "../../dataset.model";
Expand All @@ -21,14 +12,13 @@ export default function ImportConfiguration({
data,
open,
onClose,
onRefresh,
updateEvent = "update:dataset",
}: {
data?: Dataset;
data: Dataset | null;
open: boolean;
onClose: () => void;
onRefresh?: (showMessage?: boolean) => void;
updateEvent?: string;
}) {
const { message } = App.useApp();
const [form] = Form.useForm();
const [collectionOptions, setCollectionOptions] = useState([]);
const [importConfig, setImportConfig] = useState<any>({
Expand Down Expand Up @@ -57,7 +47,11 @@ export default function ImportConfiguration({
});
window.dispatchEvent(
new CustomEvent("upload:dataset", {
detail: { dataset, files: fileSliceList },
detail: {
dataset,
files: fileSliceList,
updateEvent,
},
})
);
resetFiles();
Expand All @@ -73,6 +67,7 @@ export default function ImportConfiguration({
};

const fetchCollectionTasks = async () => {
if (importConfig.source !== DataSource.COLLECTION) return;
try {
const res = await queryTasksUsingGet({ page: 0, size: 100 });
const options = res.data.content.map((task: any) => ({
Expand All @@ -93,15 +88,14 @@ export default function ImportConfiguration({
};

const handleImportData = async () => {
if (!data) return;
if (importConfig.source === DataSource.UPLOAD) {
await handleUpload(data);
} else if (importConfig.source === DataSource.COLLECTION) {
await updateDatasetByIdUsingPut(data?.id!, {
await updateDatasetByIdUsingPut(data.id, {
...importConfig,
});
}
message.success("数据已更新");
onRefresh?.(false);
onClose();
};

Expand All @@ -110,7 +104,7 @@ export default function ImportConfiguration({
resetState();
fetchCollectionTasks();
}
}, [open]);
}, [open, importConfig.source]);

return (
<Modal
Expand Down
12 changes: 11 additions & 1 deletion frontend/src/pages/DataManagement/Home/DataManagement.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,16 @@ export default function DatasetManagementPage() {
</Card>
);

useEffect(() => {
const refresh = () => {
handleRefresh(true);
};
window.addEventListener("update:datasets", refresh);
return () => {
window.removeEventListener("update:datasets", refresh);
};
}, []);

return (
<div className="gap-4 h-full flex flex-col">
{/* Header */}
Expand Down Expand Up @@ -389,7 +399,7 @@ export default function DatasetManagementPage() {
setCurrentDataset(null);
setShowUploadDialog(false);
}}
onRefresh={handleRefresh}
updateEvent="update:datasets"
/>
</div>
);
Expand Down
1 change: 1 addition & 0 deletions frontend/src/pages/DataManagement/dataset.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,4 +97,5 @@ export interface TaskItem {
isCancel?: boolean;
controller: AbortController;
cancelFn?: () => void;
updateEvent?: string;
}
5 changes: 3 additions & 2 deletions frontend/src/pages/Layout/TaskUpload.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ export default function TaskUpload() {
percent: 0,
reqId: -1,
controller,
updateEvent: detail.updateEvent || "update:dataset",
};
taskListRef.current = [task, ...taskListRef.current];

Expand All @@ -47,7 +48,7 @@ export default function TaskUpload() {
if (task.isCancel && task.cancelFn) {
task.cancelFn();
}
window.dispatchEvent(new Event("update:dataset"));
window.dispatchEvent(new Event(task.updateEvent || "update:dataset"));
window.dispatchEvent(
new CustomEvent("show:task-popover", { detail: { show: false } })
);
Expand Down Expand Up @@ -111,7 +112,7 @@ export default function TaskUpload() {
cancelFn: () => {
task.controller.abort();
cancelUploadUsingPut(reqId);
window.dispatchEvent(new Event("update:dataset"));
window.dispatchEvent(new Event(task.updateEvent || "update:dataset"));
},
};
updateTaskList(newTask);
Expand Down