File tree Expand file tree Collapse file tree 4 files changed +12
-3
lines changed Expand file tree Collapse file tree 4 files changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -109,7 +109,8 @@ interface Selectors {
109
109
deleteNodeFromTree : ( nodes : Node [ ] , nodeToDelete : FlattenedNode ) => Node [ ] ,
110
110
deleteNode : ( node : FlattenedNode [ ] ) => NodeAction ,
111
111
addNode : ( node : FlattenedNode [ ] ) => NodeAction ,
112
- updateNode : ( node : FlattenedNode , state : { [ stateKey : string ] : any } ) => NodeAction
113
- }
112
+ updateNode : ( node : FlattenedNode , state : { [ stateKey : string ] : any } ) => NodeAction ,
113
+ getFlattenedTree : ( node : node [ ] ) => FlattenedNode ,
114
+ getRowIndexFromId : ( node : FlattenedNode , id : number ) => number , }
114
115
115
116
export const selectors : Selectors ;
Original file line number Diff line number Diff line change @@ -32,7 +32,7 @@ export default class Tree extends React.Component {
32
32
} ;
33
33
34
34
render ( ) {
35
- const { nodes} = this . props ;
35
+ const { nodes, scrollToIndex } = this . props ;
36
36
37
37
return (
38
38
< AutoSizer >
@@ -45,6 +45,7 @@ export default class Tree extends React.Component {
45
45
rowHeight = { this . _cache . rowHeight }
46
46
rowRenderer = { this . measureRowRenderer ( nodes ) }
47
47
width = { width }
48
+ scrollToIndex = { scrollToIndex }
48
49
/>
49
50
) }
50
51
</ AutoSizer >
Original file line number Diff line number Diff line change @@ -49,6 +49,7 @@ export default class TreeContainer extends React.Component {
49
49
nodes = { getFlattenedTree ( this . props . nodes ) }
50
50
onChange = { this . handleChange }
51
51
NodeRenderer = { this . props . children }
52
+ scrollToIndex = { this . props . scrollToIndex }
52
53
/>
53
54
) ;
54
55
}
@@ -62,6 +63,7 @@ TreeContainer.propTypes = {
62
63
onChange : PropTypes . func ,
63
64
children : PropTypes . func . isRequired ,
64
65
nodeMarginLeft : PropTypes . number ,
66
+ scrollToIndex : PropTypes . number ,
65
67
} ;
66
68
67
69
TreeContainer . defaultProps = {
Original file line number Diff line number Diff line change @@ -3,6 +3,8 @@ import omit from 'lodash.omit';
3
3
4
4
import { UPDATE_TYPE } from '../contants' ;
5
5
6
+ export { getFlattenedTree } from './getFlattenedTree' ;
7
+
6
8
export const getNodeRenderOptions = createSelector (
7
9
node => ( node . state || { } ) . expanded ,
8
10
node => ( node . state || { } ) . favorite ,
@@ -86,3 +88,6 @@ export const addNode = node => ({
86
88
node,
87
89
type : UPDATE_TYPE . ADD ,
88
90
} ) ;
91
+
92
+ export const getRowIndexFromId = ( flattenedTree , id ) =>
93
+ flattenedTree . findIndex ( ( item , index ) => item . id === id ) ;
You can’t perform that action at this time.
0 commit comments