From 1764fbdb883304636823e0b1e0328cc3a1a8a656 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= <792998983@qq.com>
Date: Fri, 3 Sep 2021 21:51:53 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E9=80=9F=E5=BA=A6=E9=80=9F=E5=BA=A6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/forge/Main/Detail.js | 2 +-
src/forge/Main/DetailAdaptor.js | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
create mode 100644 src/forge/Main/DetailAdaptor.js
diff --git a/src/forge/Main/Detail.js b/src/forge/Main/Detail.js
index 3303d42c3..803b4c74b 100644
--- a/src/forge/Main/Detail.js
+++ b/src/forge/Main/Detail.js
@@ -142,7 +142,7 @@ const WikiEdit = Loadable({
function checkPathname(projectsId, owner, pathname) {
let name = "";
if (pathname && pathname !== `/${owner}/${projectsId}`) {
- let url = pathname.split(`/${owner}/${projectsId}`)[1];
+ let url = pathname.split(`/${owner}/${projectsId}`)[1] || '';
if (url.indexOf("/about") > -1) {
name = "about"
} else if (url.indexOf("/issues") > -1 || url.indexOf("Milepost") > 0) {
diff --git a/src/forge/Main/DetailAdaptor.js b/src/forge/Main/DetailAdaptor.js
new file mode 100644
index 000000000..4f2fba263
--- /dev/null
+++ b/src/forge/Main/DetailAdaptor.js
@@ -0,0 +1,6 @@
+import Detail from "./Detail";
+import { SnackbarHOC } from "educoder";
+import { CNotificationHOC } from "../../modules/courses/common/CNotificationHOC";
+import { TPMIndexHOC } from "../../modules/tpm/TPMIndexHOC";
+
+export default CNotificationHOC()(SnackbarHOC()(TPMIndexHOC(Detail)));
\ No newline at end of file
From a90eeac318365f000880cdd45fdc4792d5a4d660 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= <792998983@qq.com>
Date: Sat, 4 Sep 2021 11:16:08 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E4=B8=8A=E4=BC=A0PR=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/App.js | 19 ++++++++++++++++++-
src/forge/Main/DetailAdaptor.js | 26 ++++++++++++++++++++++++--
src/forge/Merge/NewMerge.js | 14 +++++++++++---
3 files changed, 53 insertions(+), 6 deletions(-)
diff --git a/src/App.js b/src/App.js
index af5532ad5..f0fe80b15 100644
--- a/src/App.js
+++ b/src/App.js
@@ -19,7 +19,7 @@ import moment from 'moment'
import { MuiThemeProvider, createMuiTheme } from 'material-ui/styles';
import SiderBar from './forge/Component/SiderBar'
-import { SnackbarHOC } from 'educoder'
+import { SnackbarHOC } from 'educoder';
import { initAxiosInterceptors } from './AppConfig'
import { Provider } from 'react-redux';
import configureStore from './redux/stores/configureStore';
@@ -39,6 +39,11 @@ const Projects = Loadable({
loader: () => import('./forge/Index'),
loading: Loading,
})
+// forge项目详情
+const ProjectDetail = Loadable({
+ loader: () => import("./forge/Main/DetailAdaptor"),
+ loading: Loading,
+});
//forge安全设置
const Security = Loadable({
loader: () => import('./forge/SecuritySetting/Index'),
@@ -92,6 +97,11 @@ const ProjectIndex = Loadable({
loading: Loading,
});
+const CreateMerge = Loadable({
+ loader: () => import('./forge/Merge/NewMerge'),
+ loading: Loading,
+})
+
// 此处仅维护前端可能的一级路由,不用进行项目或者组织判断的字段。
const keyWord = ["explore", "settings", "setting", "CCF", "mulan", "wiki", "issues", "setting", "trending", "code", "projects", "pulls", "mine", "login", "register", "email", "export", "nopage", "404", "403", "500", "501", "search"];
@@ -268,6 +278,13 @@ class App extends Component {
}
} />
+ {/* 项目PR */}
+ ()
+ }
+ >
+
{/*项目*/}
import("../Main/Detail"),
+ loading: Loading,
+});
+export default withRouter(
+ (CNotificationHOC()(SnackbarHOC()(TPMIndexHOC((props) => {
+ return (
+
+ (
+
+ )}
+ >
+
+ )
+ }))))
+)
\ No newline at end of file
diff --git a/src/forge/Merge/NewMerge.js b/src/forge/Merge/NewMerge.js
index 956be0006..7d33028d3 100644
--- a/src/forge/Merge/NewMerge.js
+++ b/src/forge/Merge/NewMerge.js
@@ -48,8 +48,10 @@ class NewMerge extends Component {
this.compareProject(this.state.id,pull,"master");
}
}
+
// 页面销毁取消监听
componentWillUnmount () {
+ console.log('----------destoyed---------');
window.removeEventListener('popstate', this.handleBack, false);
};
@@ -60,8 +62,11 @@ class NewMerge extends Component {
//获取新建分支数据
getmergelist = (projectsId) => {
- this.setState({isSpin: true})
- const { owner } = this.props.match.params;
+ this.setState({isSpin: true});
+ // const { owner } = this.props.match.params;
+ let owner =this.props.history.location.pathname.split('/')[1];
+ console.log('owner:'+owner);
+ console.log(this.props);
const url = `/${owner}/${projectsId}/pulls/new.json`;
axios
.get(url)
@@ -264,7 +269,9 @@ class NewMerge extends Component {
show_message,
default_message,
merge_head,
- projects_names,id,comparesData
+ projects_names,
+ id,
+ comparesData
} = this.state;
const renderBrances = (list, type) => {
@@ -298,6 +305,7 @@ class NewMerge extends Component {
return ;
};
let { project } = this.props;
+
return (