import './processing.css'; import { useHistory } from './processing.js'; // SVG 图标组件 const LoopIcon = ({ active = false }) => ( ); const PlayIcon = () => ( ); const PauseIcon = () => ( ); const DeleteIcon = () => ( ); function History() { const { folders, handlePlayPause, handleLoop, handleDelete, handleKeyDown, getLoopButtonClassName, getLoopButtonTitle, getPlayButtonTitle, isPlaying, isLooping, formatCreatedAt, } = useHistory(); const createKeyDownHandler = (handler) => (e) => handleKeyDown(e, handler); return (
{folders.map((folder, index) => (
handleLoop(index, e)} role="button" tabIndex={0} onKeyDown={createKeyDownHandler((e) => handleLoop(index, e))} title={getLoopButtonTitle(index)} >
handlePlayPause(index, e)} role="button" tabIndex={0} onKeyDown={createKeyDownHandler((e) => handlePlayPause(index, e))} title={getPlayButtonTitle(index)} > {isPlaying(index) ? : }
handleDelete(index, e)} role="button" tabIndex={0} onKeyDown={createKeyDownHandler((e) => handleDelete(index, e))} title="删除" >
{ // 如果点击的是按钮区域,不触发 if (e.target.closest('.History-item-buttons')) { return; } // 触发打开蓝图编辑器事件 window.dispatchEvent(new CustomEvent('open-blueprint', { detail: { workflowName: folder.name } })); }} style={{ cursor: 'pointer' }} title="点击进入可视化编程界面" >
{folder.name}
{folder.createdAt && (
{formatCreatedAt(folder.createdAt)}
)}
))}
); } export default History;