1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-06 17:43:46 +00:00
seahub/frontend/src/components/tree-view-2/tree-view.js
2019-01-23 16:25:14 +08:00

61 lines
1.4 KiB
JavaScript

import React from 'react';
import PropTypes from 'prop-types';
import TreeNodeView from './tree-node-view';
const propTypes = {
treeData: PropTypes.object.isRequired,
currentPath: PropTypes.string.isRequired,
onMenuItemClick: PropTypes.func.isRequired,
onNodeClick: PropTypes.func.isRequired,
onNodeExpanded: PropTypes.func.isRequired,
onNodeCollapse: PropTypes.func.isRequired,
};
const PADDING_LEFT = 12;
class TreeView extends React.Component {
constructor(props) {
super(props);
this.state = {
isItemFreezed: false,
};
}
onNodeDragStart = (e, node) => {
// todo
}
onFreezedItem = () => {
this.setState({isItemFreezed: true});
}
onUnFreezedItem = () => {
this.setState({isItemFreezed: false});
}
render() {
return (
<div className="tree-view tree">
<TreeNodeView
node={this.props.treeData.root}
currentPath={this.props.currentPath}
paddingLeft={PADDING_LEFT}
isItemFreezed={this.state.isItemFreezed}
onNodeClick={this.props.onNodeClick}
onMenuItemClick={this.props.onMenuItemClick}
onNodeExpanded={this.props.onNodeExpanded}
onNodeCollapse={this.props.onNodeCollapse}
onNodeDragStart={this.onNodeDragStart}
onFreezedItem={this.onFreezedItem}
onUnFreezedItem={this.onUnFreezedItem}
/>
</div>
);
}
}
TreeView.propTypes = propTypes;
export default TreeView;