Add history

This commit is contained in:
Misode
2020-06-18 01:00:06 +02:00
parent d4b0e77957
commit a5ffc57ca6
4 changed files with 29 additions and 4 deletions

View File

@@ -1,6 +1,13 @@
import { AbstractView, Path, locale } from "minecraft-schemas";
import { AbstractView, Path, locale, DataModel } from "minecraft-schemas";
export class ErrorsView extends AbstractView {
target: HTMLElement
constructor(model: DataModel, target: HTMLElement) {
super(model)
this.target = target
}
render(): void {
this.target.style.display = this.model.errors.count() > 0 ? 'flex' : 'none'

View File

@@ -95,6 +95,8 @@ Promise.all([
const treeControlsVersionToggle = document.getElementById('tree-controls-version-toggle')!
const treeControlsVersionMenu = document.getElementById('tree-controls-version-menu')!
const treeControlsReset = document.getElementById('tree-controls-reset')!
const treeControlsUndo = document.getElementById('tree-controls-undo')!
const treeControlsRedo = document.getElementById('tree-controls-redo')!
let selected = modelFromPath(location.pathname)
@@ -253,6 +255,22 @@ Promise.all([
addChecked(treeControlsReset)
})
treeControlsUndo.addEventListener('click', evt => {
models[selected].undo()
})
treeControlsRedo.addEventListener('click', evt => {
models[selected].redo()
})
document.addEventListener('keyup', evt => {
if (evt.ctrlKey && evt.key === 'z') {
models[selected].undo()
} else if (evt.ctrlKey && evt.key === 'y') {
models[selected].redo()
}
})
errorsToggle.addEventListener('click', evt => {
if (errorsViewEl.classList.contains('hidden')) {
errorsViewEl.classList.remove('hidden')