1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-17 07:41:26 +00:00

Wiki mode improve (#2539)

This commit is contained in:
Daniel Pan
2018-11-22 11:26:00 +08:00
committed by GitHub
parent 921089bd01
commit fb5d105e6e
24 changed files with 751 additions and 629 deletions

View File

@@ -10,9 +10,9 @@ import CreateFolder from '../../components/dialog/create-folder-dialog';
import CreateFile from '../../components/dialog/create-file-dialog';
const propTypes = {
changedNode: PropTypes.object,
currentNode: PropTypes.object,
treeData: PropTypes.object.isRequired,
currentFilePath: PropTypes.string.isRequired,
currentPath: PropTypes.string.isRequired,
closeSideBar: PropTypes.bool.isRequired,
onCloseSide: PropTypes.func.isRequired,
onDirCollapse: PropTypes.func.isRequired,
@@ -62,9 +62,9 @@ class SidePanel extends Component {
});
}
onNodeClick = (e, node) => {
onNodeClick = (node) => {
this.setState({currentNode: node});
this.props.onNodeClick(e, node);
this.props.onNodeClick(node);
}
onShowContextMenu = (e, node) => {
@@ -111,12 +111,12 @@ class SidePanel extends Component {
this.setState({showFolder: !this.state.showFolder});
this.onHideContextMenu();
}
toggleRename = () => {
this.setState({showRename: !this.state.showRename});
this.onHideContextMenu();
}
toggleDelete = () => {
this.setState({showDelete: !this.state.showDelete});
this.onHideContextMenu();
@@ -126,18 +126,18 @@ class SidePanel extends Component {
this.setState({showFolder: !this.state.showFolder});
this.props.onAddFolderNode(dirPath);
}
onAddFileNode = (filePath, isDraft) => {
this.setState({showFile: !this.state.showFile});
this.props.onAddFileNode(filePath, isDraft);
}
onRenameNode = (newName) => {
this.setState({showRename: !this.state.showRename});
let node = this.state.currentNode;
this.props.onRenameNode(node, newName);
}
onDeleteNode = () => {
this.setState({showDelete: !this.state.showDelete});
let node = this.state.currentNode;
@@ -149,9 +149,7 @@ class SidePanel extends Component {
}
componentWillReceiveProps(nextProps) {
this.setState({
currentNode: nextProps.changedNode
});
this.setState({currentNode: nextProps.currentNode});
}
componentWillUnmount() {
@@ -184,23 +182,23 @@ class SidePanel extends Component {
<a title="Close" aria-label="Close" onClick={this.closeSide} className="sf2-icon-x1 sf-popover-close side-panel-close op-icon d-md-none "></a>
</div>
<div id="side-nav" className="wiki-side-nav" role="navigation">
<h3
className="wiki-pages-heading"
onMouseEnter={this.onMouseEnter}
<h3
className="wiki-pages-heading"
onMouseEnter={this.onMouseEnter}
onMouseLeave={this.onMouseLeave}
>
{gettext('Files')}
<div className="heading-icon">
<MenuControl
<MenuControl
isShow={this.state.isMenuIconShow}
onClick={this.onHeadingMenuClick}
/>
</div>
</h3>
<div className="wiki-pages-container">
{this.props.treeData &&
{this.props.treeData &&
<TreeView
currentFilePath={this.props.currentFilePath}
currentPath={this.props.currentPath}
treeData={this.props.treeData}
currentNode={this.state.currentNode}
isNodeItemFrezee={this.state.isNodeItemFrezee}
@@ -209,8 +207,8 @@ class SidePanel extends Component {
onDirCollapse={this.props.onDirCollapse}
/>
}
{this.state.isShowMenu &&
<NodeMenu
{this.state.isShowMenu &&
<NodeMenu
menuPosition={this.state.menuPosition}
currentNode={this.state.currentNode}
toggleAddFile={this.toggleAddFile}
@@ -220,13 +218,13 @@ class SidePanel extends Component {
/>
}
{this.state.showDelete &&
<Delete
<Delete
currentNode={this.state.currentNode}
handleSubmit={this.onDeleteNode}
toggleCancel={this.deleteCancel}
/>
}
{this.state.showFile &&
{this.state.showFile &&
<CreateFile
fileType={'.md'}
parentPath={this.state.currentNode.path}
@@ -235,17 +233,17 @@ class SidePanel extends Component {
/>
}
{this.state.showFolder &&
<CreateFolder
<CreateFolder
parentPath={this.state.currentNode.path}
onAddFolder={this.onAddFolderNode}
addFolderCancel={this.addFolderCancel}
/>
}
{this.state.showRename &&
<Rename
<Rename
currentNode={this.state.currentNode}
onRename={this.onRenameNode}
toggleCancel={this.renameCancel}
onRename={this.onRenameNode}
toggleCancel={this.renameCancel}
/>
}
</div>