From 7bf602037458750a81a3661fd614850a68bba7b4 Mon Sep 17 00:00:00 2001 From: Joseph Weston <joseph.weston08@gmail.com> Date: Mon, 5 Feb 2018 14:54:59 +0100 Subject: [PATCH] refactor 'selectExam' to handle all API calls --- client/views/Exams.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/client/views/Exams.js b/client/views/Exams.js index 6b15e75b6..6ad23f38c 100644 --- a/client/views/Exams.js +++ b/client/views/Exams.js @@ -71,9 +71,8 @@ class Exams extends React.Component { })) } - selectExam(event) { - const new_exam_id = event.target.value - api.get('exams/' + new_exam_id) + selectExam(exam_id) { + api.get('exams/' + exam_id) .then(exam => this.setState(prev => ({ selected_exam: Object.assign(prev.selected_exam, exam) @@ -97,8 +96,7 @@ class Exams extends React.Component { this.setState({exams: exams}) if (exams.length > 0) { var first_exam = exams[0].id - api.get('exams/' + first_exam) - .then(exam => this.setState({selected_exam: exam})) + this.selectExam(first_exam) } }) .catch(err => { @@ -157,7 +155,7 @@ class Exams extends React.Component { <div className="select"> <select disabled={isDisabled} value={this.state.selected_exam.id} - onChange={this.selectExam}> + onChange={ev => this.selectExam(ev.target.value)}> {this.state.exams.map((exam) => { return <option value={exam.id}>{exam.name}</option> })} -- GitLab