diff --git a/package-lock.json b/package-lock.json
index b0545ea..65cda63 100755
--- a/package-lock.json
+++ b/package-lock.json
@@ -3552,7 +3552,7 @@
},
"@types/object-assign": {
"version": "4.0.30",
- "resolved": "http://registry.npmjs.org/@types/object-assign/-/object-assign-4.0.30.tgz",
+ "resolved": "https://registry.npmjs.org/@types/object-assign/-/object-assign-4.0.30.tgz",
"integrity": "sha1-iUk3HVqZ9Dge4PHfCpt6GH4H5lI="
},
"@types/tapable": {
diff --git a/src/components/Gradebook/index.jsx b/src/components/Gradebook/index.jsx
index f0dcac9..569b289 100644
--- a/src/components/Gradebook/index.jsx
+++ b/src/components/Gradebook/index.jsx
@@ -25,6 +25,7 @@ export default class Gradebook extends React.Component {
);
this.props.getTracks(this.props.match.params.courseId);
this.props.getCohorts(this.props.match.params.courseId);
+ this.props.getAssignmentTypes(this.props.match.params.courseId);
}
setNewModalState = (userEntry, subsection) => {
@@ -74,6 +75,15 @@ export default class Gradebook extends React.Component {
return `?${queryString.stringify(parsed)}`;
};
+ mapAssignmentTypeEntries = (entries) => {
+ const mapped = entries.map(entry => ({
+ id: entry,
+ label: entry,
+ }));
+ mapped.unshift({ id: 0, label: 'All' });
+ return mapped;
+ };
+
mapCohortsEntries = (entries) => {
const mapped = entries.map(entry => ({
id: entry.id,
@@ -92,6 +102,10 @@ export default class Gradebook extends React.Component {
return mapped;
};
+ updateAssignmentTypes = (event) => {
+ this.props.filterColumns(event, this.props.grades[0]);
+ }
+
updateTracks = (event) => {
const selectedTrackItem = this.props.tracks.find(x => x.name === event);
let selectedTrackSlug = null;
@@ -122,6 +136,15 @@ export default class Gradebook extends React.Component {
this.props.history.push(updatedQueryStrings);
};
+ mapSelectedAssignmentTypeEntry = (entry) => {
+ const selectedAssignmentTypeEntry = this.props.assignmentTypes
+ .find(x => x.id === parseInt(entry, 10));
+ if (selectedAssignmentTypeEntry) {
+ return selectedAssignmentTypeEntry.name;
+ }
+ return 'All';
+ };
+
mapSelectedCohortEntry = (entry) => {
const selectedCohortEntry = this.props.cohorts.find(x => x.id === parseInt(entry, 10));
if (selectedCohortEntry) {
@@ -220,46 +243,19 @@ export default class Gradebook extends React.Component {
-
+ }
{(this.props.tracks.length > 0 || this.props.cohorts.length > 0) &&
@@ -294,14 +290,14 @@ export default class Gradebook extends React.Component {
onClear={() => this.props.getUserGrades(this.props.match.params.courseId, this.props.selectedCohort, this.props.selectedTrack)}
value={this.state.filterValue}
/>
-
+