UNPKG

d2-ui

Version:
62 lines (54 loc) 1.74 kB
import React from 'react'; import TreeView from '../../src/tree-view'; import OrgUnitTree from '../../src/org-unit-tree/OrgUnitTreeMultipleRoots.component'; export default class extends React.Component { constructor(props) { super(props); this.state = { selected: [], }; this._handleClick = this._handleClick.bind(this); } render() { const selStyle = { borderTop: '1px solid #eeeeee', margin: '16px -16px 0', padding: '16px 16px 0', }; return ( <div> <OrgUnitTree {...this.props} onClick={this._handleClick} selected={this.state.selected} /> <div style={selStyle}> <TreeView label={`Selected: ${this.state.selected.length}`}> <ul>{ this.state.selected .sort() .map(i => <li key={i}>{i}</li>) }</ul> </TreeView> </div> </div> ); } _handleClick(event, orgUnit) { if (this.state.selected.indexOf(orgUnit.id) >= 0) { this.setState(state => { state.selected.splice(state.selected.indexOf(orgUnit.id), 1); return { selected: state.selected, }; }); } else { this.setState(state => { state.selected.push(orgUnit.id); return { selected: state.selected, }; }); } } }