1
1
import * as React from 'react' ;
2
- import relTree , { hasHiddenRelatives , IFamilyNode } from 'relatives-tree' ;
2
+ import relTree , { IFamilyNode , IFamilyExtNode } from 'relatives-tree' ;
3
3
import Connector from './connector' ;
4
4
5
- interface IRenderNodeOptions {
6
- x : number ;
7
- y : number ;
8
- sub : boolean ;
9
- }
10
-
11
5
interface Props {
12
6
nodes : IFamilyNode [ ] ;
13
7
rootId : string ;
14
8
width : number ;
15
9
height : number ;
16
10
canvasClassName ?: string ;
17
- renderNode : ( node : IFamilyNode , options : IRenderNodeOptions ) => void ;
11
+ renderNode : ( node : IFamilyExtNode ) => void ;
18
12
}
19
13
20
14
const ReactFamilyTree : React . FunctionComponent < Props > = ( props ) => {
@@ -40,33 +34,7 @@ const ReactFamilyTree: React.FunctionComponent<Props> = (props) => {
40
34
height = { height }
41
35
/>
42
36
) ) }
43
- { data . families . map ( family => {
44
- const fX = family . left * width ;
45
- const fY = family . top * height ;
46
-
47
- return (
48
- < React . Fragment key = { family . id } >
49
- { ( family . type === 'parent' || family . type === 'root' ) && (
50
- family . pUnits . map ( ( unit ) => (
51
- unit . nodes . map ( ( node , idx ) => props . renderNode ( node , {
52
- x : fX + ( unit . shift * width ) + ( idx * ( width * 2 ) ) ,
53
- y : fY ,
54
- sub : hasHiddenRelatives ( family , node ) ,
55
- } ) )
56
- ) )
57
- ) }
58
- { ( family . type === 'child' || family . type === 'root' ) && (
59
- family . cUnits . map ( ( unit ) => (
60
- unit . nodes . map ( ( node , idx ) => props . renderNode ( node , {
61
- x : fX + ( unit . shift * width ) + ( idx * ( width * 2 ) ) ,
62
- y : fY + props . height ,
63
- sub : hasHiddenRelatives ( family , node ) ,
64
- } ) )
65
- ) )
66
- ) }
67
- </ React . Fragment >
68
- ) ;
69
- } ) }
37
+ { data . nodes . map ( props . renderNode ) }
70
38
</ div >
71
39
) ;
72
40
} ;
0 commit comments