@@ -9,8 +9,8 @@ class TreeDiagram extends React.Component {
99 this . state = {
1010 transition : null ,
1111 orientation : 'vertical' ,
12- foreignObjectWrapper : { y : - 5 , x : 10 } ,
13- nodeSize : { x : 75 , y : 75 } ,
12+ foreignObjectWrapper : { x : 8 , y : 4 } ,
13+ nodeSize : { x : 95 , y : 85 } ,
1414 } ;
1515 this . handleFlip = this . handleFlip . bind ( this ) ;
1616 }
@@ -29,17 +29,27 @@ class TreeDiagram extends React.Component {
2929 }
3030
3131 handleFlip ( ) {
32+ const dimensions = this . treeContainer . getBoundingClientRect ( ) ;
3233 if ( this . state . orientation === 'vertical' ) {
3334 this . setState ( {
3435 orientation : 'horizontal' ,
35- foreignObjectWrapper : { y : 10 , x : 10 } ,
36- nodeSize :{ y :85 , x :90 }
36+ foreignObjectWrapper : { x : 5 , y : 8 } ,
37+ nodeSize : { x : 110 , y :110 } ,
38+ translate : {
39+ x : dimensions . width / 8 ,
40+ y : dimensions . height / 2
41+ }
3742 } )
3843 } else {
3944 this . setState ( {
4045 orientation : 'vertical' ,
41- foreignObjectWrapper : { y : - 5 , x : 10 }
42- } )
46+ foreignObjectWrapper : { x : 8 , y : 4 } ,
47+ nodeSize : { x : 85 , y : 85 } ,
48+ translate : {
49+ x : dimensions . width / 2 ,
50+ y : dimensions . height / 8
51+ }
52+ } ) ;
4353 }
4454 }
4555
@@ -73,18 +83,18 @@ class TreeDiagram extends React.Component {
7383 }
7484 } ;
7585
86+
7687 return (
7788 < div id = "treeWrapper" ref = { tc => ( this . treeContainer = tc ) } >
7889 < button onClick = { ( ) => { this . handleFlip ( ) } } > { this . state . orientation [ 0 ] . toUpperCase ( ) + this . state . orientation . slice ( 1 ) } </ button >
79- < button onClick = { ( ) => { this . props . handleFilter ( filterComponents . reduxComponents ) } } > Filter Redux</ button >
80- < button onClick = { ( ) => { this . props . handleFilter ( filterComponents . reactRouterComponents ) } } > Filter React-Router</ button >
81- < button onClick = { ( ) => { this . props . handleFilter ( filterComponents . apolloComponents ) } } > Filter Apollo-GraphQL</ button >
90+ < button onClick = { ( e ) => { this . props . handleFilter ( e , filterComponents . reduxComponents ) } } > Filter Redux</ button >
91+ < button onClick = { ( e ) => { this . props . handleFilter ( e , filterComponents . reactRouterComponents ) } } > Filter React-Router</ button >
92+ < button onClick = { ( e ) => { this . props . handleFilter ( e , filterComponents . apolloComponents ) } } > Filter Apollo-GraphQL</ button >
8293
83- { /* when appState has a length we populate tree */ }
8494 { this . props . appState . length !== 0 ? (
8595 < Tree
8696 data = { this . props . appState }
87- nodeSize = { { x : 75 , y : 75 } }
97+ nodeSize = { this . state . nodeSize }
8898 orientation = { this . state . orientation }
8999 styles = { styles }
90100 translate = { this . state . translate }
0 commit comments