Skip to content
This repository was archived by the owner on Jun 26, 2020. It is now read-only.

Commit 81f7386

Browse files
committed
Merge pull request #318 from Shraymonks/scroll-to-selected-element
Fix scroll to selected element
2 parents 3b2e75f + f5b5771 commit 81f7386

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

frontend/TreeView.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
var Breadcrumb = require('./Breadcrumb');
1414
var Node = require('./Node');
1515
var React = require('react');
16-
var ReactDOM = require('react-dom');
1716

1817
var decorate = require('./decorate');
1918

@@ -27,14 +26,16 @@ class TreeView extends React.Component {
2726
}
2827

2928
scrollTo(val, height) {
30-
var node = ReactDOM.findDOMNode(this);
31-
var top = node.scrollTop;
32-
var rel = val - node.offsetTop;
29+
if (!this.node) {
30+
return;
31+
}
32+
var top = this.node.scrollTop;
33+
var rel = val - this.node.offsetTop;
3334
var margin = 40;
3435
if (top > rel - margin) {
35-
node.scrollTop = rel - margin;
36-
} else if (top + node.offsetHeight < rel + height + margin) {
37-
node.scrollTop = rel - node.offsetHeight + height + margin;
36+
this.node.scrollTop = rel - margin;
37+
} else if (top + this.node.offsetHeight < rel + height + margin) {
38+
this.node.scrollTop = rel - this.node.offsetHeight + height + margin;
3839
}
3940
}
4041

@@ -74,7 +75,7 @@ class TreeView extends React.Component {
7475

7576
return (
7677
<div style={styles.container}>
77-
<div style={styles.scroll}>
78+
<div ref={n => this.node = n} style={styles.scroll}>
7879
{this.props.roots.map(id => (
7980
<Node key={id} id={id} depth={0} />
8081
)).toJS()}

0 commit comments

Comments
 (0)