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