commit
ef8e6960ea
@ -1,53 +1,54 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import { Redirect } from 'react-router';
|
import { Redirect } from 'react-router';
|
||||||
|
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import { CircularProgress } from 'material-ui/Progress';
|
import { CircularProgress } from 'material-ui/Progress';
|
||||||
|
|
||||||
import './TPMShixunDiscuss.css'
|
import './TPMShixunDiscuss.css'
|
||||||
|
|
||||||
import Collaborators from './shixunchild/Collaborators/Collaborators'
|
import Collaborators from './shixunchild/Collaborators/Collaborators'
|
||||||
import TPMRightSection from './component/TPMRightSection'
|
import TPMRightSection from './component/TPMRightSection'
|
||||||
import TPMNav from './component/TPMNav'
|
import TPMNav from './component/TPMNav'
|
||||||
|
|
||||||
class TPMCollaborators extends Component {
|
class TPMCollaborators extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props)
|
super(props)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { loadingContent, creator, shixun, myshixun, recommend_shixuns, current_user, watched,
|
const { loadingContent, creator, shixun, myshixun, recommend_shixuns, current_user, watched,
|
||||||
aboutFocus, user, match
|
aboutFocus, user, match
|
||||||
} = this.props;
|
} = this.props;
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<div className="educontent clearfix mt30 mb80">
|
<div className="educontent clearfix mt30 mb80">
|
||||||
|
|
||||||
<div className="with65 fl edu-back-white" >
|
<div className="with65 fl edu-back-white" >
|
||||||
<TPMNav
|
<TPMNav
|
||||||
match={match}
|
match={match}
|
||||||
user={user}
|
user={user}
|
||||||
shixun={shixun}
|
shixun={shixun}
|
||||||
{...this.props}
|
{...this.props}
|
||||||
></TPMNav>
|
is_jupyter={this.props.is_jupyter}
|
||||||
<Collaborators
|
></TPMNav>
|
||||||
{...this.props}
|
<Collaborators
|
||||||
/>
|
{...this.props}
|
||||||
|
/>
|
||||||
</div>
|
|
||||||
|
</div>
|
||||||
<div className="with35 fr pl20">
|
|
||||||
<TPMRightSection
|
<div className="with35 fr pl20">
|
||||||
{...this.props}
|
<TPMRightSection
|
||||||
/>
|
{...this.props}
|
||||||
</div>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</React.Fragment>
|
</div>
|
||||||
|
</React.Fragment>
|
||||||
);
|
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
export default TPMCollaborators;
|
|
||||||
|
export default TPMCollaborators;
|
||||||
|
@ -1,47 +1,47 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import { Redirect } from 'react-router';
|
import { Redirect } from 'react-router';
|
||||||
|
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import TPMCollaborators from './TPMCollaborators'
|
import TPMCollaborators from './TPMCollaborators'
|
||||||
|
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
|
||||||
class TPMChallengeContainer extends Component {
|
class TPMChallengeContainer extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props)
|
super(props)
|
||||||
this.state = {
|
this.state = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
componentWillReceiveProps(newProps, newContext) {
|
componentWillReceiveProps(newProps, newContext) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
// this.props.showShixun();
|
// this.props.showShixun();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { tpmLoading } = this.props;
|
const { tpmLoading } = this.props;
|
||||||
const user = this.props.current_user;
|
const user = this.props.current_user;
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
{ tpmLoading ? <div style={{ minHeight: '886px'}}></div> :
|
{ tpmLoading ? <div style={{ minHeight: '886px'}}></div> :
|
||||||
<TPMCollaborators
|
<TPMCollaborators
|
||||||
{...this.props}
|
{...this.props}
|
||||||
{...this.state}
|
{...this.state}
|
||||||
user={user}
|
user={user}
|
||||||
aboutFocus={this.props.aboutFocus}
|
aboutFocus={this.props.aboutFocus}
|
||||||
|
is_jupyter={this.props.is_jupyter}
|
||||||
>
|
>
|
||||||
</TPMCollaborators>
|
</TPMCollaborators>
|
||||||
}
|
}
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default TPMChallengeContainer;
|
export default TPMChallengeContainer;
|
||||||
|
@ -1,50 +1,50 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import { Redirect } from 'react-router';
|
import { Redirect } from 'react-router';
|
||||||
|
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import TPMForklist from './TPMForklist'
|
import TPMForklist from './TPMForklist'
|
||||||
|
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
|
||||||
class TPMRanking_listContainer extends Component {
|
class TPMRanking_listContainer extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props)
|
super(props)
|
||||||
this.state = {
|
this.state = {
|
||||||
tpmLoading: true,
|
tpmLoading: true,
|
||||||
creator: {
|
creator: {
|
||||||
owner_id: ''
|
owner_id: ''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
componentWillReceiveProps(newProps, newContext) {
|
componentWillReceiveProps(newProps, newContext) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
this.props.showShixun();
|
this.props.showShixun();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { tpmLoading } = this.props;
|
const { tpmLoading } = this.props;
|
||||||
const user = this.props.current_user;
|
const user = this.props.current_user;
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
{ tpmLoading ? <div style={{ minHeight: '886px'}}></div> :
|
{ tpmLoading ? <div style={{ minHeight: '886px'}}></div> :
|
||||||
<TPMForklist
|
<TPMForklist
|
||||||
{...this.props}
|
{...this.props}
|
||||||
{...this.state}
|
{...this.state}
|
||||||
user={user}
|
user={user}
|
||||||
aboutFocus={this.props.aboutFocus}
|
aboutFocus={this.props.aboutFocus}
|
||||||
|
is_jupyter={this.props.is_jupyter}
|
||||||
>
|
>
|
||||||
</TPMForklist>
|
</TPMForklist>
|
||||||
}
|
}
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default TPMRanking_listContainer;
|
export default TPMRanking_listContainer;
|
||||||
|
@ -1,63 +1,64 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import { Redirect } from 'react-router';
|
import { Redirect } from 'react-router';
|
||||||
|
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import { CircularProgress } from 'material-ui/Progress';
|
import { CircularProgress } from 'material-ui/Progress';
|
||||||
|
|
||||||
import './TPMShixunDiscuss.css'
|
import './TPMShixunDiscuss.css'
|
||||||
|
|
||||||
import Shixunfork_list from './shixunchild/Shixunfork_list'
|
import Shixunfork_list from './shixunchild/Shixunfork_list'
|
||||||
import TPMRightSection from './component/TPMRightSection'
|
import TPMRightSection from './component/TPMRightSection'
|
||||||
import TPMNav from './component/TPMNav'
|
import TPMNav from './component/TPMNav'
|
||||||
|
|
||||||
class TPMForklist extends Component {
|
class TPMForklist extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props)
|
super(props)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
componentWillReceiveProps(newProps, newContext) {
|
componentWillReceiveProps(newProps, newContext) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { loadingContent, creator, shixun, myshixun, recommend_shixuns, current_user, watched,
|
const { loadingContent, creator, shixun, myshixun, recommend_shixuns, current_user, watched,
|
||||||
aboutFocus, user, match
|
aboutFocus, user, match
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<div className="tpmComment educontent clearfix mt30 mb80">
|
<div className="tpmComment educontent clearfix mt30 mb80">
|
||||||
|
|
||||||
<div className="with65 fl edu-back-white commentsDelegateParent" >
|
<div className="with65 fl edu-back-white commentsDelegateParent" >
|
||||||
<TPMNav
|
<TPMNav
|
||||||
match={match}
|
match={match}
|
||||||
user={user}
|
user={user}
|
||||||
shixun={shixun}
|
shixun={shixun}
|
||||||
{...this.props}
|
{...this.props}
|
||||||
></TPMNav>
|
is_jupyter={this.props.is_jupyter}
|
||||||
{ loadingContent ?
|
></TPMNav>
|
||||||
<CircularProgress size={40} thickness={3} style={{ marginLeft: 'auto', marginRight: 'auto', marginTop: '200px', display: 'block' }}/> :
|
{ loadingContent ?
|
||||||
|
<CircularProgress size={40} thickness={3} style={{ marginLeft: 'auto', marginRight: 'auto', marginTop: '200px', display: 'block' }}/> :
|
||||||
<Shixunfork_list/>
|
|
||||||
}
|
<Shixunfork_list/>
|
||||||
</div>
|
}
|
||||||
|
</div>
|
||||||
<div className="with35 fr pl20">
|
|
||||||
<TPMRightSection {...this.props}></TPMRightSection>
|
<div className="with35 fr pl20">
|
||||||
</div>
|
<TPMRightSection {...this.props}></TPMRightSection>
|
||||||
</div>
|
</div>
|
||||||
</React.Fragment>
|
</div>
|
||||||
|
</React.Fragment>
|
||||||
);
|
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
export default TPMForklist;
|
|
||||||
|
export default TPMForklist;
|
||||||
|
@ -1,74 +1,75 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import { Redirect } from 'react-router';
|
import { Redirect } from 'react-router';
|
||||||
|
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import { CircularProgress } from 'material-ui/Progress';
|
import { CircularProgress } from 'material-ui/Progress';
|
||||||
|
|
||||||
import './TPMShixunDiscuss.css'
|
import './TPMShixunDiscuss.css'
|
||||||
|
|
||||||
import Propaedeutics from './shixunchild/Propaedeutics/Propaedeu_tics'
|
import Propaedeutics from './shixunchild/Propaedeutics/Propaedeu_tics'
|
||||||
|
|
||||||
import TPMRightSection from './component/TPMRightSection'
|
import TPMRightSection from './component/TPMRightSection'
|
||||||
|
|
||||||
import TPMNav from './component/TPMNav'
|
import TPMNav from './component/TPMNav'
|
||||||
|
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
|
||||||
class TPMPropaedeutics extends Component {
|
class TPMPropaedeutics extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props)
|
super(props)
|
||||||
this.state = {
|
this.state = {
|
||||||
shixunId: undefined
|
shixunId: undefined
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
componentWillReceiveProps(newProps, newContext) {
|
componentWillReceiveProps(newProps, newContext) {
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { loadingContent, creator, shixun, myshixun, recommend_shixuns, current_user, watched,
|
const { loadingContent, creator, shixun, myshixun, recommend_shixuns, current_user, watched,
|
||||||
aboutFocus, user, match
|
aboutFocus, user, match
|
||||||
} = this.props;
|
} = this.props;
|
||||||
// <Comments
|
// <Comments
|
||||||
// {...this.props}
|
// {...this.props}
|
||||||
// user={_user}
|
// user={_user}
|
||||||
// onPaginationChange={this.onPaginationChange}
|
// onPaginationChange={this.onPaginationChange}
|
||||||
// ></Comments>
|
// ></Comments>
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<div className="tpmComment educontent clearfix mt30 mb80">
|
<div className="tpmComment educontent clearfix mt30 mb80">
|
||||||
|
|
||||||
<div className="with65 fl edu-back-white commentsDelegateParent" >
|
<div className="with65 fl edu-back-white commentsDelegateParent" >
|
||||||
<TPMNav
|
<TPMNav
|
||||||
match={match}
|
match={match}
|
||||||
user={user}
|
user={user}
|
||||||
shixun={shixun}
|
shixun={shixun}
|
||||||
{...this.state}
|
{...this.state}
|
||||||
{...this.props}
|
{...this.props}
|
||||||
/>
|
is_jupyter={this.props.is_jupyter}
|
||||||
|
/>
|
||||||
<Propaedeutics
|
|
||||||
{...this.props}
|
<Propaedeutics
|
||||||
{...this.state}
|
{...this.props}
|
||||||
/>
|
{...this.state}
|
||||||
|
/>
|
||||||
</div>
|
|
||||||
|
</div>
|
||||||
<div className="with35 fr pl20">
|
|
||||||
<TPMRightSection {...this.props}></TPMRightSection>
|
<div className="with35 fr pl20">
|
||||||
</div>
|
<TPMRightSection {...this.props}></TPMRightSection>
|
||||||
</div>
|
</div>
|
||||||
</React.Fragment>
|
</div>
|
||||||
|
</React.Fragment>
|
||||||
);
|
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
export default TPMPropaedeutics;
|
|
||||||
|
export default TPMPropaedeutics;
|
||||||
|
@ -1,39 +1,40 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import { Redirect } from 'react-router';
|
import { Redirect } from 'react-router';
|
||||||
|
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import TPMPropaedeutics from './TPMPropaedeutics'
|
import TPMPropaedeutics from './TPMPropaedeutics'
|
||||||
|
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
|
||||||
class TPMPropaedeuticsComponent extends Component {
|
class TPMPropaedeuticsComponent extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props)
|
super(props)
|
||||||
this.state = {
|
this.state = {
|
||||||
// tpmLoading: true,
|
// tpmLoading: true,
|
||||||
// creator: {
|
// creator: {
|
||||||
// owner_id: ''
|
// owner_id: ''
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { tpmLoading } = this.props;
|
const { tpmLoading } = this.props;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
{ tpmLoading ? <div style={{ minHeight: '886px'}}></div> :
|
{ tpmLoading ? <div style={{ minHeight: '886px'}}></div> :
|
||||||
<TPMPropaedeutics
|
<TPMPropaedeutics
|
||||||
{...this.props}
|
{...this.props}
|
||||||
>
|
is_jupyter={this.props.is_jupyter}
|
||||||
</TPMPropaedeutics>
|
>
|
||||||
}
|
</TPMPropaedeutics>
|
||||||
</React.Fragment>
|
}
|
||||||
|
</React.Fragment>
|
||||||
|
|
||||||
);
|
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
export default TPMPropaedeuticsComponent ;
|
|
||||||
|
export default TPMPropaedeuticsComponent ;
|
||||||
|
@ -1,59 +1,60 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import { Redirect } from 'react-router';
|
import { Redirect } from 'react-router';
|
||||||
|
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import { CircularProgress } from 'material-ui/Progress';
|
import { CircularProgress } from 'material-ui/Progress';
|
||||||
|
|
||||||
import './TPMShixunDiscuss.css'
|
import './TPMShixunDiscuss.css'
|
||||||
|
|
||||||
import Ranking_list from './shixunchild/Ranking_list/Ranking_list'
|
import Ranking_list from './shixunchild/Ranking_list/Ranking_list'
|
||||||
import TPMRightSection from './component/TPMRightSection'
|
import TPMRightSection from './component/TPMRightSection'
|
||||||
import TPMNav from './component/TPMNav'
|
import TPMNav from './component/TPMNav'
|
||||||
|
|
||||||
class TPMRanking_list extends Component {
|
class TPMRanking_list extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props)
|
super(props)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { loadingContent, creator, shixun, myshixun, recommend_shixuns, current_user, watched,
|
const { loadingContent, creator, shixun, myshixun, recommend_shixuns, current_user, watched,
|
||||||
aboutFocus, user, match
|
aboutFocus, user, match
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
// <Comments
|
// <Comments
|
||||||
// {...this.props}
|
// {...this.props}
|
||||||
// user={_user}
|
// user={_user}
|
||||||
// onPaginationChange={this.onPaginationChange}
|
// onPaginationChange={this.onPaginationChange}
|
||||||
// ></Comments>
|
// ></Comments>
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<div className="tpmComment educontent clearfix mt30 mb80">
|
<div className="tpmComment educontent clearfix mt30 mb80">
|
||||||
|
|
||||||
<div className="with65 fl edu-back-white commentsDelegateParent" >
|
<div className="with65 fl edu-back-white commentsDelegateParent" >
|
||||||
|
|
||||||
<TPMNav
|
<TPMNav
|
||||||
match={match}
|
match={match}
|
||||||
user={user}
|
user={user}
|
||||||
shixun={shixun}
|
shixun={shixun}
|
||||||
{...this.props}
|
{...this.props}
|
||||||
></TPMNav>
|
is_jupyter={this.props.is_jupyter}
|
||||||
|
></TPMNav>
|
||||||
<Ranking_list
|
|
||||||
{...this.props}
|
<Ranking_list
|
||||||
/>
|
{...this.props}
|
||||||
|
/>
|
||||||
</div>
|
|
||||||
|
</div>
|
||||||
<div className="with35 fr pl20">
|
|
||||||
<TPMRightSection {...this.props}></TPMRightSection>
|
<div className="with35 fr pl20">
|
||||||
</div>
|
<TPMRightSection {...this.props}></TPMRightSection>
|
||||||
</div>
|
</div>
|
||||||
</React.Fragment>
|
</div>
|
||||||
|
</React.Fragment>
|
||||||
);
|
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
export default TPMRanking_list;
|
|
||||||
|
export default TPMRanking_list;
|
||||||
|
@ -1,37 +1,40 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import { Redirect } from 'react-router';
|
import { Redirect } from 'react-router';
|
||||||
|
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import TPMRanking_list from './TPMRanking_list'
|
import TPMRanking_list from './TPMRanking_list'
|
||||||
|
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
import TPMNav from "./component/TPMNav";
|
||||||
class TPMRanking_listContainer extends Component {
|
|
||||||
constructor(props) {
|
class TPMRanking_listContainer extends Component {
|
||||||
super(props)
|
constructor(props) {
|
||||||
this.state = {
|
super(props)
|
||||||
}
|
this.state = {
|
||||||
}
|
}
|
||||||
|
}
|
||||||
render() {
|
|
||||||
const { tpmLoading } = this.props;
|
render() {
|
||||||
const user = this.props.current_user;
|
const { tpmLoading } = this.props;
|
||||||
|
const user = this.props.current_user;
|
||||||
return (
|
|
||||||
<React.Fragment>
|
return (
|
||||||
{ tpmLoading ? <div style={{ minHeight: '886px'}}></div> :
|
<React.Fragment>
|
||||||
<TPMRanking_list
|
{ tpmLoading ? <div style={{ minHeight: '886px'}}></div> :
|
||||||
{...this.props}
|
<TPMRanking_list
|
||||||
{...this.state}
|
{...this.props}
|
||||||
user={user}
|
{...this.state}
|
||||||
aboutFocus={this.props.aboutFocus}
|
user={user}
|
||||||
>
|
aboutFocus={this.props.aboutFocus}
|
||||||
</TPMRanking_list>
|
is_jupyter={this.props.is_jupyter}
|
||||||
}
|
|
||||||
</React.Fragment>
|
>
|
||||||
);
|
</TPMRanking_list>
|
||||||
}
|
}
|
||||||
}
|
</React.Fragment>
|
||||||
|
);
|
||||||
export default TPMRanking_listContainer;
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default TPMRanking_listContainer;
|
||||||
|
@ -1,58 +1,59 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import { Redirect } from 'react-router';
|
import { Redirect } from 'react-router';
|
||||||
|
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import { CircularProgress } from 'material-ui/Progress';
|
import { CircularProgress } from 'material-ui/Progress';
|
||||||
|
|
||||||
import './TPMShixunDiscuss.css'
|
import './TPMShixunDiscuss.css'
|
||||||
|
|
||||||
import Repository from './shixunchild/Repository/Repository'
|
import Repository from './shixunchild/Repository/Repository'
|
||||||
import TPMRightSection from './component/TPMRightSection'
|
import TPMRightSection from './component/TPMRightSection'
|
||||||
import TPMNav from './component/TPMNav'
|
import TPMNav from './component/TPMNav'
|
||||||
|
|
||||||
// import RepositoryChooseModal from './component/modal/RepositoryChooseModal'
|
// import RepositoryChooseModal from './component/modal/RepositoryChooseModal'
|
||||||
|
|
||||||
class TPMRepository extends Component {
|
class TPMRepository extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props)
|
super(props)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { loadingContent, creator, shixun, myshixun, recommend_shixuns, current_user, watched,
|
const { loadingContent, creator, shixun, myshixun, recommend_shixuns, current_user, watched,
|
||||||
aboutFocus, user, match, isContentWidth100
|
aboutFocus, user, match, isContentWidth100
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<div className="tpmComment educontent clearfix mt30 mb80">
|
<div className="tpmComment educontent clearfix mt30 mb80">
|
||||||
{/* 可能会影响到其他页面的样式,需要测试、协商 */}
|
{/* 可能会影响到其他页面的样式,需要测试、协商 */}
|
||||||
<div className={`${isContentWidth100 ? 'width100': 'with65'} fl edu-back-white`}
|
<div className={`${isContentWidth100 ? 'width100': 'with65'} fl edu-back-white`}
|
||||||
style={{background: 'transparent'}}>
|
style={{background: 'transparent'}}>
|
||||||
<TPMNav
|
<TPMNav
|
||||||
match={match}
|
match={match}
|
||||||
user={user}
|
user={user}
|
||||||
shixun={shixun}
|
shixun={shixun}
|
||||||
{...this.props}
|
{...this.props}
|
||||||
></TPMNav>
|
is_jupyter={this.props.is_jupyter}
|
||||||
{/* <RepositoryChooseModal {...this.props}></RepositoryChooseModal> */}
|
></TPMNav>
|
||||||
{ loadingContent ?
|
{/* <RepositoryChooseModal {...this.props}></RepositoryChooseModal> */}
|
||||||
<CircularProgress size={40} thickness={3} style={{ marginLeft: 'auto', marginRight: 'auto', marginTop: '200px', display: 'block' }}/> :
|
{ loadingContent ?
|
||||||
<Repository
|
<CircularProgress size={40} thickness={3} style={{ marginLeft: 'auto', marginRight: 'auto', marginTop: '200px', display: 'block' }}/> :
|
||||||
{...this.props}
|
<Repository
|
||||||
/>
|
{...this.props}
|
||||||
}
|
/>
|
||||||
</div>
|
}
|
||||||
|
</div>
|
||||||
{ !isContentWidth100 && <div className="with35 fr pl20">
|
|
||||||
<TPMRightSection {...this.props}></TPMRightSection>
|
{ !isContentWidth100 && <div className="with35 fr pl20">
|
||||||
</div>}
|
<TPMRightSection {...this.props}></TPMRightSection>
|
||||||
</div>
|
</div>}
|
||||||
</React.Fragment>
|
</div>
|
||||||
|
</React.Fragment>
|
||||||
);
|
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
export default TPMRepository;
|
|
||||||
|
export default TPMRepository;
|
||||||
|
@ -1,72 +1,73 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import { Redirect } from 'react-router';
|
import { Redirect } from 'react-router';
|
||||||
|
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import { CircularProgress } from 'material-ui/Progress';
|
import { CircularProgress } from 'material-ui/Progress';
|
||||||
|
|
||||||
import './TPMShixunDiscuss.css'
|
import './TPMShixunDiscuss.css'
|
||||||
|
|
||||||
import ShixunDiscuss from './shixunchild/ShixunDiscuss/ShixunDiscuss'
|
import ShixunDiscuss from './shixunchild/ShixunDiscuss/ShixunDiscuss'
|
||||||
import TPMRightSection from './component/TPMRightSection'
|
import TPMRightSection from './component/TPMRightSection'
|
||||||
import TPMNav from './component/TPMNav'
|
import TPMNav from './component/TPMNav'
|
||||||
|
|
||||||
import Comments from '../comment/Comments'
|
import Comments from '../comment/Comments'
|
||||||
import { commentHOC } from '../comment/CommentsHOC'
|
import { commentHOC } from '../comment/CommentsHOC'
|
||||||
|
|
||||||
class TPMShixunDiscuss extends Component {
|
class TPMShixunDiscuss extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props)
|
super(props)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
componentWillReceiveProps(newProps, newContext) {
|
componentWillReceiveProps(newProps, newContext) {
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
// TODO 加了HOC后 mount了两次
|
// TODO 加了HOC后 mount了两次
|
||||||
this.props.fetchCommentIfNotFetched &&
|
this.props.fetchCommentIfNotFetched &&
|
||||||
this.props.fetchCommentIfNotFetched();
|
this.props.fetchCommentIfNotFetched();
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { loadingContent, creator, shixun, myshixun, recommend_shixuns, current_user, watched,
|
const { loadingContent, creator, shixun, myshixun, recommend_shixuns, current_user, watched,
|
||||||
aboutFocus, user, match
|
aboutFocus, user, match
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<div className="tpmComment educontent clearfix mt30 mb80">
|
<div className="tpmComment educontent clearfix mt30 mb80">
|
||||||
|
|
||||||
<div className="with65 fl edu-back-white commentsDelegateParent" >
|
<div className="with65 fl edu-back-white commentsDelegateParent" >
|
||||||
<TPMNav
|
<TPMNav
|
||||||
match={match}
|
match={match}
|
||||||
user={user}
|
user={user}
|
||||||
shixun={shixun}
|
shixun={shixun}
|
||||||
{...this.props}
|
{...this.props}
|
||||||
></TPMNav>
|
is_jupyter={this.props.is_jupyter}
|
||||||
{ loadingContent ?
|
></TPMNav>
|
||||||
<CircularProgress size={40} thickness={3} style={{ marginLeft: 'auto', marginRight: 'auto', marginTop: '200px', display: 'block' }}/> :
|
{ loadingContent ?
|
||||||
<Comments
|
<CircularProgress size={40} thickness={3} style={{ marginLeft: 'auto', marginRight: 'auto', marginTop: '200px', display: 'block' }}/> :
|
||||||
{...this.props}
|
<Comments
|
||||||
user={user}
|
{...this.props}
|
||||||
showHiddenButton={true}
|
user={user}
|
||||||
></Comments>
|
showHiddenButton={true}
|
||||||
// onPaginationChange={this.onPaginationChange}
|
></Comments>
|
||||||
// <ShixunDiscuss
|
// onPaginationChange={this.onPaginationChange}
|
||||||
// {...this.props}
|
// <ShixunDiscuss
|
||||||
// />
|
// {...this.props}
|
||||||
}
|
// />
|
||||||
</div>
|
}
|
||||||
|
</div>
|
||||||
<div className="with35 fr pl20">
|
|
||||||
<TPMRightSection {...this.props}></TPMRightSection>
|
<div className="with35 fr pl20">
|
||||||
</div>
|
<TPMRightSection {...this.props}></TPMRightSection>
|
||||||
</div>
|
</div>
|
||||||
</React.Fragment>
|
</div>
|
||||||
|
</React.Fragment>
|
||||||
);
|
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
export default commentHOC ( TPMShixunDiscuss );
|
|
||||||
|
export default commentHOC ( TPMShixunDiscuss );
|
||||||
|
@ -1,45 +1,45 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import { Redirect } from 'react-router';
|
import { Redirect } from 'react-router';
|
||||||
|
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import TPMShixunDiscuss from './TPMShixunDiscuss'
|
import TPMShixunDiscuss from './TPMShixunDiscuss'
|
||||||
|
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
|
||||||
class TPMShixunDiscussContainer extends Component {
|
class TPMShixunDiscussContainer extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props)
|
super(props)
|
||||||
this.state = {
|
this.state = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
componentWillReceiveProps(newProps, newContext) {
|
componentWillReceiveProps(newProps, newContext) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { tpmLoading } = this.props;
|
const { tpmLoading } = this.props;
|
||||||
const user = this.props.current_user;
|
const user = this.props.current_user;
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
{ tpmLoading ? <div style={{ minHeight: '886px'}}></div> :
|
{ tpmLoading ? <div style={{ minHeight: '886px'}}></div> :
|
||||||
<TPMShixunDiscuss
|
<TPMShixunDiscuss
|
||||||
{...this.props}
|
{...this.props}
|
||||||
{...this.state}
|
{...this.state}
|
||||||
user={user}
|
user={user}
|
||||||
aboutFocus={this.props.aboutFocus}
|
aboutFocus={this.props.aboutFocus}
|
||||||
|
is_jupyter={this.props.is_jupyter}
|
||||||
>
|
>
|
||||||
</TPMShixunDiscuss>
|
</TPMShixunDiscuss>
|
||||||
}
|
}
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default TPMShixunDiscussContainer;
|
export default TPMShixunDiscussContainer;
|
||||||
|
@ -1,145 +1,146 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
|
|
||||||
import { Redirect } from 'react-router';
|
import { Redirect } from 'react-router';
|
||||||
|
|
||||||
import { BrowserRouter as Router, Route, Link, Switch } from "react-router-dom";
|
import { BrowserRouter as Router, Route, Link, Switch } from "react-router-dom";
|
||||||
|
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
|
||||||
import TPMNav from '../../component/TPMNav'
|
import TPMNav from '../../component/TPMNav'
|
||||||
import TPMRightSection from '../../component/TPMRightSection'
|
import TPMRightSection from '../../component/TPMRightSection'
|
||||||
import { CircularProgress } from 'material-ui/Progress';
|
import { CircularProgress } from 'material-ui/Progress';
|
||||||
|
|
||||||
import { trace_collapse } from 'educoder'
|
import { trace_collapse } from 'educoder'
|
||||||
const $ = window.$;
|
const $ = window.$;
|
||||||
|
|
||||||
// 点击按钮复制功能
|
// 点击按钮复制功能
|
||||||
function jsCopy(){
|
function jsCopy(){
|
||||||
var e = document.getElementById("copy_rep_content");
|
var e = document.getElementById("copy_rep_content");
|
||||||
e.select();
|
e.select();
|
||||||
document.execCommand("Copy");
|
document.execCommand("Copy");
|
||||||
}
|
}
|
||||||
class TPMRepositoryCommits extends Component {
|
class TPMRepositoryCommits extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props)
|
super(props)
|
||||||
this.state = {
|
this.state = {
|
||||||
RepositoryList: undefined,
|
RepositoryList: undefined,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
let id = this.props.match.params.shixunId;
|
let id = this.props.match.params.shixunId;
|
||||||
|
|
||||||
let collaborators=`/shixuns/`+id+`/commits.json`;
|
let collaborators=`/shixuns/`+id+`/commits.json`;
|
||||||
axios.post(collaborators, {
|
axios.post(collaborators, {
|
||||||
secret_repository: this.props.secret_repository_tab
|
secret_repository: this.props.secret_repository_tab
|
||||||
}).then((response)=> {
|
}).then((response)=> {
|
||||||
|
|
||||||
if(response.status===200){
|
if(response.status===200){
|
||||||
this.setState({
|
this.setState({
|
||||||
RepositoryList: response.data
|
RepositoryList: response.data
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
trace_collapse('repo commits res', response.data)
|
trace_collapse('repo commits res', response.data)
|
||||||
|
|
||||||
}).catch((error)=>{
|
}).catch((error)=>{
|
||||||
console.log(error)
|
console.log(error)
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
render() {
|
render() {
|
||||||
const { loadingContent, creator, shixun, myshixun, recommend_shixuns, current_user, watched,
|
const { loadingContent, creator, shixun, myshixun, recommend_shixuns, current_user, watched,
|
||||||
aboutFocus, user, match
|
aboutFocus, user, match
|
||||||
} = this.props;
|
} = this.props;
|
||||||
let { RepositoryList } = this.state;
|
let { RepositoryList } = this.state;
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
|
|
||||||
<div className="tpmComment educontent clearfix mt30 mb80">
|
<div className="tpmComment educontent clearfix mt30 mb80">
|
||||||
{/* 可能会影响到其他页面的样式,需要测试、协商 */}
|
{/* 可能会影响到其他页面的样式,需要测试、协商 */}
|
||||||
<div className="with65 fl edu-back-white commentsDelegateParent"
|
<div className="with65 fl edu-back-white commentsDelegateParent"
|
||||||
style={{background: 'transparent'}}>
|
style={{background: 'transparent'}}>
|
||||||
<TPMNav
|
<TPMNav
|
||||||
match={match}
|
match={match}
|
||||||
user={user}
|
user={user}
|
||||||
shixun={shixun}
|
shixun={shixun}
|
||||||
{...this.props}
|
{...this.props}
|
||||||
></TPMNav>
|
is_jupyter={this.props.is_jupyter}
|
||||||
{ loadingContent ?
|
></TPMNav>
|
||||||
<CircularProgress size={40} thickness={3}
|
{ loadingContent ?
|
||||||
style={{ marginLeft: 'auto', marginRight: 'auto', marginTop: '200px', display: 'block' }}/>
|
<CircularProgress size={40} thickness={3}
|
||||||
:
|
style={{ marginLeft: 'auto', marginRight: 'auto', marginTop: '200px', display: 'block' }}/>
|
||||||
|
:
|
||||||
<div className="" >
|
|
||||||
<div className="edu-back-white font-16 mb10 clearfix padding20">
|
<div className="" >
|
||||||
<span className="fl"><i className="iconfont icon-tijiaojilu mr5"></i>
|
<div className="edu-back-white font-16 mb10 clearfix padding20">
|
||||||
提交记录
|
<span className="fl"><i className="iconfont icon-tijiaojilu mr5"></i>
|
||||||
</span>
|
提交记录
|
||||||
{/* 35 */}
|
</span>
|
||||||
<span className="color-grey-9 fr">
|
{/* 35 */}
|
||||||
<Link to={`/shixuns/${match.params.shixunId}/repository/${match.params.repoId}`}
|
<span className="color-grey-9 fr">
|
||||||
className="font-14 color-grey-9">返回</Link>
|
<Link to={`/shixuns/${match.params.shixunId}/repository/${match.params.repoId}`}
|
||||||
</span>
|
className="font-14 color-grey-9">返回</Link>
|
||||||
</div>
|
</span>
|
||||||
|
</div>
|
||||||
<style>
|
|
||||||
{`
|
<style>
|
||||||
a.pullreques_name:hover {
|
{`
|
||||||
color: #666 !important
|
a.pullreques_name:hover {
|
||||||
}
|
color: #666 !important
|
||||||
`}
|
}
|
||||||
</style>
|
`}
|
||||||
<div className="edu-back-white font-16 mb10 clearfix padding20">
|
</style>
|
||||||
<ul className="pullreques_pull_list">
|
<div className="edu-back-white font-16 mb10 clearfix padding20">
|
||||||
{ RepositoryList === undefined ? "" : RepositoryList.commits.map( (item, key)=>{
|
<ul className="pullreques_pull_list">
|
||||||
return (
|
{ RepositoryList === undefined ? "" : RepositoryList.commits.map( (item, key)=>{
|
||||||
<li className="clear" key={ key }>
|
return (
|
||||||
<a
|
<li className="clear" key={ key }>
|
||||||
style={{ cursor: 'inherit' }}
|
<a
|
||||||
className="fl color-grey-6 font-16 pullreques_name task-hide"
|
style={{ cursor: 'inherit' }}
|
||||||
target="_blank">{item.email}</a>
|
className="fl color-grey-6 font-16 pullreques_name task-hide"
|
||||||
<p className="pullreques_pull_txt ml10 fl" style={{lineHeight: '32px'}}>
|
target="_blank">{item.email}</a>
|
||||||
{item.title}
|
<p className="pullreques_pull_txt ml10 fl" style={{lineHeight: '32px'}}>
|
||||||
</p>
|
{item.title}
|
||||||
<a style={{ cursor: 'inherit' }}
|
</p>
|
||||||
className="fr mr15 color-blue">{item.time}</a>
|
<a style={{ cursor: 'inherit' }}
|
||||||
|
className="fr mr15 color-blue">{item.time}</a>
|
||||||
<div className="cl"></div>
|
|
||||||
</li>)
|
<div className="cl"></div>
|
||||||
})
|
</li>)
|
||||||
}
|
})
|
||||||
</ul>
|
}
|
||||||
</div>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
}
|
</div>
|
||||||
</div>
|
}
|
||||||
|
</div>
|
||||||
<div className="with35 fr pl20">
|
|
||||||
<TPMRightSection {...this.props}></TPMRightSection>
|
<div className="with35 fr pl20">
|
||||||
</div>
|
<TPMRightSection {...this.props}></TPMRightSection>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</React.Fragment>
|
|
||||||
|
</React.Fragment>
|
||||||
);
|
|
||||||
}
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/**
|
|
||||||
{ RepositoryList === undefined ? "" : RepositoryList.commits.map( (item, key)=>{
|
/**
|
||||||
// {"email":"李暾","title":"2\n","id":"80cb6fc55a14bdd64a9c99913f416966238ed3de","time":"49年前"}
|
{ RepositoryList === undefined ? "" : RepositoryList.commits.map( (item, key)=>{
|
||||||
return (
|
// {"email":"李暾","title":"2\n","id":"80cb6fc55a14bdd64a9c99913f416966238ed3de","time":"49年前"}
|
||||||
<div>
|
return (
|
||||||
<div>{item.email}</div>
|
<div>
|
||||||
<div>{item.title}</div>
|
<div>{item.email}</div>
|
||||||
<div>{item.id}</div>
|
<div>{item.title}</div>
|
||||||
<div>{item.time}</div>
|
<div>{item.id}</div>
|
||||||
</div>
|
<div>{item.time}</div>
|
||||||
)
|
</div>
|
||||||
})
|
)
|
||||||
*/
|
})
|
||||||
export default TPMRepositoryCommits;
|
*/
|
||||||
|
export default TPMRepositoryCommits;
|
||||||
|
Loading…
Reference in new issue