1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-19 17:39:39 +00:00
seahub/frontend/src/components/tree-view/tree-view.js

65 lines
1.6 KiB
JavaScript
Raw Normal View History

2018-08-06 10:29:12 +00:00
import React from 'react';
2018-10-16 10:19:51 +00:00
import PropTypes from 'prop-types';
2018-08-06 10:29:12 +00:00
import TreeNodeView from './tree-node-view';
import editorUtilities from '../../utils/editor-utilties';
2018-08-06 10:29:12 +00:00
2018-10-16 10:19:51 +00:00
const propTypes = {
permission: PropTypes.string,
isNodeItemFrezee: PropTypes.bool.isRequired,
2018-11-22 03:26:00 +00:00
currentPath: PropTypes.string.isRequired,
2018-10-16 10:19:51 +00:00
treeData: PropTypes.object.isRequired,
onShowContextMenu: PropTypes.func.isRequired,
onNodeClick: PropTypes.func.isRequired,
onDirCollapse: PropTypes.func.isRequired,
};
2018-08-06 10:29:12 +00:00
class TreeView extends React.PureComponent {
change = (tree) => {
/*
this._updated = true;
if (this.props.onChange) this.props.onChange(tree.obj);
*/
}
onDragStart = (e, node) => {
2018-09-04 09:16:50 +00:00
const url = editorUtilities.getFileURL(node);
e.dataTransfer.setData('text/uri-list', url);
e.dataTransfer.setData('text/plain', url);
2018-08-06 10:29:12 +00:00
}
2018-11-22 03:26:00 +00:00
onNodeClick = (node) => {
this.props.onNodeClick(node);
}
onShowContextMenu = (e, node) => {
this.props.onShowContextMenu(e, node);
}
render() {
if (!this.props.treeData.root) {
2018-10-16 10:19:51 +00:00
return <div>Loading...</div>;
}
return (
<div className="tree-view tree">
<TreeNodeView
2018-09-04 09:16:50 +00:00
paddingLeft={12}
treeView={this}
node={this.props.treeData.root}
isNodeItemFrezee={this.props.isNodeItemFrezee}
permission={this.props.permission}
2018-11-22 03:26:00 +00:00
currentPath={this.props.currentPath}
onShowContextMenu={this.props.onShowContextMenu}
2018-09-04 09:16:50 +00:00
onDirCollapse={this.props.onDirCollapse}
/>
</div>
);
2018-08-06 10:29:12 +00:00
}
}
2018-10-16 10:19:51 +00:00
TreeView.propTypes = propTypes;
2018-08-06 10:29:12 +00:00
export default TreeView;