aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBob Zeleznik <zzzman@gmail.com>2019-09-23 19:11:14 -0400
committerBob Zeleznik <zzzman@gmail.com>2019-09-23 19:11:14 -0400
commit0d281d479cd023fbc8bbd8206a66f0283eae11af (patch)
tree5d09eb293d9786186f995b368d14ee80e67b61f5 /src
parent87407e68556db6f0c8641baf6b6d6dba98e4bbc5 (diff)
fixed exception in scrolltoposition for text.
Diffstat (limited to 'src')
-rw-r--r--src/client/views/nodes/FormattedTextBox.tsx6
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,