diff --git a/optuna_dashboard/ts/components/DeleteStudyDialog.tsx b/optuna_dashboard/ts/components/DeleteStudyDialog.tsx
index 14312e06..d4e4dc9b 100644
--- a/optuna_dashboard/ts/components/DeleteStudyDialog.tsx
+++ b/optuna_dashboard/ts/components/DeleteStudyDialog.tsx
@@ -1,10 +1,13 @@
import {
+ Alert,
Button,
+ Checkbox,
Dialog,
DialogActions,
DialogContent,
DialogContentText,
DialogTitle,
+ FormControlLabel,
} from "@mui/material"
import React, { ReactNode, useState } from "react"
import { actionCreator } from "../action"
@@ -17,16 +20,18 @@ export const useDeleteStudyDialog = (): [
const [openDeleteStudyDialog, setOpenDeleteStudyDialog] = useState(false)
const [deleteStudyID, setDeleteStudyID] = useState(-1)
+ const [removeAssociatedArtifacts, setRemoveAssociatedArtifacts] =
+ useState(false)
const handleCloseDeleteStudyDialog = () => {
setOpenDeleteStudyDialog(false)
setDeleteStudyID(-1)
+ setRemoveAssociatedArtifacts(false)
}
const handleDeleteStudy = () => {
- action.deleteStudy(deleteStudyID)
- setOpenDeleteStudyDialog(false)
- setDeleteStudyID(-1)
+ action.deleteStudy(deleteStudyID, removeAssociatedArtifacts)
+ handleCloseDeleteStudyDialog()
}
const openDialog = (studyId: number) => {
@@ -42,12 +47,29 @@ export const useDeleteStudyDialog = (): [
handleCloseDeleteStudyDialog()
}}
aria-labelledby="delete-study-dialog-title"
+ fullWidth
+ maxWidth="xs"
>
Delete study
Are you sure you want to delete a study (id={deleteStudyID})?
+ setRemoveAssociatedArtifacts((cur) => !cur)}
+ />
+ }
+ />
+ {removeAssociatedArtifacts && (
+
+ If articles are linked to another study or trial, they will no
+ longer be accessible from that study or trial as well.
+
+ )}