Skip to content

Commit

Permalink
Fix submission loading error
Browse files Browse the repository at this point in the history
  • Loading branch information
SemaiCZE committed Nov 16, 2017
1 parent ae88f7a commit 5150502
Show file tree
Hide file tree
Showing 9 changed files with 55 additions and 105 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.activeRow {
background-color: #eee;
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ import {
} from 'react-intl';
import { Table } from 'react-bootstrap';
import classnames from 'classnames';

import AssignmentStatusIcon from '../../Assignments/Assignment/AssignmentStatusIcon';
import './EvaluationTable.css';

const EvaluationTable = ({ evaluations, renderButtons }) =>
const EvaluationTable = ({ evaluations, renderButtons, selectedRowId = '' }) =>
<Table>
<thead>
<tr>
Expand Down Expand Up @@ -40,7 +40,7 @@ const EvaluationTable = ({ evaluations, renderButtons }) =>
return b.evaluation.evaluatedAt - a.evaluation.evaluatedAt;
})
.map(e =>
<tr key={e.id}>
<tr key={e.id} className={selectedRowId === e.id ? 'activeRow' : ''}>
<td>
<AssignmentStatusIcon
id={e.id}
Expand Down Expand Up @@ -92,7 +92,8 @@ const EvaluationTable = ({ evaluations, renderButtons }) =>

EvaluationTable.propTypes = {
evaluations: PropTypes.array.isRequired,
renderButtons: PropTypes.func
renderButtons: PropTypes.func,
selectedRowId: PropTypes.string
};

export default EvaluationTable;
24 changes: 14 additions & 10 deletions src/components/Submissions/SubmissionDetail/SubmissionDetail.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ import BonusPointsContainer from '../../../containers/BonusPointsContainer';
import DownloadResultArchiveContainer from '../../../containers/DownloadResultArchiveContainer';
import CommentThreadContainer from '../../../containers/CommentThreadContainer';
import SourceCodeViewerContainer from '../../../containers/SourceCodeViewerContainer';
import SubmissionEvaluationsContainer from '../../../containers/SubmissionEvaluationsContainer';
import SubmissionEvaluations from '../SubmissionEvaluations';
import ResourceRenderer from '../../helpers/ResourceRenderer';

import EvaluationDetail from '../EvaluationDetail';
import CompilationLogs from '../CompilationLogs';
Expand All @@ -34,8 +35,7 @@ class SubmissionDetail extends Component {
maxPoints,
bonusPoints,
accepted,
runtimeEnvironmentId,
submissions
runtimeEnvironmentId
},
assignment,
isSupervisor,
Expand Down Expand Up @@ -117,13 +117,17 @@ class SubmissionDetail extends Component {
{isSupervisor &&
<Row>
<Col lg={12}>
<SubmissionEvaluationsContainer
submissionId={id}
submission={{ submissions }}
assignmentId={assignment.id}
activeSubmissionId={activeSubmissionId}
onSelect={id => this.setState({ activeSubmissionId: id })}
/>
<ResourceRenderer resource={evaluations.toArray()}>
{(...evaluations) =>
<SubmissionEvaluations
submissionId={id}
evaluations={evaluations}
assignmentId={assignment.id}
activeSubmissionId={activeSubmissionId}
onSelect={id =>
this.setState({ activeSubmissionId: id })}
/>}
</ResourceRenderer>
</Col>
</Row>}
</Col>}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,14 @@ const SubmissionEvaluations = ({
>
<EvaluationTable
evaluations={evaluations}
selectedRowId={activeSubmissionId}
renderButtons={id =>
<td className="text-right">
{id === activeSubmissionId
? <Button bsStyle="success" bsSize="xs" disabled>
<FormattedMessage
id="app.submissionEvaluation.active"
defaultMessage="Active"
id="app.submissionEvaluation.selected"
defaultMessage="Selected"
/>
</Button>
: <Button
Expand Down
39 changes: 26 additions & 13 deletions src/components/buttons/ResubmitSolution/ResubmitSolution.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,36 @@ import PropTypes from 'prop-types';
import { FormattedMessage } from 'react-intl';
import Icon from 'react-fontawesome';
import Button from '../../widgets/FlatButton';
import Confirm from '../../forms/Confirm';

const ResubmitSolution = ({ resubmit, isDebug }) =>
<Button bsStyle="success" onClick={() => resubmit(isDebug)}>
<Icon name="mail-forward" />{' '}
{isDebug &&
const ResubmitSolution = ({ id, resubmit, isDebug }) =>
<Confirm
id={id}
onConfirmed={() => resubmit(isDebug)}
question={
<FormattedMessage
id="app.resubmitSolution.resubmitDebug"
defaultMessage="Resubmit (debug mode)"
/>}
{!isDebug &&
<FormattedMessage
id="app.resubmitSolution.resubmitNondebug"
defaultMessage="Resubmit (normal mode)"
/>}
</Button>;
id="app.resubmitSolution.confirm"
defaultMessage="Are you sure you want to resubmit this solution?"
/>
}
>
<Button bsStyle={isDebug ? 'danger' : 'success'}>
<Icon name="mail-forward" />{' '}
{isDebug &&
<FormattedMessage
id="app.resubmitSolution.resubmitDebug"
defaultMessage="Resubmit (debug mode)"
/>}
{!isDebug &&
<FormattedMessage
id="app.resubmitSolution.resubmitNondebug"
defaultMessage="Resubmit (normal mode)"
/>}
</Button>
</Confirm>;

ResubmitSolution.propTypes = {
id: PropTypes.string.isRequired,
resubmit: PropTypes.func.isRequired,
isDebug: PropTypes.bool.isRequired
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const ResubmitSolutionContainer = ({
}) => {
return (
<span>
<ResubmitSolution resubmit={resubmit} isDebug={isDebug} />
<ResubmitSolution id={id} resubmit={resubmit} isDebug={isDebug} />
<EvaluationProgressContainer
isOpen={isProcessing}
monitor={monitor}
Expand Down

This file was deleted.

1 change: 0 additions & 1 deletion src/containers/SubmissionEvaluationsContainer/index.js

This file was deleted.

7 changes: 3 additions & 4 deletions src/pages/Submission/Submission.js
Original file line number Diff line number Diff line change
Expand Up @@ -121,15 +121,14 @@ class Submission extends Component {
<ResubmitSolutionContainer
id={submission.id}
assignmentId={assignment.id}
isDebug={true}
isDebug={false}
/>
<ResubmitSolutionContainer
id={submission.id}
assignmentId={assignment.id}
isDebug={false}
isDebug={true}
/>
</p>}
{console.log(fetchStatus)}
<FetchManyResourceRenderer fetchManyStatus={fetchStatus}>
{() =>
<SubmissionDetail
Expand Down Expand Up @@ -157,7 +156,7 @@ Submission.propTypes = {
loadAsync: PropTypes.func.isRequired,
isSupervisorOrMore: PropTypes.func.isRequired,
evaluations: PropTypes.object,
fetchStatus: PropTypes.string.isRequired
fetchStatus: PropTypes.string
};

export default connect(
Expand Down

0 comments on commit 5150502

Please sign in to comment.