diff options
author | Bob Zeleznik <zzzman@gmail.com> | 2019-09-23 19:11:14 -0400 |
---|---|---|
committer | Bob Zeleznik <zzzman@gmail.com> | 2019-09-23 19:11:14 -0400 |
commit | 0d281d479cd023fbc8bbd8206a66f0283eae11af (patch) | |
tree | 5d09eb293d9786186f995b368d14ee80e67b61f5 /src | |
parent | 87407e68556db6f0c8641baf6b6d6dba98e4bbc5 (diff) |
fixed exception in scrolltoposition for text.
Diffstat (limited to 'src')
-rw-r--r-- | src/client/views/nodes/FormattedTextBox.tsx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/client/views/nodes/FormattedTextBox.tsx b/src/client/views/nodes/FormattedTextBox.tsx index cc73c32a1..ddabe7e10 100644 --- a/src/client/views/nodes/FormattedTextBox.tsx +++ b/src/client/views/nodes/FormattedTextBox.tsx @@ -746,9 +746,11 @@ export class FormattedTextBox extends DocComponent<(FieldViewProps & FormattedTe state: field && field.Data ? EditorState.fromJSON(config, JSON.parse(field.Data)) : EditorState.create(config), handleScrollToSelection: (editorView) => { let ref = editorView.domAtPos(editorView.state.selection.from); - let r1 = (ref.node as any).getBoundingClientRect(); + let refNode = ref.node as any; + while (refNode && !("getBoundingClientRect" in refNode)) refNode = refNode.parentElement; + let r1 = refNode && (refNode as any).getBoundingClientRect(); let r3 = self._ref.current!.getBoundingClientRect(); - self._ref.current!.scrollTop += (r1.top - r3.top) * self.props.ScreenToLocalTransform().Scale; + r1 && (self._ref.current!.scrollTop += (r1.top - r3.top) * self.props.ScreenToLocalTransform().Scale); return true; }, dispatchTransaction: this.dispatchTransaction, |