forgeplus-react/src/forge/Merge/UpdateMerge.js

117 lines
3.6 KiB
JavaScript
Raw Normal View History

2020-06-12 17:58:58 +08:00
import React, { Component } from "react";
import { Input, Select, Button, Spin, Empty } from "antd";
import axios from "axios";
import "../Order/order.css";
import "./merge.css";
import MergeForm from "./merge_form";
import MergeFooter from "./merge_footer";
2020-03-16 14:12:11 +08:00
const Option = Select.Option;
2020-05-07 10:10:13 +08:00
class UpdateMerge extends Component {
constructor(props) {
2020-03-16 14:12:11 +08:00
super(props);
2020-05-07 10:10:13 +08:00
this.state = {
data: undefined,
2020-06-12 17:58:58 +08:00
merge: undefined,
pull: undefined,
isSpin: false,
};
2020-03-16 14:12:11 +08:00
}
2020-05-07 10:10:13 +08:00
componentDidMount = () => {
2020-06-12 17:58:58 +08:00
this.getmergelist();
};
2020-03-16 14:12:11 +08:00
2020-06-12 17:58:58 +08:00
//获取新建分枝数据
getmergelist = () => {
this.setState({ isSpin: true });
2020-05-07 10:10:13 +08:00
const { projectsId, mergeId } = this.props.match.params;
2020-03-16 14:12:11 +08:00
const url = `/projects/${projectsId}/pull_requests/${mergeId}/edit.json`;
2020-06-12 17:58:58 +08:00
axios
.get(url)
.then((result) => {
if (result) {
this.setState({
isSpin: false,
data: result.data,
pull: result.data.head,
merge: result.data.base,
});
} else {
this.setState({ isSpin: false });
2020-05-07 10:10:13 +08:00
}
2020-06-12 17:58:58 +08:00
})
.catch((error) => {
this.setState({ isSpin: false });
console.log(error);
});
};
2020-03-16 14:12:11 +08:00
2020-05-07 10:10:13 +08:00
render() {
2020-06-12 17:58:58 +08:00
const { data, isSpin, pull, merge } = this.state;
2020-05-07 10:10:13 +08:00
return (
2020-06-12 17:58:58 +08:00
<div>
<div className="main">
<Spin spinning={isSpin}>
{data ? (
<div>
<div className="merge-header width100 inline-block">
<div className="width45 pull-left">
<div className="color-grey-3 mb10 fwb">源分支:</div>
<Input.Group compact>
<Button className="merge-header-button maxW50 hide-1 task-hide">
{data && data.project_author} /{" "}
{data && data.project_name}
</Button>
<Select
defaultValue={pull ? pull : "master"}
className="minW50"
disabled
></Select>
</Input.Group>
</div>
<div className="width10 pull-left text-center mt25">
<i
className={"iconfont icon-youjiang color-grey-c font-32"}
></i>
</div>
<div className="width45 pull-left">
<div>
<div className="color-grey-3 mb10 fwb">目标分支:</div>
<Input.Group compact>
<Button className="merge-header-button maxW50 hide-1 task-hide">
{data && data.project_author} /{" "}
{data && data.project_name}
</Button>
<Select
defaultValue={merge ? merge : "master"}
className="minW50"
disabled
></Select>
</Input.Group>
</div>
</div>
2020-05-07 10:10:13 +08:00
</div>
2020-06-12 17:58:58 +08:00
<MergeForm
{...this.props}
merge_type="edit"
data={data}
merge={merge}
pull={pull}
></MergeForm>
2020-05-07 10:10:13 +08:00
</div>
2020-06-12 17:58:58 +08:00
) : (
""
)}
</Spin>
</div>
<div className=" main">
<MergeFooter footer_type="new" {...this.props}></MergeFooter>
2020-03-16 14:12:11 +08:00
</div>
</div>
2020-06-12 17:58:58 +08:00
);
2020-03-16 14:12:11 +08:00
}
}
2020-06-12 17:58:58 +08:00
export default UpdateMerge;