diff --git a/package.json b/package.json
index 05b98768..4fb71301 100644
--- a/package.json
+++ b/package.json
@@ -222,7 +222,7 @@
"webpack": "^4.42.1",
"webpack-bundle-analyzer": "^3.7.0"
},
- "volta":{
- "node":"8.12.0"
+ "volta": {
+ "node": "8.12.0"
}
}
diff --git a/public/index.html b/public/index.html
index 9a3bbc12..c62221a5 100755
--- a/public/index.html
+++ b/public/index.html
@@ -53,7 +53,16 @@
$('#ie_info').css({display:'block'});
$('#root').css({display:'none'});
}
-
+ window.onload=function(){
+ $(".newContainer").delegate("a.anchors","click",function(){
+ let h = $(this).offset().top - 180;
+ $("html,body").animate({scrollTop:h},10);
+ window.location.hash = $(this).attr("name");
+ return false;
+ });
+
+ }
+
diff --git a/src/AppConfig.js b/src/AppConfig.js
index 6e20bcf2..be1fe762 100644
--- a/src/AppConfig.js
+++ b/src/AppConfig.js
@@ -33,7 +33,8 @@ export function initAxiosInterceptors(props) {
initOnlineOfflineListener();
// var proxy = "http://192.168.1.40:3000";
- var proxy = "http://111.8.36.180:8000";
+ // var proxy = "http://111.8.36.180:8000";
+ var proxy = "http://117.50.100.12:49999"
// var proxy = "https://www.osredm.com";
//响应前的设置
diff --git a/src/common/marked.js b/src/common/marked.js
index abfd657a..674b986c 100644
--- a/src/common/marked.js
+++ b/src/common/marked.js
@@ -155,7 +155,8 @@ renderer.heading = function (text, level, raw) {
level: level,
text: text
})
- return '
]*>/g +const preRegex = /]*>/g; function _unescape(str) { let div = document.createElement('div') div.innerHTML = str @@ -46,7 +46,7 @@ export default ({ let id = decodeURIComponent(u.split("#")[1]); let ele = document.getElementById(id); if(ele){ - window.scrollTo(0, ele.offsetTop + 120); + window.scrollTo(0, ele.offsetTop); } } } diff --git a/src/forge/Wiki/EditWiki.jsx b/src/forge/Wiki/EditWiki.jsx index a7b4911d..7a378ce3 100644 --- a/src/forge/Wiki/EditWiki.jsx +++ b/src/forge/Wiki/EditWiki.jsx @@ -126,7 +126,8 @@ export default Form.create()(({ form, history, showNotification, projectDetail, } function goBack() { - history.push(`/${owner}/${projectsId}/wiki`); + // history.push(`/${owner}/${projectsId}/wiki`); + window.location.href = `/${owner}/${projectsId}/wiki`; } function changeModal(e) { diff --git a/src/forge/Wiki/Index.jsx b/src/forge/Wiki/Index.jsx index f15b1968..43a34bc3 100644 --- a/src/forge/Wiki/Index.jsx +++ b/src/forge/Wiki/Index.jsx @@ -9,17 +9,18 @@ import { wikiPages, getWiki, deleteWiki } from './api'; import { httpUrl, TokenKey } from './fetch'; import './Index.scss'; import { isArray } from 'lodash'; +import RenderHtml from '../../components/render-html'; const Search = Input.Search; const InputGroup = Input.Group; const { Option } = Select; export default (props) => { - const { match, history, showNotification, project, projectDetail } = props; + const { match, history, showNotification, project, projectDetail, history:{location:{pathname}} } = props; const permission = projectDetail && projectDetail.permission && projectDetail.permission !== "Reporter"; let projectsId = match.params.projectsId; let owner = match.params.owner; - + let wikiName = pathname && pathname.split('/').pop(); const [fileArrInit, setFileArrInit] = useState(null); const [checkItem, setCheckItem] = useState({}); const [itemDetail, setItemDetail] = useState({}); @@ -40,7 +41,12 @@ export default (props) => { setFileArr(res.data); setFileArrInit(res.data); if (res.data.length) { - setCheckItem(res.data[0]); + if (wikiName) { + let activeItem = res.data.filter(item => { return item.name == wikiName })[0] || res.data[0]; + setCheckItem(activeItem) + } else { + setCheckItem(res.data[0]); + } }; } else { setFileArr([]); @@ -69,7 +75,7 @@ export default (props) => { let value = e.target.value; let newFileArr = []; for (const item of fileArrInit) { - if (item.name.indexOf(value) > -1) { + if (item.name.match(new RegExp(value, 'i'))) { newFileArr.push(item); } } @@ -165,10 +171,10 @@ export default (props) => { const uploadProps = { name: 'multipartFile', withCredentials: true, - action: `${httpUrl}/api/wikiExport/uploadWiki/${owner}/${projectsId}/${project && project.id}`, //?token=${sessionStorage.taskToken} + action: `${httpUrl}/api/wikiExport/uploadWiki/${owner}/${projectsId}/${project && project.id}`, showUploadList: false, headers: { - Authorization: cookie.load(TokenKey) || sessionStorage.taskToken, + Authorization: cookie.load(TokenKey), }, beforeUpload: beforeUpload, onChange(info) { @@ -191,6 +197,11 @@ export default (props) => { }, }; + function changeItem(item){ + history.push(`/${owner}/${projectsId}/wiki/${item.name}`) + setCheckItem(item); + } + return ( < Spin spinning={!fileArrInit} className="opacitySpin"> {fileArrInit && fileArrInit.length ? @@ -234,10 +245,10 @@ export default (props) => { { fileArr.map(item => { return-diff --git a/src/forge/Wiki/fetch.js b/src/forge/Wiki/fetch.js index ec3abf87..ef10699b 100644 --- a/src/forge/Wiki/fetch.js +++ b/src/forge/Wiki/fetch.js @@ -8,6 +8,6 @@ let actionUrl = settings && settings.common.wiki; const service = javaFetch(actionUrl); export const httpUrl = actionUrl; export default service; - +export const TokenKey = 'autologin_trustie'; diff --git a/src/forge/css/index.scss b/src/forge/css/index.scss index 720b02f4..95326b3b 100644 --- a/src/forge/css/index.scss +++ b/src/forge/css/index.scss @@ -394,4 +394,22 @@ button.btngrey{ border-color:rgba(153, 153, 153, 0.5); color: #666666; } +} +.markdown_anchors{ + position: relative; +} +.markdown_anchors:hover { + .anchors{ + display: inline-block; + } +} +.markdown_anchors { + .anchors:hover{ + text-decoration: none; + } +} +.markdown_anchors .anchors { + color: inherit; + margin-left: -14px; + display: none; } \ No newline at end of file{ setCheckItem(item) }}> +- + {itemDetail && itemDetail.md_content &&{ changeItem(item) }}>@@ -271,7 +282,7 @@ export default (props) => { {permission && }- {item.name} + {item.name.substring(0, item.name.indexOf('.') !== -1 ? item.name.lastIndexOf('.') : item.name.length-1)}{permission && { deleteFileModal(e, item) }}>}}