From 297c2f427490ed704507bb80fe31d5e90b1bd051 Mon Sep 17 00:00:00 2001 From: etoledom Date: Tue, 30 Apr 2019 13:19:34 +0200 Subject: [PATCH] RNMobile: Fix autoscroll on ListBlock (#15048) * RNMobile: Add ability to send extra props (i.e. props needed just for mobile) to the list block. * Adding onCaretVerticalPositionChange to RichText via context * Passing onCaretVerticalPositionChange via context to RichText for all RichText based blocks This makes it not necessary to pass onCaretVerticalPositionChange as a prop directly to RichText from the block component. * Update jest snapshot for block-edit --- .../block-controls/test/__snapshots__/index.js.snap | 1 + packages/block-editor/src/components/block-edit/index.js | 8 ++++---- .../block-editor/src/components/rich-text/index.native.js | 2 ++ packages/block-library/src/heading/edit.native.js | 1 - packages/block-library/src/paragraph/edit.native.js | 1 - 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/block-editor/src/components/block-controls/test/__snapshots__/index.js.snap b/packages/block-editor/src/components/block-controls/test/__snapshots__/index.js.snap index b3a9114f73272..ff2040497b12a 100644 --- a/packages/block-editor/src/components/block-controls/test/__snapshots__/index.js.snap +++ b/packages/block-editor/src/components/block-controls/test/__snapshots__/index.js.snap @@ -7,6 +7,7 @@ exports[`BlockControls should render a dynamic toolbar of controls 1`] = ` "clientId": undefined, "isSelected": true, "name": undefined, + "onCaretVerticalPositionChange": undefined, "onFocus": undefined, } } diff --git a/packages/block-editor/src/components/block-edit/index.js b/packages/block-editor/src/components/block-edit/index.js index cb98989d85255..63c475a50692f 100644 --- a/packages/block-editor/src/components/block-edit/index.js +++ b/packages/block-editor/src/components/block-edit/index.js @@ -27,13 +27,13 @@ class BlockEdit extends Component { ); } - propsToContext( name, isSelected, clientId, onFocus ) { - return { name, isSelected, clientId, onFocus }; + propsToContext( name, isSelected, clientId, onFocus, onCaretVerticalPositionChange ) { + return { name, isSelected, clientId, onFocus, onCaretVerticalPositionChange }; } render() { - const { name, isSelected, clientId, onFocus } = this.props; - const value = this.propsToContext( name, isSelected, clientId, onFocus ); + const { name, isSelected, clientId, onFocus, onCaretVerticalPositionChange } = this.props; + const value = this.propsToContext( name, isSelected, clientId, onFocus, onCaretVerticalPositionChange ); return ( diff --git a/packages/block-editor/src/components/rich-text/index.native.js b/packages/block-editor/src/components/rich-text/index.native.js index 2f5ac490d3407..e22ddec63e14b 100644 --- a/packages/block-editor/src/components/rich-text/index.native.js +++ b/packages/block-editor/src/components/rich-text/index.native.js @@ -766,6 +766,7 @@ const RichTextContainer = compose( [ return { isSelected: context.isSelected, clientId: context.clientId, + onCaretVerticalPositionChange: context.onCaretVerticalPositionChange, }; } @@ -774,6 +775,7 @@ const RichTextContainer = compose( [ clientId: context.clientId, isSelected: context.isSelected, onFocus: context.onFocus || ownProps.onFocus, + onCaretVerticalPositionChange: context.onCaretVerticalPositionChange, }; } ), ] )( RichText ); diff --git a/packages/block-library/src/heading/edit.native.js b/packages/block-library/src/heading/edit.native.js index fb41a50cc10f2..59cc25d8bd4c3 100644 --- a/packages/block-library/src/heading/edit.native.js +++ b/packages/block-library/src/heading/edit.native.js @@ -130,7 +130,6 @@ class HeadingEdit extends Component { } } onFocus={ this.props.onFocus } // always assign onFocus as a props onBlur={ this.props.onBlur } // always assign onBlur as a props - onCaretVerticalPositionChange={ this.props.onCaretVerticalPositionChange } onChange={ ( value ) => setAttributes( { content: value } ) } onMerge={ mergeBlocks } onSplit={ this.splitBlock } diff --git a/packages/block-library/src/paragraph/edit.native.js b/packages/block-library/src/paragraph/edit.native.js index b64eb6b604cb6..12abc71c8d22b 100644 --- a/packages/block-library/src/paragraph/edit.native.js +++ b/packages/block-library/src/paragraph/edit.native.js @@ -125,7 +125,6 @@ class ParagraphEdit extends Component { isSelected={ this.props.isSelected } onFocus={ this.props.onFocus } // always assign onFocus as a props onBlur={ this.props.onBlur } // always assign onBlur as a props - onCaretVerticalPositionChange={ this.props.onCaretVerticalPositionChange } style={ style } onChange={ ( nextContent ) => { setAttributes( {