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

optimized path check method (#2846)

This commit is contained in:
杨顺强
2019-01-17 16:33:27 +08:00
committed by Daniel Pan
parent c21fdf8ebf
commit 4444a4120a
3 changed files with 38 additions and 90 deletions

View File

@@ -119,11 +119,11 @@ class Wiki extends Component {
onLinkClick = (link) => {
const url = link;
if (this.isInternalMarkdownLink(url)) {
let path = this.getPathFromInternalMarkdownLink(url);
if (Utils.isInternalMarkdownLink(url, repoID)) {
let path = Utils.getPathFromInternalMarkdownLink(url, repoID);
this.initMainPanelData(path);
} else if (this.isInternalDirLink(url)) {
let path = this.getPathFromInternalDirLink(url);
} else if (Utils.isInternalDirLink(url, repoID)) {
let path = Utils.getPathFromInternalDirLink(url, repoID, slug);
this.initWikiData(path);
} else {
window.location.href = url;
@@ -453,45 +453,6 @@ class Wiki extends Component {
return false;
}
isMarkdownFile(filePath) {
let index = filePath.lastIndexOf('.');
if (index === -1) {
return false;
} else {
let type = filePath.substring(index).toLowerCase();
if (type === '.md' || type === '.markdown') {
return true;
} else {
return false;
}
}
}
isInternalMarkdownLink(url) {
var re = new RegExp(siteRoot + 'lib/' + repoID + '.*\.md$');
return re.test(url);
}
isInternalDirLink(url) {
var re = new RegExp(siteRoot + 'library/' + repoID + '.*');
return re.test(url);
}
getPathFromInternalMarkdownLink(url) {
var re = new RegExp(siteRoot + 'lib/' + repoID + '/file' + '(.*\.md)');
var array = re.exec(url);
var path = decodeURIComponent(array[1]);
return path;
}
getPathFromInternalDirLink(url) {
var re = new RegExp(siteRoot + 'library/' + repoID + '/' + slug + '(.*)');
var array = re.exec(url);
var path = decodeURIComponent(array[1]);
return path;
}
render() {
return (
<div id="main" className="wiki-main">