diff --git a/src/forge/Wiki/Index.jsx b/src/forge/Wiki/Index.jsx
index 96772549e..587060276 100644
--- a/src/forge/Wiki/Index.jsx
+++ b/src/forge/Wiki/Index.jsx
@@ -14,7 +14,6 @@ import { isArray } from 'lodash';
import { Base64 } from 'js-base64';
import Sidebar from './components/sidebar';
import UploadWiki from './components/uploadWiki';
-const Search = Input.Search;
const InputGroup = Input.Group;
const { Option } = Select;
@@ -31,7 +30,6 @@ export default (props) => {
const [fileArr, setFileArr] = useState([]);
const [fileList, setFileList] = useState([]);
- const [fileListInit, setFileListInit] = useState([]);
const [reload, setReload] = useState();
const [urlType, setUrlType] = useState('HTTPS');
@@ -76,11 +74,7 @@ export default (props) => {
const {menuList, sidebar} = info;
setSidebar(sidebar)
setFileList(menuList);
- setFileListInit(menuList);
let firstWikiNode = undefined;
- // if(!pathname.endsWith('/wiki')){
- // firstWikiNode = findNodeByKey(menuList, pathname.split('/').pop())
- // }
const arr = pathname.split('/');
if(!pathname.endsWith('/wiki')){
firstWikiNode = findNodeByName(menuList, arr[arr.length-2]);
@@ -151,15 +145,6 @@ export default (props) => {
}
}
- function changeSearchValue(value) {
- if(value){
- // 过滤不包含wiki的内容, 重新渲染页面
- let filterList = filterTree(fileListInit, value);
- setFileList(filterList);
- }else{
- setFileList(JSON.parse(JSON.stringify(fileListInit)));
- }
- }
function filterTree(list, value, arr = []){
if(!list.length) return []
@@ -173,15 +158,6 @@ export default (props) => {
}
}
return arr
- // return list.filter(item => {
- // if (item.title.includes(value)) {
- // return true
- // }
- // // if(item.children && item.children.length > 0){
- // // item.children = findUnHasValue(item.children , value);
- // return findUnHasValue(item.children , value);
- // // }
- // })
}
@@ -314,15 +290,9 @@ export default (props) => {
-
{/* 读sidebar转换成目录树 */}
-
+
diff --git a/src/forge/Wiki/Index.scss b/src/forge/Wiki/Index.scss
index 974bc4f75..e79567d69 100644
--- a/src/forge/Wiki/Index.scss
+++ b/src/forge/Wiki/Index.scss
@@ -236,6 +236,9 @@ body {
.ant-tree.ant-tree-directory > li span.ant-tree-node-content-wrapper.ant-tree-node-selected, .ant-tree.ant-tree-directory .ant-tree-child-tree > li span.ant-tree-node-content-wrapper.ant-tree-node-selected{
color: $primary-color;
}
+ .ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-switcher, .ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-switcher{
+ color: $primary-color;
+ }
}
.wiki-nav-title {
@@ -411,4 +414,11 @@ body {
}
.wikiAddMenuError{
color: red;
+}
+.expendedAllAction{
+ cursor: pointer;
+ text-align: right;
+ padding-right: 15px;
+ color: $primary-color;
+ border-bottom: 1px solid #d0d0d0;
}
\ No newline at end of file
diff --git a/src/forge/Wiki/api.js b/src/forge/Wiki/api.js
index 48fc0d907..6b6ee58a1 100644
--- a/src/forge/Wiki/api.js
+++ b/src/forge/Wiki/api.js
@@ -111,7 +111,6 @@ export function markdownToTree(markdownText){
let root = {
title: "root",
children: [],
- node: undefined,
key: key++
}
lines.map((item, index) =>{
@@ -119,18 +118,17 @@ export function markdownToTree(markdownText){
const node = {
title: item,
children: [],
- node: undefined,
- key: key++
+ key: undefined
}
// level:空格的个数(层级)
const level = item.search(/\S/);
- // 下一个节点的空格个数(层级)
- const nextNodeLevel = lines[index+1] && lines[index+1].search(/\S/);
if(!level){
+ node.key = key+"";
+ key++;
// push根目录
- stack = []
- root.children.push(node);
+ stack = [];
stack.push(node);
+ root.children.push(node);
}else{
// 解析子目录
// 当前节点的父节点
@@ -139,12 +137,16 @@ export function markdownToTree(markdownText){
const rootNode = root.children.filter(i => i.key === stack[0].key)[0];
if(level === 1){
// 二级目录
+ node.key = `${rootNode.key}-${rootNode.children.length}`;
rootNode.children.push(node);
}else{
// 更深的层级 找key = stack最后一个item的key
const parentNodeByRoot = findNodeByKey(rootNode.children, parentNode.key);
+ node.key = `${parentNodeByRoot.key}-${parentNodeByRoot.children.length}`
parentNodeByRoot && parentNodeByRoot.children.push(node);
}
+ // 下一个节点的空格个数(层级)
+ const nextNodeLevel = lines[index+1] && lines[index+1].search(/\S/);
if(nextNodeLevel>level && (title.startsWith('- ') || title.startsWith('* '))){
stack.push(node);
}else if(nextNodeLevel
{
- setSelectedKey(defaultSelectedKeys);
+ if(defaultSelectedKeys){
+ // 设置选中wiki
+ setSelectedKey(defaultSelectedKeys);
+ // 第一次渲染,默认打开选中的页面所处目录
+ const keys = [];
+ const list = defaultSelectedKeys[0].split('-');
+ list.map((item, index)=>{
+ keys.push(index > 0 ? `${keys[index-1]}-${item}` : item)
+ })
+ setExpandedKeys(keys);
+ }
}, [defaultSelectedKeys])
useEffect(()=>{
@@ -43,7 +58,7 @@ export default function Sidebar(props) {
- { updateName(e, item) }}>
+ { updateName(e, item, 1) }}>
重命名
@@ -57,6 +72,11 @@ export default function Sidebar(props) {
const fileMenu = (title, isFile, item) =>{
return