From 0f429db382f4c0752d88232a14f34e6047bdd75f Mon Sep 17 00:00:00 2001 From: Tugdual de Kerviler Date: Mon, 5 Aug 2019 20:23:12 +0200 Subject: [PATCH] [RNMobile] Refactor BlockToolbar follow-up PR (#16906) * Keyboard is already hidden with clearSelectedBlock * Hide Keyboard when switching mode * require clearSelectedBlock from core/block-editor instead of core/editor * require clearSelectedBlock from core/block-editor instead of core/editor --- .../header/header-toolbar/index.native.js | 14 +++----------- .../editor/src/components/provider/index.native.js | 6 ++++++ 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/packages/edit-post/src/components/header/header-toolbar/index.native.js b/packages/edit-post/src/components/header/header-toolbar/index.native.js index 9c71845889d37..487dcea882dab 100644 --- a/packages/edit-post/src/components/header/header-toolbar/index.native.js +++ b/packages/edit-post/src/components/header/header-toolbar/index.native.js @@ -1,7 +1,7 @@ /** * External dependencies */ -import { ScrollView, Keyboard, Platform, View } from 'react-native'; +import { ScrollView, View } from 'react-native'; /** * WordPress dependencies @@ -31,14 +31,6 @@ function HeaderToolbar( { showKeyboardHideButton, clearSelectedBlock, } ) { - const hideKeyboard = () => { - clearSelectedBlock(); - if ( Platform.OS === 'android' ) { - // Avoiding extra blur calls on iOS but still needed for android. - Keyboard.dismiss(); - } - }; - return ( @@ -96,7 +88,7 @@ export default compose( [ withDispatch( ( dispatch ) => ( { redo: dispatch( 'core/editor' ).redo, undo: dispatch( 'core/editor' ).undo, - clearSelectedBlock: dispatch( 'core/editor' ).clearSelectedBlock, + clearSelectedBlock: dispatch( 'core/block-editor' ).clearSelectedBlock, } ) ), withViewportMatch( { isLargeViewport: 'medium' } ), ] )( HeaderToolbar ); diff --git a/packages/editor/src/components/provider/index.native.js b/packages/editor/src/components/provider/index.native.js index d2b1458d3e2e5..d19da119ef0ba 100644 --- a/packages/editor/src/components/provider/index.native.js +++ b/packages/editor/src/components/provider/index.native.js @@ -118,6 +118,8 @@ class NativeEditorProvider extends Component { const { mode, switchMode } = this.props; // refresh html content first this.serializeToNativeAction(); + // make sure to blur the selected block and dismiss the keyboard + this.props.clearSelectedBlock(); switchMode( mode === 'visual' ? 'text' : 'visual' ); } @@ -161,11 +163,15 @@ export default compose( [ editPost, resetEditorBlocks, } = dispatch( 'core/editor' ); + const { + clearSelectedBlock, + } = dispatch( 'core/block-editor' ); const { switchEditorMode, } = dispatch( 'core/edit-post' ); return { + clearSelectedBlock, editTitle( title ) { editPost( { title } ); },