import { useState, useEffect, useMemo, useRef } from 'react'; import { Button } from '@svar-ui/react-core'; import { getData } from '../data'; import { Gantt, Editor, ContextMenu } from '../../src'; import './ProUndo.css'; export default function ProUndo({ skinSettings }) { const [api, setApi] = useState(); const { tasks, links, scales } = useMemo(() => getData(), []); function init(ganttApi) { setApi(ganttApi); } return (
{api && }
{api && }
); } function History({ api }) { const [history, setHistory] = useState(null); function handleUndo() { api.exec('undo'); } function handleRedo() { api.exec('redo'); } useEffect(() => { api.getReactiveState().history.subscribe((v) => (setHistory(v))); }, []); return (
{history && history.undo > 0 && ( {history.undo} )}
{history && history.redo > 0 && ( {history.redo} )}
); }