-
- {'<< '} Back to Dashboard
-
-
Gradebook
-
{this.props.courseId}
- {this.props.areGradesFrozen
- && (
-
- The grades for this course are now frozen. Editing of grades is no longer allowed.
-
- )}
- {(this.props.canUserViewGradebook === false)
- && (
-
- You are not authorized to view the gradebook for this course.
-
- )}
+
- {this.props.showSpinner && (
-
-
-
- )}
+ {this.spinnerIcon()}
Step 2: View or Modify Individual Grades
- {this.props.totalUsersCount
- ? (
-
- Showing
- {this.props.filteredUsersCount}
- of
- {this.props.totalUsersCount}
- total learners
-
- )
- : null}
+ {this.usersLabel()}
-
- {this.props.showBulkManagement && (
-
- )}
+ {this.scoreViewInput()}
+
{PageButtons(this.props)}
@@ -244,15 +227,11 @@ export default class Gradebook extends React.Component {
updateUserId={this.state.updateUserId}
updateUserName={this.state.updateUserName}
/>
-
{this.props.showBulkManagement
&& (
-
+
)}
@@ -277,8 +256,6 @@ export default class Gradebook extends React.Component {
}
Gradebook.defaultProps = {
- areGradesFrozen: false,
- canUserViewGradebook: false,
courseId: '',
filteredUsersCount: null,
location: {
@@ -293,18 +270,14 @@ Gradebook.defaultProps = {
};
Gradebook.propTypes = {
- areGradesFrozen: PropTypes.bool,
- canUserViewGradebook: PropTypes.bool,
courseId: PropTypes.string,
filteredUsersCount: PropTypes.number,
getRoles: PropTypes.func.isRequired,
getUserGrades: PropTypes.func.isRequired,
- gradeExportUrl: PropTypes.string.isRequired,
history: PropTypes.shape({
push: PropTypes.func,
}).isRequired,
initializeFilters: PropTypes.func.isRequired,
- interventionExportUrl: PropTypes.string.isRequired,
location: PropTypes.shape({
search: PropTypes.string,
}),
diff --git a/src/containers/GradebookPage/index.jsx b/src/containers/GradebookPage/index.jsx
index 2ab8e86..315ade8 100644
--- a/src/containers/GradebookPage/index.jsx
+++ b/src/containers/GradebookPage/index.jsx
@@ -9,59 +9,32 @@ import Gradebook from 'components/Gradebook';
const mapStateToProps = (state, ownProps) => {
const {
root,
- assignmentTypes,
filters,
grades,
- roles,
} = selectors;
const { courseId } = ownProps.match.params;
return {
courseId,
- areGradesFrozen: assignmentTypes.areGradesFrozen(state),
- assignmentTypes: assignmentTypes.allAssignmentTypes(state),
- assignmentFilterOptions: filters.selectableAssignmentLabels(state),
- bulkImportError: grades.bulkImportError(state),
- bulkManagementHistory: grades.bulkManagementHistoryEntries(state),
- canUserViewGradebook: roles.canUserViewGradebook(state),
filteredUsersCount: grades.filteredUsersCount(state),
- format: grades.gradeFormat(state),
gradeExportUrl: root.gradeExportUrl(state, { courseId }),
- grades: grades.allGrades(state),
- headings: root.getHeadings(state),
interventionExportUrl: root.interventionExportUrl(state, { courseId }),
- nextPage: state.grades.nextPage,
- prevPage: state.grades.prevPage,
selectedTrack: filters.track(state),
selectedCohort: filters.cohort(state),
selectedAssignmentType: filters.assignmentType(state),
- selectedAssignment: filters.selectedAssignmentLabel(state),
showBulkManagement: root.showBulkManagement(state, { courseId }),
showSpinner: root.shouldShowSpinner(state),
totalUsersCount: grades.totalUsersCount(state),
- uploadSuccess: grades.uploadSuccess(state),
};
};
const mapDispatchToProps = {
- downloadBulkGradesReport: actions.grades.downloadReport.bulkGrades,
- downloadInterventionReport: actions.grades.downloadReport.intervention,
toggleFormat: actions.grades.toggleGradeFormat,
-
- filterAssignmentType: actions.filters.update.assignmentType,
initializeFilters: actions.filters.initialize,
resetFilters: actions.filters.reset,
- updateAssignmentFilter: actions.filters.update.assignment,
- updateAssignmentLimits: actions.filters.update.assignmentLimits,
-
- fetchGradeOverrideHistory: thunkActions.grades.fetchGradeOverrideHistory,
- getAssignmentTypes: thunkActions.assignmentTypes.fetchAssignmentTypes,
- getCohorts: thunkActions.cohorts.fetchCohorts,
- getPrevNextGrades: thunkActions.grades.fetchPrevNextGrades,
getRoles: thunkActions.roles.fetchRoles,
getTracks: thunkActions.tracks.fetchTracks,
getUserGrades: thunkActions.grades.fetchGrades,
- submitFileUploadFormData: thunkActions.grades.submitFileUploadFormData,
};
const GradebookPage = connect(