This commit is contained in:
caishi 2020-08-17 18:44:02 +08:00
parent 9f43848bdb
commit 2f418c6cd7
4 changed files with 91 additions and 113 deletions

View File

@ -12,32 +12,25 @@ function ImageLayer2(props) {
setShowImage(false)
setImageSrc('')
}
const onDelegateClick = (event) => {
const imageSrc = event.target.src || event.target.getAttribute('src') || event.target.getAttribute('href')
// 判断imageSrc是否是图片
const fileName = event.target.innerHTML.trim()
if (isImageExtension((imageSrc && imageSrc.trim())) || isImageExtension(fileName) || event.target.tagName == 'IMG' || (imageSrc && imageSrc.indexOf('base64,')) != -1) {
// 非回复里的头像图片; 非emoticons
if (imageSrc.indexOf('/images/avatars/User') === -1 &&
imageSrc.indexOf('kindeditor/plugins/emoticons') === -1 ) {
setShowImage(true)
setImageSrc(imageSrc)
}
event.stopPropagation()
event.preventDefault && event.preventDefault()
event.originalEvent.preventDefault()
// event.originalEvent.stopPropagation()
// event.originalEvent.cancelBubble = true
return false;
}
}
useEffect(() => {
$(parentSel)
.delegate(childSel, "click", onDelegateClick);
return () => {
$(parentSel).undelegate(childSel, "click", onDelegateClick )
}
$(parentSel).delegate(childSel, "click", (event) => {
const imageSrc = event.target.src || event.target.getAttribute('src') || event.target.getAttribute('href')
// 判断imageSrc是否是图片
const fileName = event.target.innerHTML.trim();
if (isImageExtension((imageSrc && imageSrc.trim())) || isImageExtension(fileName) || event.target.tagName == 'IMG' || (imageSrc && imageSrc.indexOf('base64,')) != -1) {
// 非回复里的头像图片; 非emoticons
if (imageSrc.indexOf('/images/avatars/User') === -1 &&
imageSrc.indexOf('kindeditor/plugins/emoticons') === -1 ) {
setShowImage(true)
setImageSrc(imageSrc)
}
event.stopPropagation()
event.preventDefault && event.preventDefault()
event.originalEvent.preventDefault()
return false;
}
})
})
return (

View File

@ -359,7 +359,7 @@ class MessageCount extends Component {
<Button
type="success"
ghost
href={`/projects/${owner}/${projectsId}/merge/${mergeId}/UpdateMerge`}
onClick={()=>{this.props.history.push(`/projects/${owner}/${projectsId}/pulls/${mergeId}/UpdateMerge`);}}
>
编辑
</Button>

View File

@ -3,7 +3,7 @@ import { Link } from "react-router-dom";
import axios from "axios";
import { getImageUrl } from "educoder";
import { Form , Popconfirm , Tag , Spin } from "antd";
import { Form, Popconfirm, Tag, Spin } from "antd";
import Attachments from "../Upload/attachment";
import RenderHtml from "../../components/render-html";
import Comments from "../comments/comments";
@ -44,7 +44,7 @@ class Detail extends Component {
};
getDetail = () => {
const { projectsId, orderId,owner } = this.props.match.params;
const { projectsId, orderId, owner } = this.props.match.params;
const url = `/${owner}/${projectsId}/issues/${orderId}.json`;
axios
.get(url)
@ -52,7 +52,7 @@ class Detail extends Component {
if (result) {
this.setState({
data: result.data,
isSpins:false
isSpins: false
});
}
})
@ -74,7 +74,7 @@ class Detail extends Component {
//删除任务信息
deletedetail = (id) => {
const { projectsId, orderId,owner } = this.props.match.params;
const { projectsId, orderId, owner } = this.props.match.params;
const url = `/${owner}/${projectsId}/issues/${orderId}.json`;
axios
.delete(url, {
@ -95,7 +95,7 @@ class Detail extends Component {
//关闭任务
closedetail = (id) => {
const { projectsId, orderId , owner } = this.props.match.params;
const { projectsId, orderId, owner } = this.props.match.params;
const url = `/${owner}/${projectsId}/issues/${orderId}/close_issue.json`;
axios
.post(url, {
@ -122,7 +122,7 @@ class Detail extends Component {
//复制
copydetail = () => {
const { projectsId, orderId , owner} = this.props.match.params;
const { projectsId, orderId, owner } = this.props.match.params;
const url = `/${owner}/${projectsId}/issues/${orderId}/copy.json`;
axios
.post(url, {
@ -182,12 +182,12 @@ class Detail extends Component {
};
commentCtx = (v) => {
return <RenderHtml className="break_word_comments" value={v} />;
return <RenderHtml className="break_word_comments markdownsContent" value={v} />;
};
render() {
const { projectsId, orderId , owner } = this.props.match.params;
const { data , isSpins } = this.state;
const { projectsId, orderId, owner } = this.props.match.params;
const { data, isSpins } = this.state;
const get_color = (type) => {
if (type === "高") {
return "#e67e22";
@ -276,8 +276,8 @@ class Detail extends Component {
</Link>
</span>
) : (
""
)}
""
)}
</div>
</div>
</div>
@ -286,8 +286,8 @@ class Detail extends Component {
{data && data.description && data.description.length > 0 ? (
this.commentCtx(data.description)
) : (
<span className="color-grey-9 ml3 mr3">没有描述</span>
)}
<span className="color-grey-9 ml3 mr3">暂无描述</span>
)}
</div>
{data && data.attachments && data.attachments.length > 0 ? (
<Attachments
@ -295,8 +295,8 @@ class Detail extends Component {
showNotification={this.props.showNotification}
/>
) : (
""
)}
""
)}
</div>
</div>
@ -307,77 +307,66 @@ class Detail extends Component {
/>
</div>
<div className="list-left list-left-padding">
<div className="list-right-item-padding background-f boder-4">
<p className="grid-item-left pb15">
<span className="issue_detail_info">分支:</span>
<span>{data && data.branch_name ? data.branch_name : "--"}</span>
</p>
{/* <p className="grid-item pb15">
<span className="issue_detail_info">是否上链:</span>
<span>{data && data.issue_type==="2" ? '是' : "--"}</span>
</p>
{
data && data.issue_type==="2" &&
<p className="grid-item pb15">
<span className="issue_detail_info">token值:</span>
<span>{data && data.token ? data.token : "--"}</span>
</p>
} */}
<p className="grid-item-left pb15">
<span className="issue_detail_info">标签:</span>
<span>
{data && data.issue_tags ? (
<span className="grid-item">
<span
className="tagColor"
style={{ background: data.issue_tags[0].color }}
></span>
{data.issue_tags[0].name}
</span>
) : (
"--"
)}
</span>
</p>
<p className="grid-item-left pb15">
<span className="issue_detail_info">里程碑:</span>
<span className="title_overflow">
{data && data.version ? data.version : "--"}
</span>
</p>
<p className="grid-item-left pb15">
<span className="issue_detail_info">状态:</span>
<span>
{data && data.issue_status ? data.issue_status : "--"}
</span>
</p>
<p className="grid-item-left pb15">
<span className="issue_detail_info">分类:</span>
<span>{data && data.tracker ? data.tracker : "--"}</span>
</p>
<p className="grid-item-left pb15">
<span className="issue_detail_info">负责人:</span>
<span>
{data && data.assign_user_name ? data.assign_user_name : "--"}
</span>
</p>
<p className="grid-item-left pb15">
<span className="issue_detail_info">开始日期:</span>
<span>{data && data.start_date ? data.start_date : "--"}</span>
</p>
<p className="grid-item-left pb15">
<span className="issue_detail_info">结束日期:</span>
<span>{data && data.due_date ? data.due_date : "--"}</span>
</p>
<div className="list-right-item-padding background-f boder-4">
<p className="grid-item-left pb15">
<span className="issue_detail_info">分支:</span>
<span>{data && data.branch_name ? data.branch_name : "--"}</span>
</p>
<p className="grid-item-left pb15">
<span className="issue_detail_info">标签:</span>
<span>
{data && data.issue_tags ? (
<span className="grid-item">
<span
className="tagColor"
style={{ background: data.issue_tags[0].color }}
></span>
{data.issue_tags[0].name}
</span>
) : (
"--"
)}
</span>
</p>
<p className="grid-item-left pb15">
<span className="issue_detail_info">里程碑:</span>
<span className="title_overflow">
{data && data.version ? data.version : "--"}
</span>
</p>
<p className="grid-item-left pb15">
<span className="issue_detail_info">状态:</span>
<span>
{data && data.issue_status ? data.issue_status : "--"}
</span>
</p>
<p className="grid-item-left pb15">
<span className="issue_detail_info">分类:</span>
<span>{data && data.tracker ? data.tracker : "--"}</span>
</p>
<p className="grid-item-left pb15">
<span className="issue_detail_info">负责人:</span>
<span>
{data && data.assign_user_name ? data.assign_user_name : "--"}
</span>
</p>
<p className="grid-item-left pb15">
<span className="issue_detail_info">开始日期:</span>
<span>{data && data.start_date ? data.start_date : "--"}</span>
</p>
<p className="grid-item-left pb15">
<span className="issue_detail_info">结束日期:</span>
<span>{data && data.due_date ? data.due_date : "--"}</span>
</p>
<p className="grid-item-left pb15">
<span className="issue_detail_info">完成度:</span>
<span>{data && data.done_ratio ? data.done_ratio : "--"}</span>
</p>
<p className="grid-item-left pb15">
<span className="issue_detail_info">完成度:</span>
<span>{data && data.done_ratio ? data.done_ratio : "--"}</span>
</p>
</div>
</div>
</div>
</div>
</Spin>
</Spin>
);
}
}

View File

@ -427,10 +427,6 @@ export function commentHOC(WrappedComponent) {
})
}
// ----------------------------------------------------------------------------------------------评论 End
// ----------------------------------------------------------------------------------------------评论 End
componentDidMount() {
$(".commentsDelegateParent")
.delegate(".J_Comment_Reply .comment_content img, .J_Comment_Reply .childrenCommentsView img", "click", (event) => {