From 155ac8fed24dd5af93520043d8edfcc779c0cf1d Mon Sep 17 00:00:00 2001 From: Andrew Duthie Date: Thu, 15 Feb 2018 21:13:24 -0500 Subject: [PATCH] Keyboard Shortcuts: Bind Cmd/Ctrl+S as save --- .../editor-global-keyboard-shortcuts/index.js | 44 ++++++++++++++----- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/editor/components/editor-global-keyboard-shortcuts/index.js b/editor/components/editor-global-keyboard-shortcuts/index.js index cb591b7b1104f..1d0fc82d14d86 100644 --- a/editor/components/editor-global-keyboard-shortcuts/index.js +++ b/editor/components/editor-global-keyboard-shortcuts/index.js @@ -7,20 +7,28 @@ import { first, last } from 'lodash'; /** * WordPress dependencies */ -import { Component, compose } from '@wordpress/element'; +import { Component, Fragment, compose } from '@wordpress/element'; import { KeyboardShortcuts, withContext } from '@wordpress/components'; /** * Internal dependencies */ import { getBlockOrder, getMultiSelectedBlockUids } from '../../store/selectors'; -import { clearSelectedBlock, multiSelect, redo, undo, removeBlocks } from '../../store/actions'; +import { + clearSelectedBlock, + multiSelect, + redo, + undo, + autosave, + removeBlocks, +} from '../../store/actions'; class EditorGlobalKeyboardShortcuts extends Component { constructor() { super( ...arguments ); this.selectAll = this.selectAll.bind( this ); this.undoOrRedo = this.undoOrRedo.bind( this ); + this.save = this.save.bind( this ); this.deleteSelectedBlocks = this.deleteSelectedBlocks.bind( this ); } @@ -41,6 +49,11 @@ class EditorGlobalKeyboardShortcuts extends Component { event.preventDefault(); } + save( event ) { + event.preventDefault(); + this.props.onSave(); + } + deleteSelectedBlocks( event ) { const { multiSelectedBlockUids, onRemove, isLocked } = this.props; if ( multiSelectedBlockUids.length ) { @@ -53,14 +66,24 @@ class EditorGlobalKeyboardShortcuts extends Component { render() { return ( - + + + + ); } } @@ -79,6 +102,7 @@ export default compose( onRedo: redo, onUndo: undo, onRemove: removeBlocks, + onSave: autosave, } ), withContext( 'editor' )( ( settings ) => {