|
|
|
@ -224,12 +224,15 @@ class MainContentContainer extends Component {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
componentDidUpdate(prevProps, prevState, snapshot) {
|
|
|
|
|
const { game } = this.props
|
|
|
|
|
const { game, challenge } = this.props
|
|
|
|
|
|
|
|
|
|
if (game && prevProps.game
|
|
|
|
|
&& prevProps.game.identifier !== game.identifier) {
|
|
|
|
|
// 切换关卡时,停止轮训
|
|
|
|
|
this.oldGameIdentifier = prevProps.game.identifier;
|
|
|
|
|
this.doFileUpdateRequestOnCodeMirrorBlur(prevProps)
|
|
|
|
|
} else if (challenge && (challenge.pathIndex || prevProps.challenge.pathIndex) && challenge.pathIndex != prevProps.challenge.pathIndex) {
|
|
|
|
|
this.doFileUpdateRequestOnCodeMirrorBlur(prevProps)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -386,8 +389,8 @@ class MainContentContainer extends Component {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
doFileUpdateRequestOnCodeMirrorBlur = () => {
|
|
|
|
|
var fileUpdatePromise = this.doFileUpdateRequest(true)
|
|
|
|
|
doFileUpdateRequestOnCodeMirrorBlur = (props) => {
|
|
|
|
|
var fileUpdatePromise = this.doFileUpdateRequest(true, undefined, props)
|
|
|
|
|
if (fileUpdatePromise) {
|
|
|
|
|
fileUpdatePromise.then((resData) => {
|
|
|
|
|
if (resData.status === -1) { // 保存文件出现异常
|
|
|
|
@ -496,7 +499,8 @@ class MainContentContainer extends Component {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// forTest true 是评测时触发的file_update
|
|
|
|
|
doFileUpdateRequest(checkIfCodeChanged, forTest) {
|
|
|
|
|
doFileUpdateRequest(checkIfCodeChanged, forTest, props) {
|
|
|
|
|
const _props = props || this.props;
|
|
|
|
|
const { codeStatus } = this.state;
|
|
|
|
|
if (!forTest && codeStatus !== UPDATED) { // 已修改状态才能保存
|
|
|
|
|
return;
|
|
|
|
@ -521,7 +525,7 @@ class MainContentContainer extends Component {
|
|
|
|
|
})
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
const { challenge, output_sets, onRunCodeTestFinish, myshixun } = this.props
|
|
|
|
|
const { challenge, output_sets, onRunCodeTestFinish, myshixun } = _props
|
|
|
|
|
// var url = `${locationPath}/file_update?path=${encodeURIComponent(challenge.path)}`
|
|
|
|
|
var url = `/myshixuns/${myshixun.identifier}/update_file.json`
|
|
|
|
|
|
|
|
|
|