Add workflow actions in workflow page (#1376)

This commit is contained in:
Shuchang Zheng
2024-12-12 06:37:10 -08:00
committed by GitHub
parent 6c36d6ba8f
commit a574bda9d3
2 changed files with 15 additions and 3 deletions

View File

@@ -39,6 +39,7 @@ import { WorkflowCreateYAMLRequest } from "./types/workflowYamlTypes";
type Props = {
workflow: WorkflowApiResponse;
onSuccessfullyDeleted?: () => void;
};
function downloadFile(fileName: string, contents: string) {
@@ -57,7 +58,7 @@ function downloadFile(fileName: string, contents: string) {
document.body.removeChild(element);
}
function WorkflowActions({ workflow }: Props) {
function WorkflowActions({ workflow, onSuccessfullyDeleted }: Props) {
const credentialGetter = useCredentialGetter();
const queryClient = useQueryClient();
const navigate = useNavigate();
@@ -105,6 +106,7 @@ function WorkflowActions({ workflow }: Props) {
queryClient.invalidateQueries({
queryKey: ["workflows"],
});
onSuccessfullyDeleted?.();
},
onError: (error: AxiosError) => {
toast({
@@ -164,7 +166,6 @@ function WorkflowActions({ workflow }: Props) {
</DropdownMenuSubContent>
</DropdownMenuPortal>
</DropdownMenuSub>
<DialogTrigger>
<DropdownMenuItem className="p-2">
<GarbageIcon className="mr-2 h-4 w-4 text-destructive" />
@@ -176,7 +177,11 @@ function WorkflowActions({ workflow }: Props) {
<DialogContent onCloseAutoFocus={(e) => e.preventDefault()}>
<DialogHeader>
<DialogTitle>Are you sure?</DialogTitle>
<DialogDescription>This workflow will be deleted.</DialogDescription>
<DialogDescription>
The workflow{" "}
<span className="font-semibold text-primary">{workflow.title}</span>{" "}
will be deleted.
</DialogDescription>
</DialogHeader>
<DialogFooter>
<DialogClose asChild>

View File

@@ -31,6 +31,7 @@ import {
useSearchParams,
} from "react-router-dom";
import { WorkflowApiResponse } from "./types/workflowTypes";
import { WorkflowActions } from "./WorkflowActions";
function WorkflowPage() {
const credentialGetter = useCredentialGetter();
@@ -88,6 +89,12 @@ function WorkflowPage() {
)}
</div>
<div className="flex gap-2">
{workflow && (
<WorkflowActions
workflow={workflow}
onSuccessfullyDeleted={() => navigate("/workflows")}
/>
)}
<Button asChild variant="secondary">
<Link to={`/workflows/${workflowPermanentId}/edit`}>
<Pencil2Icon className="mr-2 size-4" />