From fd629c524a4785fead47f527223ec6270d8f5cc4 Mon Sep 17 00:00:00 2001 From: iseulde Date: Mon, 3 Dec 2018 10:48:07 +0100 Subject: [PATCH] Only render InserterWithShortcuts on hover --- .../src/components/default-block-appender/index.js | 14 +++++++++++--- .../test/__snapshots__/index.js.snap | 9 ++++++--- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/packages/editor/src/components/default-block-appender/index.js b/packages/editor/src/components/default-block-appender/index.js index ecfe98d351a905..d4b95c4d961bae 100644 --- a/packages/editor/src/components/default-block-appender/index.js +++ b/packages/editor/src/components/default-block-appender/index.js @@ -7,7 +7,7 @@ import TextareaAutosize from 'react-autosize-textarea'; * WordPress dependencies */ import { __ } from '@wordpress/i18n'; -import { compose } from '@wordpress/compose'; +import { compose, withState } from '@wordpress/compose'; import { getDefaultBlockName } from '@wordpress/blocks'; import { decodeEntities } from '@wordpress/html-entities'; import { withSelect, withDispatch } from '@wordpress/data'; @@ -26,6 +26,8 @@ export function DefaultBlockAppender( { showPrompt, placeholder, rootClientId, + hovered, + setState, } ) { if ( isLocked || ! isVisible ) { return null; @@ -49,7 +51,12 @@ export function DefaultBlockAppender( { // The wp-block className is important for editor styles. return ( -
+
setState( { hovered: true } ) } + onMouseLeave={ () => setState( { hovered: false } ) } + > - + { hovered && }
); } export default compose( + withState( { hovered: false } ), withSelect( ( select, ownProps ) => { const { getBlockCount, getBlockName, isBlockValid, getEditorSettings, getTemplateLock } = select( 'core/editor' ); diff --git a/packages/editor/src/components/default-block-appender/test/__snapshots__/index.js.snap b/packages/editor/src/components/default-block-appender/test/__snapshots__/index.js.snap index df9daeebd54f21..dc26d4405d8636 100644 --- a/packages/editor/src/components/default-block-appender/test/__snapshots__/index.js.snap +++ b/packages/editor/src/components/default-block-appender/test/__snapshots__/index.js.snap @@ -4,6 +4,8 @@ exports[`DefaultBlockAppender should append a default block when input focused 1
- @@ -33,6 +34,8 @@ exports[`DefaultBlockAppender should match snapshot 1`] = `
- @@ -55,6 +57,8 @@ exports[`DefaultBlockAppender should optionally show without prompt 1`] = `
-