-
Notifications
You must be signed in to change notification settings - Fork 0
/
NestedList.js
33 lines (30 loc) · 868 Bytes
/
NestedList.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import React from 'react';
import NestedListItem from './NestedListItem';
const NestedList = (props) => {
const { list, styles } = props;
const createChildrenNodes = (list, paddingLeft) => {
if (list.length) {
let childrenWithHandlers = list.map((item, index) => {
return (
<NestedListItem
key={index}
data={item}
createChildrenNodes={this.createChildrenNodes}
styles={this.props.styles}
leftOffset={paddingLeft || this.props.leftOffset}
isFirstRender={!paddingLeft ? true : false} // TODO: make better usage of this logic or remove it
/>
)
})
return childrenWithHandlers;
}
}
return (
<div style={styles.listWrapper || {}}>
{
createChildrenNodes(list)
}
</div>
)
}
export default NestedList;