import { Tooltip } from '@mui/material'; import { Popup, Type } from '@dash/components'; import { observer } from 'mobx-react'; import * as React from 'react'; import { StrCast } from '../../fields/Types'; import { SettingsManager } from '../util/SettingsManager'; import { UndoManager } from '../util/UndoManager'; import './UndoStack.scss'; @observer export class UndoStack extends React.Component { setRef = (r: HTMLDivElement | null) => r?.scroll({ behavior: 'auto', top: (r?.scrollHeight ?? 0) + 20 }); render() { const background = UndoManager.batchCounter.get() ? 'yellow' : SettingsManager.userVariantColor; const color = UndoManager.batchCounter.get() ? 'black' : SettingsManager.userColor; return (
{Array.from(UndoManager.undoStackNames).map((name, i) => (
{ const size = UndoManager.undoStackNames.length; for (let n = 0; n < size - i; n++) UndoManager.Undo(); }}>
{StrCast(name).replace(/[^.]*\./, '')}
))} {Array.from(UndoManager.redoStackNames) .reverse() .map((name, i) => (
{ for (let n = 0; n <= i; n++) UndoManager.Redo(); }}>
{StrCast(name).replace(/[^.]*\./, '')}
))}
} />
); } }