import { cloneElement, useMemo } from "react"; import { useTranslation } from "react-i18next"; import { useControllableValue } from "ahooks"; import { Alert, Drawer } from "antd"; import { CircleCheck as CircleCheckIcon, CircleX as CircleXIcon } from "lucide-react"; import Show from "@/components/Show"; import { type WorkflowRunModel } from "@/domain/workflowRun"; export type WorkflowRunDetailDrawerProps = { data?: WorkflowRunModel; loading?: boolean; open?: boolean; trigger?: React.ReactElement; onOpenChange?: (open: boolean) => void; }; const WorkflowRunDetailDrawer = ({ data, loading, trigger, ...props }: WorkflowRunDetailDrawerProps) => { const { t } = useTranslation(); const [open, setOpen] = useControllableValue(props, { valuePropName: "open", defaultValuePropName: "defaultOpen", trigger: "onOpenChange", }); const triggerEl = useMemo(() => { if (!trigger) { return null; } return cloneElement(trigger, { ...trigger.props, onClick: () => { setOpen(true); trigger.props?.onClick?.(); }, }); }, [trigger, setOpen]); return ( <> {triggerEl} setOpen(false)}> } /> } />
{data!.log.map((item, i) => { return (
{item.nodeName}
{item.outputs.map((output, j) => { return (
[{output.time}]
{output.error ?
{output.error}
:
{output.content}
}
); })}
); })}
); }; export default WorkflowRunDetailDrawer;