diff --git a/src/components/Gradebook/index.jsx b/src/components/Gradebook/index.jsx index 93aedf5..ca972a4 100644 --- a/src/components/Gradebook/index.jsx +++ b/src/components/Gradebook/index.jsx @@ -78,10 +78,10 @@ export default class Gradebook extends React.Component { ); let adjustedGradePossible = ''; - if (subsection.attempted) { - adjustedGradePossible = ` / ${subsection.score_possible}`; + adjustedGradePossible = subsection.score_possible; } + this.setState({ modalAssignmentName: `${subsection.subsection_name}`, modalOpen: true, @@ -149,14 +149,20 @@ export default class Gradebook extends React.Component { this.props.selectedTrack, ); + this.closeAssignmentModal(); + } + + closeAssignmentModal = () => { + this.props.doneViewingAssignment(); this.setState({ + adjustedGradePossible: '', + adjustedGradeValue: '', modalOpen: false, + reasonForChange: '', updateModuleId: null, updateUserId: null, - reasonForChange: '', - adjustedGradeValue: '', }); - } + }; handleAssignmentFilterChange = (assignment) => { const selectedFilterOption = this.props.assignmentFilterOptions.find(assig => @@ -713,7 +719,12 @@ export default class Gradebook extends React.Component { name="adjustedGradeValue" value={this.state.adjustedGradeValue} onChange={value => this.onChange(value)} - /> {this.state.adjustedGradePossible} + /> + {(this.state.adjustedGradePossible + || this.props.gradeOriginalPossibleGraded) + && ' / '} + {this.state.adjustedGradePossible + || this.props.gradeOriginalPossibleGraded} ), }]} />)} @@ -732,13 +743,7 @@ export default class Gradebook extends React.Component { Save Grade , ]} - onClose={() => this.setState({ - modalOpen: false, - adjustedGradeValue: 0, - updateModuleId: null, - updateUserId: null, - reasonForChange: '', - })} + onClose={this.closeAssignmentModal} /> {this.props.showBulkManagement && ( @@ -948,6 +953,7 @@ Gradebook.defaultProps = { gradeOverrides: [], gradeOverrideCurrentEarnedGradedOverride: null, gradeOriginalEarnedGraded: null, + gradeOriginalPossibleGraded: null, location: { search: '', }, @@ -1009,6 +1015,8 @@ Gradebook.propTypes = { })), gradeOverrideCurrentEarnedGradedOverride: PropTypes.number, gradeOriginalEarnedGraded: PropTypes.number, + gradeOriginalPossibleGraded: PropTypes.number, + doneViewingAssignment: PropTypes.func.isRequired, headings: PropTypes.arrayOf(PropTypes.string).isRequired, history: PropTypes.shape({ push: PropTypes.func, diff --git a/src/containers/GradebookPage/index.jsx b/src/containers/GradebookPage/index.jsx index e68520c..b746fce 100644 --- a/src/containers/GradebookPage/index.jsx +++ b/src/containers/GradebookPage/index.jsx @@ -3,6 +3,7 @@ import { connect } from 'react-redux'; import Gradebook from '../../components/Gradebook'; import { closeBanner, + doneViewingAssignment, fetchGradeOverrideHistory, fetchGrades, fetchMatchingUserGrades, @@ -51,6 +52,7 @@ const mapStateToProps = (state, ownProps) => ( gradeOverrideCurrentPossibleGradedOverride: state.grades.gradeOverrideCurrentPossibleGradedOverride, gradeOriginalEarnedGraded: state.grades.gradeOriginalEarnedGraded, + gradeOriginalPossibleGraded: state.grades.gradeOriginalPossibleGraded, headings: getHeadings(state), tracks: state.tracks.results, cohorts: state.cohorts.results, @@ -114,6 +116,7 @@ const mapStateToProps = (state, ownProps) => ( ); const mapDispatchToProps = { + doneViewingAssignment, getUserGrades: fetchGrades, fetchGradeOverrideHistory, searchForUser: fetchMatchingUserGrades, diff --git a/src/data/actions/grades.js b/src/data/actions/grades.js index 0e5523a..d404329 100644 --- a/src/data/actions/grades.js +++ b/src/data/actions/grades.js @@ -16,6 +16,7 @@ import { GOT_BULK_HISTORY, BULK_HISTORY_ERR, GOT_GRADE_OVERRIDE_HISTORY, + DONE_VIEWING_ASSIGNMENT, ERROR_FETCHING_GRADE_OVERRIDE_HISTORY, UPLOAD_OVERRIDE, UPLOAD_OVERRIDE_ERROR, @@ -174,6 +175,9 @@ const formatGradeOverrideForDisplay = historyArray => historyArray.map(item => ( adjustedGrade: item.earned_graded_override, })); +const doneViewingAssignment = () => dispatch => dispatch({ + type: DONE_VIEWING_ASSIGNMENT, +}); const fetchGradeOverrideHistory = (subsectionId, userId) => ( dispatch => LmsApiService.fetchGradeOverrideHistory(subsectionId, userId) @@ -319,6 +323,7 @@ export { closeBanner, submitFileUploadFormData, fetchBulkUpgradeHistory, + doneViewingAssignment, fetchGradeOverrideHistory, updateGradesIfAssignmentGradeFiltersSet, }; diff --git a/src/data/constants/actionTypes/grades.js b/src/data/constants/actionTypes/grades.js index 345ac89..b8c91c3 100644 --- a/src/data/constants/actionTypes/grades.js +++ b/src/data/constants/actionTypes/grades.js @@ -2,6 +2,7 @@ const STARTED_FETCHING_GRADES = 'STARTED_FETCHING_GRADES'; const FINISHED_FETCHING_GRADES = 'FINISHED_FETCHING_GRADES'; const ERROR_FETCHING_GRADES = 'ERROR_FETCHING_GRADES'; const GOT_GRADES = 'GOT_GRADES'; +const DONE_VIEWING_ASSIGNMENT = 'DONE_VIEWING_ASSIGNMENT'; const GOT_GRADE_OVERRIDE_HISTORY = 'GOT_GRADE_OVERRIDE_HISTORY'; const ERROR_FETCHING_GRADE_OVERRIDE_HISTORY = 'ERROR_FETCHING_GRADE_OVERRIDE_HISTORY'; @@ -43,6 +44,7 @@ export { UPLOAD_ERR, GOT_BULK_HISTORY, BULK_HISTORY_ERR, + DONE_VIEWING_ASSIGNMENT, GOT_GRADE_OVERRIDE_HISTORY, ERROR_FETCHING_GRADE_OVERRIDE_HISTORY, FILTER_SELECTED, diff --git a/src/data/reducers/grades.js b/src/data/reducers/grades.js index 5668680..4fdcf0e 100644 --- a/src/data/reducers/grades.js +++ b/src/data/reducers/grades.js @@ -10,6 +10,7 @@ import { UPLOAD_COMPLETE, UPLOAD_ERR, GOT_BULK_HISTORY, + DONE_VIEWING_ASSIGNMENT, GOT_GRADE_OVERRIDE_HISTORY, ERROR_FETCHING_GRADE_OVERRIDE_HISTORY, } from '../constants/actionTypes/grades'; @@ -55,6 +56,21 @@ const grades = (state = initialState, action) => { totalUsersCount: action.totalUsersCount, filteredUsersCount: action.filteredUsersCount, }; + case DONE_VIEWING_ASSIGNMENT: { + const { + gradeOverrideHistoryResults, + gradeOverrideCurrentEarnedAllOverride, + gradeOverrideCurrentPossibleAllOverride, + gradeOverrideCurrentEarnedGradedOverride, + gradeOverrideCurrentPossibleGradedOverride, + gradeOriginalEarnedAll, + gradeOriginalPossibleAll, + gradeOriginalEarnedGraded, + gradeOriginalPossibleGraded, + ...rest + } = state; + return rest; + } case GOT_GRADE_OVERRIDE_HISTORY: return { ...state,