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;