diff --git a/src/forge/Information/index.jsx b/src/forge/Information/index.jsx
index 0e367340..6c689769 100644
--- a/src/forge/Information/index.jsx
+++ b/src/forge/Information/index.jsx
@@ -15,6 +15,7 @@ import { IsPC } from 'educoder';
import "slick-carousel/slick/slick.css";
import "slick-carousel/slick/slick-theme.css";
import { tempEnum } from "./tempInfo";
+import { ImageLayerOfCommentHOC } from "../../modules/page/layers/ImageLayerOfCommentHOC";
const SourceDetail = Loadable({
loader: () => import("./Pages/sourceDetail"),
@@ -177,5 +178,8 @@ function Index(props){
)
}
-export default withRouter((CNotificationHOC()(SnackbarHOC()(TPMIndexHOC(Index))))
+export default withRouter((CNotificationHOC()(SnackbarHOC()(TPMIndexHOC(ImageLayerOfCommentHOC({
+ imgSelector: ".imageLayerParent img, .imageLayerParent .imageTarget",
+ parentSelector: ".newContainer",
+})(Index)))))
);
\ No newline at end of file
diff --git a/src/forge/Wiki/Index.jsx b/src/forge/Wiki/Index.jsx
index e4cccb36..5af3f22d 100644
--- a/src/forge/Wiki/Index.jsx
+++ b/src/forge/Wiki/Index.jsx
@@ -1,19 +1,19 @@
-import React, { useEffect, useCallback, useState, useMemo } from 'react';
-import { Button, Dropdown, Icon, Input, Menu, Tooltip, Select, Upload, message, Spin, Modal } from 'antd';
+import React, { useEffect, useState } from 'react';
+import { Button, Dropdown, Icon, Input, Menu, Select, message, Spin, Modal } from 'antd';
import { getImageUrl, timeAgo } from 'educoder';
-import cookie from 'react-cookies';
import CopyTool from '../Component/CopyTool';
import Welcome from './Welcome';
import RenderHtml from "../../components/render-html";
import { wikiPages, getWiki, parseSidebar, updateWiki, treeToMd } from './api';
-import { httpUrl, TokenKey } from './fetch';
+import { httpUrl } from './fetch';
import './Index.scss';
import './components/ModalFun/index.scss';
import { isArray } from 'lodash';
import { Base64 } from 'js-base64';
import Sidebar from './components/sidebar';
import UploadWiki from './components/uploadWiki';
+import axios from 'axios';
const InputGroup = Input.Group;
const { Option } = Select;
@@ -38,9 +38,18 @@ export default (props) => {
const [addMenuError, setAddMenuError] = useState(undefined);
const [sidebar, setSidebar] = useState(undefined);
const [defaultSelectedKeys, setDefaultSelectedKeys] = useState(undefined);
+ const [masterProtected, setMasterProtected] = useState(false);
useEffect(()=>{
window.scrollTo(0,0);
+ // 获取仓库分支信息,判断master是否设置了分支保护
+ if(projectsId && owner){
+ axios.get(`/v1/${owner}/${projectsId}/branches.json`, {keyword: 'master'}).then(res=>{
+ if(res && res.data && res.data.total_count === 1){
+ setMasterProtected(res.data.branches[0].protected);
+ }
+ })
+ }
}, [])
useEffect(()=>{
@@ -292,7 +301,7 @@ export default (props) => {
{/* 读sidebar转换成目录树 */}
-
+
@@ -321,7 +330,7 @@ export default (props) => {
{permission && }
- {itemDetail&&itemDetail.md_content&&}
+ {itemDetail&&itemDetail.md_content&&}
diff --git a/src/forge/Wiki/components/sidebar/index.jsx b/src/forge/Wiki/components/sidebar/index.jsx
index bf26a204..05491527 100644
--- a/src/forge/Wiki/components/sidebar/index.jsx
+++ b/src/forge/Wiki/components/sidebar/index.jsx
@@ -12,7 +12,7 @@ const {DirectoryTree, TreeNode} = Tree;
// wiki目录树
export default function Sidebar(props) {
- const {fileList, changeitem, owner, projectsId, project, setReload, sidebar, history, permission, defaultSelectedKeys, fileArrInit} = props;
+ const {fileList, changeitem, owner, projectsId, project, setReload, sidebar, history, permission, defaultSelectedKeys, fileArrInit, masterProtected} = props;
const {location:{pathname}} = history;
const [initMenuList, setInitMenuList] = useState(undefined);
const [menuList, setMenuList] = useState(undefined);
@@ -66,9 +66,10 @@ export default function Sidebar(props) {
- { deleteFileModal(e, title, isFile, item) }}>
- 删除
-
+ {
+ masterProtected && item.children.length ? { message.error("由于master分支设置了分支保护,不允许删除wiki") }}>删除 :
+ { deleteFileModal(e, title, isFile, item) }}>删除
+ }
};
@@ -81,9 +82,10 @@ export default function Sidebar(props) {
- { deleteFileModal(e, title, isFile, item) }}>
- 删除
-
+ {
+ masterProtected ? { message.error("由于master分支设置了分支保护,不允许删除wiki") }}>删除 :
+ { deleteFileModal(e, title, isFile, item) }}>删除
+ }
};