From 74932e9c654ea1356e00e587f5e9e71e259b15e4 Mon Sep 17 00:00:00 2001 From: Dave Smith Date: Thu, 18 Jun 2020 11:31:39 +0100 Subject: [PATCH 01/11] Initial attempt at Undo/Redo --- package.json | 2 ++ src/components/header/index.js | 9 +++++++++ src/components/header/undo.js | 34 ++++++++++++++++++++++++++++++++++ src/index.js | 10 +++++++--- src/store/actions.js | 20 ++++++++++++++++++++ src/store/index.js | 26 ++++++++++++++++++++++++++ src/store/reducer.js | 3 +++ src/store/selectors.js | 24 ++++++++++++++++++++++++ 8 files changed, 125 insertions(+), 3 deletions(-) create mode 100644 src/components/header/undo.js create mode 100644 src/store/actions.js create mode 100644 src/store/index.js create mode 100644 src/store/reducer.js create mode 100644 src/store/selectors.js diff --git a/package.json b/package.json index c6db140..00e1529 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,9 @@ }, "devDependencies": { "@wordpress/env": "^2.0.0", + "@wordpress/data-controls": "^1.14.0", "@wordpress/eslint-plugin": "^7.2.0", + "@wordpress/keycodes": "^2.13.0", "@wordpress/scripts": "^12.2.0", "autoprefixer": "^9.8.6", "css-loader": "^4.3.0", diff --git a/src/components/header/index.js b/src/components/header/index.js index e2cb932..30621e2 100644 --- a/src/components/header/index.js +++ b/src/components/header/index.js @@ -2,8 +2,14 @@ * WordPress dependencies */ import { __ } from '@wordpress/i18n'; +import { EditorHistoryRedo } from '@wordpress/editor'; + +import HistoryUndo from './undo'; export default function Header() { + function handleUndo() { + console.log( 'undo' ); + } return (
{ __( 'Standalone Block Editor', 'getdavesbe' ) } + + +
); } diff --git a/src/components/header/undo.js b/src/components/header/undo.js new file mode 100644 index 0000000..2ff8549 --- /dev/null +++ b/src/components/header/undo.js @@ -0,0 +1,34 @@ +import { __ } from '@wordpress/i18n'; +import { Button } from '@wordpress/components'; +import { withSelect, withDispatch } from '@wordpress/data'; +import { compose } from '@wordpress/compose'; +import { displayShortcut } from '@wordpress/keycodes'; +import { undo as undoIcon } from '@wordpress/icons'; + +function HistoryUndo( { hasUndo, undo, ...props } ) { + return ( +