From 80ba7e7152161e22fd074e784f5f29d37bb95496 Mon Sep 17 00:00:00 2001 From: Rick Reilly Date: Wed, 23 Jan 2019 11:47:16 -0500 Subject: [PATCH] fix(lint): Fix all eslint issues and prop validation --- .eslintignore | 1 + .travis.yml | 1 + config/webpack.prod.config.js | 2 +- src/components/Gradebook/index.jsx | 150 +++++++++++++++++++----- src/components/Header/index.jsx | 7 -- src/components/PageButtons/index.jsx | 46 +++++++- src/containers/GradebookPage/index.jsx | 20 ++-- src/data/actions/grades.test.js | 14 ++- src/data/actions/roles.test.js | 25 +++- src/data/constants/actionTypes/roles.js | 2 +- src/data/reducers/roles.js | 45 +++---- src/data/reducers/roles.test.js | 4 +- src/data/services/LmsApiService.js | 5 +- src/index.jsx | 2 - 14 files changed, 236 insertions(+), 88 deletions(-) diff --git a/.eslintignore b/.eslintignore index 65588a7..fcea47f 100755 --- a/.eslintignore +++ b/.eslintignore @@ -1,4 +1,5 @@ coverage/* dist/ node_modules/ +src/postcss.config.js src/segment.js diff --git a/.travis.yml b/.travis.yml index 7ec2f4d..789b5a7 100755 --- a/.travis.yml +++ b/.travis.yml @@ -23,6 +23,7 @@ before_script: greenkeeper-lockfile-update after_script: greenkeeper-lockfile-upload script: - make validate-no-uncommitted-package-lock-changes + - npm run lint - npm run test - npm run build after_success: diff --git a/config/webpack.prod.config.js b/config/webpack.prod.config.js index 644fe5b..aadc214 100755 --- a/config/webpack.prod.config.js +++ b/config/webpack.prod.config.js @@ -47,7 +47,7 @@ module.exports = Merge.smart(commonConfig, { minimize: true, }, }, - 'postcss-loader', + 'postcss-loader', // for autoprefixing, needs to be before the sass loader, not sure why { loader: 'sass-loader', // compiles Sass to CSS options: { diff --git a/src/components/Gradebook/index.jsx b/src/components/Gradebook/index.jsx index 1905439..4956dfc 100644 --- a/src/components/Gradebook/index.jsx +++ b/src/components/Gradebook/index.jsx @@ -1,4 +1,5 @@ import React from 'react'; +import PropTypes from 'prop-types'; import { Button, InputSelect, @@ -132,8 +133,7 @@ export default class Gradebook extends React.Component { this.props.selectedCohort, selectedTrackSlug, ); - const updatedQueryStrings = this.updateQueryParams('track', selectedTrackSlug); - this.props.history.push(updatedQueryStrings); + this.updateQueryParams('track', selectedTrackSlug); }; updateCohorts = (event) => { @@ -147,8 +147,7 @@ export default class Gradebook extends React.Component { selectedCohortId, this.props.selectedTrack, ); - const updatedQueryStrings = this.updateQueryParams('cohort', selectedCohortId); - this.props.history.push(updatedQueryStrings); + this.updateQueryParams('cohort', selectedCohortId); }; mapSelectedAssignmentTypeEntry = (entry) => { @@ -264,30 +263,34 @@ export default class Gradebook extends React.Component {
Score View: - this.props.toggleFormat('percent')} - /> - + - this.props.toggleFormat('absolute')} - /> - +
- { this.props.assignmnetTypes.length > 0 && + { this.props.assignmentTypes.length > 0 &&
Assignment Types: @@ -295,8 +298,8 @@ export default class Gradebook extends React.Component {
@@ -328,9 +331,22 @@ export default class Gradebook extends React.Component { Generate Grade Report this.props.searchForUser(this.props.match.params.courseId, value, this.props.selectedCohort, this.props.selectedTrack)} + onSubmit={value => + this.props.searchForUser( + this.props.match.params.courseId, + value, + this.props.selectedCohort, + this.props.selectedTrack, + ) + } onChange={filterValue => this.setState({ filterValue })} - onClear={() => this.props.getUserGrades(this.props.match.params.courseId, this.props.selectedCohort, this.props.selectedTrack)} + onClear={() => + this.props.getUserGrades( + this.props.match.params.courseId, + this.props.selectedCohort, + this.props.selectedTrack, + ) + } value={this.state.filterValue} /> @@ -346,7 +362,10 @@ export default class Gradebook extends React.Component {
diff --git a/src/components/PageButtons/index.jsx b/src/components/PageButtons/index.jsx index d149eb9..e79981e 100644 --- a/src/components/PageButtons/index.jsx +++ b/src/components/PageButtons/index.jsx @@ -1,4 +1,5 @@ import React from 'react'; +import PropTypes from 'prop-types'; import { Button } from '@edx/paragon'; @@ -15,16 +16,57 @@ export default function PageButtons({ style={{ margin: '20px' }} buttonType="primary" disabled={!prevPage} - onClick={() => getPrevNextGrades(prevPage, selectedCohort, selectedTrack, match.params.courseId)} + onClick={() => + getPrevNextGrades( + prevPage, + selectedCohort, + selectedTrack, + match.params.courseId, + )} />