import React, { useEffect, useState } from "react"; import type { IProjectData, ITaskData } from "../../api/task"; import ProjectList, { type TView } from "./ProjectList"; import ProjectTask from "./ProjectTask"; import { Button, Card, Modal, Tree } from "antd"; import { ArrowLeftOutlined } from "@ant-design/icons"; import type { Key } from "antd/es/table/interface"; import { useIntl } from "react-intl"; interface IModal { tiger?: React.ReactNode; studioName?: string; open?: boolean; onClose?: () => void; onSelect?: (data: IProjectData | undefined) => void; onOk?: (data: ITaskData[] | undefined) => void; } export const WorkflowModal = ({ tiger, studioName, open, onSelect, onOk, onClose, }: IModal) => { const [openModal, setOpenModal] = useState(open); const [data, setData] = useState(); useEffect(() => setOpenModal(open), [open]); const showModal = () => { setOpenModal(true); }; const handleOk = () => { if (onOk) { onOk(data); } else { setOpenModal(false); } }; const handleCancel = () => { if (onClose) { onClose(); } else { setOpenModal(false); } }; return ( <>
showModal()}>{tiger}
setData(data)} onSelect={onSelect} /> ); }; interface IWidget { studioName?: string; onSelect?: (data: IProjectData | undefined) => void; onData?: (data: ITaskData[] | undefined) => void; } const Workflow = ({ studioName, onSelect, onData }: IWidget) => { const intl = useIntl(); const [project, setProject] = useState(); const [view, setView] = useState("studio"); const selectWorkflow = (selected: IProjectData | undefined) => { onSelect && onSelect(selected); setProject(selected); }; return (
{ console.debug("selectedKeys", selectedKeys); if (selectedKeys.length > 0) { selectWorkflow(undefined); setView(selectedKeys[0].toString() as TView); } }} />
selectWorkflow(data)} />
); }; export default Workflow;