diff --git a/src/forge/Branch/Select.jsx b/src/forge/Branch/Select.jsx index 4937686d1..8083082da 100644 --- a/src/forge/Branch/Select.jsx +++ b/src/forge/Branch/Select.jsx @@ -1,28 +1,57 @@ -import React , { useState , useEffect } from 'react'; -import { Popover , Dropdown , Input , Spin } from 'antd'; +import React , { useState , useEffect , useRef } from 'react'; +import { Dropdown} from 'antd'; import './branch.scss'; -import { getBranch , getTag } from '../GetData/getData'; import SelectOverlay from './SelectOverlay'; +import { findDOMNode } from 'react-dom'; export default (({ projectsId , branch , owner , changeBranch , branchList , tagflag = true })=>{ const [ showValue , setShowValue ] = useState(branch); + const [ visible , setVisible ] = useState(false); + + const refFa = useRef(null); + const refBox = useRef(null); + + useEffect(() => { + document.addEventListener('click', clickMe , false); + }, []) + + const clickMe = ({ target }) => { + // 查找父组件 + const faComponent = findDOMNode(refFa.current); + const boxComponent = findDOMNode(refBox.current); + + if (faComponent && boxComponent) { + const isChild = faComponent.contains(target); + const isBox = boxComponent.contains(target); + if(!isChild && !isBox){ + setVisible(false); + } + } + } useEffect(()=>{ setShowValue(branch); },[branch]) + function ChangeB(params) { + setVisible(false); + changeBranch(params); + } + const menu = ( - + + ); return( - -
+ +
setVisible(true)}> {/* {nav === 0 ?"分支":"标签"} */} diff --git a/src/forge/Main/CoderDepot.jsx b/src/forge/Main/CoderDepot.jsx index c6867c986..bcbcd348f 100644 --- a/src/forge/Main/CoderDepot.jsx +++ b/src/forge/Main/CoderDepot.jsx @@ -424,7 +424,7 @@ function CoderDepot(props){
{ projectDetail.type !== 2 && pullsFlag && - urlLink(`/${owner}/${projectsId}/pulls/new`)} >+ 合并请求 + urlLink(`/${owner}/${projectsId}/pulls/new/${branchName || defaultBranch}`)} >+ 合并请求 } { issuesFlag && diff --git a/src/forge/Main/Diff.jsx b/src/forge/Main/Diff.jsx index 03321ea90..86cf9384c 100644 --- a/src/forge/Main/Diff.jsx +++ b/src/forge/Main/Diff.jsx @@ -121,6 +121,7 @@ export default (props) => { data={data} owner={owner} projectsId={projectsId} + parentsSha={parents && parents.length > 0 && parents[0].sha} />
diff --git a/src/forge/Main/tree/Index.jsx b/src/forge/Main/tree/Index.jsx index d38b48bb2..5d3480189 100644 --- a/src/forge/Main/tree/Index.jsx +++ b/src/forge/Main/tree/Index.jsx @@ -79,7 +79,7 @@ function Index(props) {
sha - {truncateCommitId(last_commit && last_commit.sha)} + {truncateCommitId(last_commit && last_commit.sha)} diff --git a/src/forge/Merge/Files.jsx b/src/forge/Merge/Files.jsx index 310d586b7..a3015fcec 100644 --- a/src/forge/Merge/Files.jsx +++ b/src/forge/Merge/Files.jsx @@ -5,8 +5,7 @@ import { Button, Tooltip,Progress, Popover, Anchor } from 'antd'; import './merge.css'; import './Index.scss'; -function Files(props){ - const { data,history,owner,projectsId } = props; +function Files({ data,history,owner,projectsId , parentsSha }){ const [ files , setFiles ] = useState(data && data.files); const [ copyfileTipTitle, setCopyfileTipTitle] = useState("复制文件路径"); const [ isOpen, setIsOpen] = useState(false); @@ -101,7 +100,7 @@ function Files(props){ {item.addition+item.deletion}处 - {history.push(`/${owner}/${projectsId}/tree/${truncateCommitId(item.sha)}/${item.name}`)}}>查看文件 + {history.push(`/${owner}/${projectsId}${item.isDeleted ? `/commits/${truncateCommitId(parentsSha)}`:`/tree/${truncateCommitId(item.sha)}/${item.name}`}`)}}>查看文件
{ diff --git a/src/forge/Newfile/m_editor.js b/src/forge/Newfile/m_editor.js index d0144254f..fd4636083 100644 --- a/src/forge/Newfile/m_editor.js +++ b/src/forge/Newfile/m_editor.js @@ -94,7 +94,6 @@ class m_editor extends Component {
)}