diff --git a/src/forge/Information/Pages/help.jsx b/src/forge/Information/Pages/help.jsx index 5c3fc8d2..10352e19 100644 --- a/src/forge/Information/Pages/help.jsx +++ b/src/forge/Information/Pages/help.jsx @@ -236,7 +236,7 @@ function ProjectSource(props) { {adminUrl && } - {wikiDetail.md_content && } + {wikiDetail.md_content && } {wikiContMenu && wikiContMenu !== "" &&
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) }}>删除 + } };