1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-02 15:38:15 +00:00

wiki-init-bug (#2325)

* wiki-init-bug

* repair wiki init load bug

* add wiki file
This commit is contained in:
shanshuirenjia
2018-09-01 13:48:20 +08:00
committed by Daniel Pan
parent 4b97e41be2
commit 18b3b68ae5
4 changed files with 14 additions and 16 deletions

View File

@@ -147,7 +147,7 @@ class SidePanel extends Component {
let currentNode = this.state.currentNode;
if (this.isModifyContainsCurrentFile()) {
let nodePath = currentNode.path;
let filePath = _this.props.currentFileNode.path;
let filePath = _this.props.currentFilePath;
let start = filePath.indexOf(nodePath);
let node = currentNode.getNodeByPath(filePath.slice(start));
if (node) {
@@ -199,12 +199,14 @@ class SidePanel extends Component {
isModifyCurrentFile() {
let nodeName = this.state.currentNode.name;
let fileName = this.props.currentFileNode.name;
let filePath = this.props.currentFilePath;
let index = filePath.lastIndexOf("/");
let fileName = filePath.slice(index+1);
return nodeName === fileName;
}
isModifyContainsCurrentFile() {
let filePath = this.props.currentFileNode.path;
let filePath = this.props.currentFilePath;
let nodePath = this.state.currentNode.path;
if (filePath.indexOf(nodePath) > -1) {
@@ -250,7 +252,6 @@ class SidePanel extends Component {
componentDidMount() {
//init treeview data
this.initializeTreeData();
document.addEventListener('click', this.onHideContextMenu);
}
@@ -299,7 +300,7 @@ class SidePanel extends Component {
{this.state.tree_data &&
<TreeView
permission={this.props.permission}
currentFileNode={this.props.currentFileNode}
currentFilePath={this.props.currentFilePath}
treeData={this.state.tree_data}
currentNode={this.state.currentNode}
isNodeItemFrezee={this.state.isNodeItemFrezee}

View File

@@ -114,7 +114,7 @@ class TreeNodeView extends React.Component {
treeView={this.props.treeView}
isNodeItemFrezee={this.props.isNodeItemFrezee}
permission={this.props.permission}
currentFileNode={this.props.currentFileNode}
currentFilePath={this.props.currentFilePath}
/>
);
})}
@@ -173,7 +173,7 @@ class TreeNodeView extends React.Component {
let node = this.props.node;
let { type, icon } = this.getNodeTypeAndIcon();
let hlClass = "";
if (node.path === this.props.currentFileNode.path) {
if (node.path === this.props.currentFilePath) {
hlClass = "tree-node-hight-light";
}
let customClass = "tree-node " + hlClass;

View File

@@ -53,7 +53,7 @@ class TreeView extends React.PureComponent {
node={this.props.treeData.root}
isNodeItemFrezee={this.props.isNodeItemFrezee}
permission={this.props.permission}
currentFileNode={this.props.currentFileNode}
currentFilePath={this.props.currentFilePath}
onShowContextMenu={this.props.onShowContextMenu}
/>
</div>

View File

@@ -74,14 +74,13 @@ class Wiki extends Component {
lastModified: '',
permission: '',
isFileLoading: false,
currentFileNode: null,
searchedPath: null,
};
window.onpopstate = this.onpopstate;
}
componentDidMount() {
this.loadFile({path: initialFilePath});
this.loadFile(initialFilePath);
}
fileNameFromPath(filePath) {
@@ -116,14 +115,14 @@ class Wiki extends Component {
}
onSearchedClick = (path) => {
if (this.state.currentFileNode.path !== path) {
if (this.state.currentFilePath !== path) {
this.setState({searchedPath : path});
}
}
onFileClick = (e, node) => {
if (node.isMarkdown()) {
this.loadFile(node);
this.loadFile(node.path);
} else {
const w=window.open('about:blank');
const url = serviceUrl + '/lib/' + repoID + '/file' + node.path;
@@ -131,8 +130,7 @@ class Wiki extends Component {
}
}
loadFile(node) {
let filePath = node.path;
loadFile(filePath) {
this.setState({isFileLoading: true});
seafileAPI.getWikiFileContent(slug, filePath)
.then(res => {
@@ -144,7 +142,6 @@ class Wiki extends Component {
fileName: this.fileNameFromPath(filePath),
filePath: filePath,
isFileLoading: false,
currentFileNode: node
})
})
@@ -180,7 +177,7 @@ class Wiki extends Component {
onCloseSide ={this.onCloseSide}
editorUtilities={editorUtilities}
permission={this.state.permission}
currentFileNode={this.state.currentFileNode}
currentFilePath={this.state.filePath}
searchedPath={this.state.searchedPath}
/>
<MainPanel