import React, { Component } from 'react'; import ActionView from './main/ActionView'; import LeftViewContainer from './main/LeftViewContainer'; import CodeRepositoryViewContainer from './main/CodeRepositoryViewContainer'; import CodeEvaluateView from './main/CodeEvaluateView'; import ChooseRepositoryView from './main/ChooseRepositoryView'; import ChooseEvaluateView from './main/ChooseEvaluateView' import { CircularProgress } from 'material-ui/Progress'; import Button from 'material-ui/Button'; import VNCContainer from './VNCContainer' import { connect } from 'react-redux'; import './tpiPage.css'; import './tpiPageForMobile.css'; import actions from '../../redux/actions'; const $ = window.$; class MainContent extends Component { constructor(props) { super(props) this.chooseQ = React.createRef(); } chooseQfun = (Ref) => { this.chooseQ = Ref; } componentDidMount() { // ios下图标位置有问题 this.props.mainContentfun(this) setTimeout(()=>{ if (window.$('.b-label>.resize-helper').position().top < 100) { window.$('.b-label>.resize-helper').css('top', '200px') } }, 4000) $("body").css("padding-right","0px!important") } onResizeButtonClick = () => { // console.log('onResizeButtonClick') } onRunCodeTest = () => { const {onRunCodeTest, isCollpaseTsetCase} = this.props; const vncContainer = this.refs['vncContainer'] if (vncContainer) { vncContainer.showCodeEvaluate && vncContainer.showCodeEvaluate() } // console.log('1111111111'); // this.props.onRunCodeTest(); isCollpaseTsetCase(true); onRunCodeTest(); } hideCodeEvaluate = () => { const vncContainer = this.refs['vncContainer'] if (vncContainer) { // console.log('点击的关闭按钮') vncContainer.onBottomDrawerClose && vncContainer.onBottomDrawerClose() } } render() { const onRunCodeTest = this.onRunCodeTest const { challenge, output_sets, latest_output, record, st, readRepoTimeout, onTestSetHeaderClick, loading, codeLoading, shixun, vnc_url} = this.props // if (output_sets && output_sets.test_sets) { // const test_sets_array = JSON.parse("[" + output_sets.test_sets + "]"); // output_sets.test_sets_array = test_sets_array; // } var games_repository_contents_style; if (st===1) { games_repository_contents_style = {overflow: 'auto', height: '445px', backgroundColor: '#111C24'} } else { games_repository_contents_style = {overflow: 'hidden', height: '445px'} } const newProps = Object.assign({}, this.props); delete newProps.testSetsExpandedArray const showIframeContent = shixun && shixun.vnc == true return (
{/* style={{width: '694px'}} */} {/* 左侧任务说明等功能的区域 */}
{showIframeContent && vnc_url &&
}
{/* 旧版本、评测等待提示--更新提示块*/} {/*
*/} { showIframeContent && vnc_url ?
} >
:
{/* 选择题或编程题 */} {/* readRepoTimeout 如果读取代码超时,显示重新加载按钮,重新拉取代码 */} { st === 0 ?
正在加载中,请稍后...
: this.chooseQfun(ref)}{ ...this.props }> } {/* */}
{/*
*/}
{/* 测试结果、评测信息区域 */} { loading ? : st === 0 ? : }
}
); } } const mapStateToProps = (state) => ({}); const mapDispatchToProps = (dispatch) => ({ isCollpaseTsetCase: (flag) => dispatch(actions.isCollpaseTsetCase(flag)) }); export default connect( mapStateToProps, mapDispatchToProps )(MainContent);