Merge branch 'feature_repo_second_page' of https://git.trustie.net/Gitlink/forgeplus-react into feature_repo_second_page
This commit is contained in:
commit
0fea52b923
|
|
@ -2,7 +2,7 @@ import React from 'react';
|
||||||
import { AlignTop } from '../Component/layout';
|
import { AlignTop } from '../Component/layout';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
|
|
||||||
function Releases({owner,projectsId,releaseVersions , baseOperate , projectType}){
|
function Releases({ owner, projectsId, releaseVersions, distribution }) {
|
||||||
return(
|
return(
|
||||||
<div>
|
<div>
|
||||||
<Link to={`/${owner}/${projectsId}/releases`} className="font-16 color-ooo hoverA">
|
<Link to={`/${owner}/${projectsId}/releases`} className="font-16 color-ooo hoverA">
|
||||||
|
|
@ -27,7 +27,8 @@ function Releases({owner,projectsId,releaseVersions , baseOperate , projectType}
|
||||||
})
|
})
|
||||||
:
|
:
|
||||||
<div className="mt8">
|
<div className="mt8">
|
||||||
您暂未发布任何版本{baseOperate && projectType !==2 && <Link className="color-blue ml20" to={{pathname:`/${owner}/${projectsId}/releases/new`,state:{stable:true}}}>创建新版本</Link>}
|
您暂未发布任何版本
|
||||||
|
{distribution && <Link className="color-blue ml20" to={{pathname:`/${owner}/${projectsId}/releases/new`,state:{stable:true}}}>创建新版本</Link>}
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,14 +67,15 @@ function CoderDepot(props){
|
||||||
const [ editReadme , setEditReadme ] = useState(false);
|
const [ editReadme , setEditReadme ] = useState(false);
|
||||||
const [ pullsFlag , setPullsFlag ] = useState(true);
|
const [ pullsFlag , setPullsFlag ] = useState(true);
|
||||||
const [ issuesFlag , setIssuesFlag ] = useState(true);
|
const [ issuesFlag , setIssuesFlag ] = useState(true);
|
||||||
const [ releaseVersions , setReleaseVersions] = useState(undefined);
|
|
||||||
|
|
||||||
const details = props.projectDetail;
|
|
||||||
const owner = props.match.params.owner;
|
const owner = props.match.params.owner;
|
||||||
const projectsId = props.match.params.projectsId;
|
const projectsId = props.match.params.projectsId;
|
||||||
let branchName = props.match.params.branchName;
|
let branchName = props.match.params.branchName;
|
||||||
branchName = returnbar(branchName);
|
branchName = returnbar(branchName);
|
||||||
|
const details = props.projectDetail;
|
||||||
let pathname = props.history.location.pathname;
|
let pathname = props.history.location.pathname;
|
||||||
|
//distribution:判断此用户是否可以创建发行版
|
||||||
|
const distribution = details && details.type != 2 && (details.permission === "Admin" || details.permission === "Owner" || details.permission === "Manager");
|
||||||
const { bannerList } = props;
|
const { bannerList } = props;
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
|
|
@ -90,6 +91,7 @@ function CoderDepot(props){
|
||||||
}
|
}
|
||||||
},[bannerList])
|
},[bannerList])
|
||||||
|
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
if(details){
|
if(details){
|
||||||
setProjectDetail(details);
|
setProjectDetail(details);
|
||||||
|
|
@ -99,7 +101,7 @@ function CoderDepot(props){
|
||||||
setDefaultBranch(details.default_branch);
|
setDefaultBranch(details.default_branch);
|
||||||
setInviteCode(details.invite_code);
|
setInviteCode(details.invite_code);
|
||||||
}
|
}
|
||||||
})
|
},[details])
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
if(treeValue){
|
if(treeValue){
|
||||||
|
|
@ -118,30 +120,39 @@ function CoderDepot(props){
|
||||||
setTreeValue(url);
|
setTreeValue(url);
|
||||||
getFileInfo(url,branchName);
|
getFileInfo(url,branchName);
|
||||||
setType("file");
|
setType("file");
|
||||||
|
getReadmeInfo(url,branchName);
|
||||||
}else{
|
}else{
|
||||||
setTreeValue(undefined);
|
setTreeValue(undefined);
|
||||||
getDirInfo(branchName || defaultBranch);
|
getDirInfo(branchName || defaultBranch);
|
||||||
setType("dir");
|
setType("dir");
|
||||||
|
getReadmeInfo('', branchName || defaultBranch);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},[projectsId,owner,pathname,defaultBranch])
|
},[projectsId,owner,pathname,defaultBranch])
|
||||||
|
|
||||||
useEffect(()=>{
|
// 获取readme信息
|
||||||
axios.get(`/${owner}/${projectsId}/releases.json`).then((result)=>{
|
function getReadmeInfo(path, ref) {
|
||||||
if(result && result.data){
|
axios.get(`/${owner}/${projectsId}/readme.json`, {
|
||||||
const release = {
|
params:{
|
||||||
"list":result.data.releases,
|
owner: owner,
|
||||||
"total_count":result.data.releases.length
|
repo: projectsId,
|
||||||
}
|
filepath:path,
|
||||||
setReleaseVersions(release);
|
ref:ref || branchName
|
||||||
|
}
|
||||||
|
}).then((result) => {
|
||||||
|
if (result) {
|
||||||
|
setReadme(result.data);
|
||||||
|
} else {
|
||||||
|
setReadme(undefined);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},[])
|
}
|
||||||
|
|
||||||
// 获取主目录列表
|
// 获取主目录列表
|
||||||
function getDirInfo(branch){
|
function getDirInfo(branch){
|
||||||
setIsSpin(true);
|
setIsSpin(true);
|
||||||
const url = `/${owner}/${projectsId}/entries.json`;
|
const url = `/${owner}/${projectsId}/entries.json`;
|
||||||
|
|
||||||
axios.get(url, {
|
axios.get(url, {
|
||||||
params: { ref: branch }
|
params: { ref: branch }
|
||||||
}).then((result) => {
|
}).then((result) => {
|
||||||
|
|
@ -156,7 +167,7 @@ function CoderDepot(props){
|
||||||
setLastCommitAuthor(c && c.committer);
|
setLastCommitAuthor(c && c.committer);
|
||||||
setMainFlag(true);
|
setMainFlag(true);
|
||||||
setReadOnly(true);
|
setReadOnly(true);
|
||||||
setReadme(result.data.readme);
|
// setReadme(result.data.readme);
|
||||||
setEditReadme(false);
|
setEditReadme(false);
|
||||||
setHide(true);
|
setHide(true);
|
||||||
}
|
}
|
||||||
|
|
@ -186,7 +197,6 @@ function CoderDepot(props){
|
||||||
}
|
}
|
||||||
}).then((result) => {
|
}).then((result) => {
|
||||||
if (result) {
|
if (result) {
|
||||||
console.log(result)
|
|
||||||
let en = result.data.entries;
|
let en = result.data.entries;
|
||||||
if(en.type){
|
if(en.type){
|
||||||
setDirInfo(undefined);
|
setDirInfo(undefined);
|
||||||
|
|
@ -201,7 +211,7 @@ function CoderDepot(props){
|
||||||
setLastCommit(c && c.commit);
|
setLastCommit(c && c.commit);
|
||||||
setLastCommitAuthor(c && c.committer);
|
setLastCommitAuthor(c && c.committer);
|
||||||
setMainFlag(false);
|
setMainFlag(false);
|
||||||
setReadme(result.data.readme)
|
// setReadme(result.data.readme);
|
||||||
setReadOnly(true);
|
setReadOnly(true);
|
||||||
setReadOnly(!editReadme);
|
setReadOnly(!editReadme);
|
||||||
setHide(true);
|
setHide(true);
|
||||||
|
|
@ -532,16 +542,15 @@ function CoderDepot(props){
|
||||||
}
|
}
|
||||||
{/* 发布 */}
|
{/* 发布 */}
|
||||||
{
|
{
|
||||||
releaseVersions &&
|
projectDetail && projectDetail.release_versions &&
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<Divider />
|
<Divider />
|
||||||
<Releases
|
<Releases
|
||||||
owner={owner}
|
owner={owner}
|
||||||
projectsId={projectsId}
|
projectsId={projectsId}
|
||||||
releaseVersions={releaseVersions}
|
releaseVersions={projectDetail.release_versions}
|
||||||
history={props.history}
|
history={props.history}
|
||||||
baseOperate={baseOperate}
|
distribution={distribution}
|
||||||
projectType={projectDetail.type}
|
|
||||||
/>
|
/>
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -155,7 +155,7 @@ class CoderRootCommit extends Component{
|
||||||
<AlignTop>
|
<AlignTop>
|
||||||
<div className="commitDesc"><Link to={{pathname:`/${owner}/${projectsId}/commits/${truncateCommitId(`${item.sha}`)}/${branch}`,query:{commitPage:page}}} className="font-14 color-grey-3 font-bd">{item.message}</Link></div>
|
<div className="commitDesc"><Link to={{pathname:`/${owner}/${projectsId}/commits/${truncateCommitId(`${item.sha}`)}/${branch}`,query:{commitPage:page}}} className="font-14 color-grey-3 font-bd">{item.message}</Link></div>
|
||||||
</AlignTop>
|
</AlignTop>
|
||||||
<p className="f-wrap-alignCenter mt15">
|
<p className="f-wrap-alignCenter mt15 pb5">
|
||||||
<User
|
<User
|
||||||
id={item.id}
|
id={item.id}
|
||||||
url={(item.image_url && getImageUrl(`/${item.image_url}`)) || "https://dss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3025493530,1989042357&fm=26&gp=0.jpg"}
|
url={(item.image_url && getImageUrl(`/${item.image_url}`)) || "https://dss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3025493530,1989042357&fm=26&gp=0.jpg"}
|
||||||
|
|
|
||||||
|
|
@ -74,8 +74,8 @@ function version(props) {
|
||||||
<div className="versionName">
|
<div className="versionName">
|
||||||
<Link to={`/${owner}/${projectsId}/tree/${item.tag_name}`} className="task-hide color-blue hover font-18">{item.name}</Link>
|
<Link to={`/${owner}/${projectsId}/tree/${item.tag_name}`} className="task-hide color-blue hover font-18">{item.name}</Link>
|
||||||
<span>
|
<span>
|
||||||
{data && data.user_permission && type !== 2 && <Link to={{pathname:`/${owner}/${projectsId}/releases/${item.version_id}/update`,state:{"stable":item.draft==="稳定"}}} className="ml15"><i className="iconfont icon-a-bianji1 font-16 color-grey-6"></i></Link>}
|
{data && data.user_admin_permission && type !== 2 && <Link to={{pathname:`/${owner}/${projectsId}/releases/${item.version_id}/update`,state:{"stable":item.draft==="稳定"}}} className="ml15"><i className="iconfont icon-a-bianji1 font-16 color-grey-6"></i></Link>}
|
||||||
{data && data.user_permission && type !== 2 && <i className ="iconfont icon-shanchuicon1 font-16 ml15" onClick={()=>{deleteRelease(item.version_id)}}></i>}
|
{data && data.user_admin_permission && type !== 2 && <i className ="iconfont icon-shanchuicon1 font-16 ml15" onClick={()=>{deleteRelease(item.version_id)}}></i>}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<span className="color-grey-3 mb15 version-user">
|
<span className="color-grey-3 mb15 version-user">
|
||||||
|
|
@ -84,14 +84,14 @@ function version(props) {
|
||||||
id={item.id}
|
id={item.id}
|
||||||
url={(item.image_url && getImageUrl(`/${item.image_url}`)) || "https://dss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3025493530,1989042357&fm=26&gp=0.jpg"}
|
url={(item.image_url && getImageUrl(`/${item.image_url}`)) || "https://dss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3025493530,1989042357&fm=26&gp=0.jpg"}
|
||||||
name={item.user_name}
|
name={item.user_name}
|
||||||
login={item.user_name}
|
login={item.user_login}
|
||||||
/>
|
/>
|
||||||
<span className="ml5">发布于{item.created_at}</span>
|
<span className="ml5">发布于{item.created_at}</span>
|
||||||
</span>
|
</span>
|
||||||
{
|
{
|
||||||
item.bodyshow &&
|
item.bodyshow &&
|
||||||
<div className="body-show">
|
<div className="body-show">
|
||||||
<RenderHtml className="break_word_comments imageLayerParent" value={item.body} url={props.history.location}/>
|
<RenderHtml className="break_word_comments imageLayerParent" value={item.body || ''} url={props.history.location}/>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
<RenderHtml />
|
<RenderHtml />
|
||||||
|
|
@ -113,7 +113,7 @@ function version(props) {
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
{
|
{
|
||||||
data && data.user_permission && type !== 2 &&
|
data && data.user_admin_permission && type !== 2 &&
|
||||||
<div className="addReleaseBtn">
|
<div className="addReleaseBtn">
|
||||||
<Button type={"primary"} onClick={addFunc} className="btnblue" style={{height:"36px"}}>发布新版本</Button>
|
<Button type={"primary"} onClick={addFunc} className="btnblue" style={{height:"36px"}}>发布新版本</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -126,7 +126,7 @@ function version(props) {
|
||||||
} else if (releases && releases.length === 0) {
|
} else if (releases && releases.length === 0) {
|
||||||
return (
|
return (
|
||||||
<Empty
|
<Empty
|
||||||
operation={data && data.user_permission && type !== 2}
|
operation={data && data.user_admin_permission && type !== 2}
|
||||||
addFunc={addFunc}
|
addFunc={addFunc}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue