/* eslint-disable jsx-a11y/no-static-element-interactions */ /* eslint-disable jsx-a11y/click-events-have-key-events */ import { Tooltip } from '@mui/material'; import { Popup, Type } from 'browndash-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'; interface UndoStackProps {} @observer export class UndoStack extends React.Component { render() { const background = UndoManager.batchCounter.get() ? 'yellow' : SettingsManager.userVariantColor; const color = UndoManager.batchCounter.get() ? 'black' : SettingsManager.userColor; return (
r?.scroll({ behavior: 'auto', top: (r?.scrollHeight ?? 0) + 20 })} style={{ background, color, }}> {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(/[^.]*\./, '')}
))}
} />
); } }