Commit fa09e25a by Diana Huang

Add interstitial page between calibration and grading.

Make individual Prompt and Rubric Sections hideable.
parent befe36f6
...@@ -2,6 +2,7 @@ class PeerGradingProblemBackend ...@@ -2,6 +2,7 @@ class PeerGradingProblemBackend
constructor: (ajax_url, mock_backend) -> constructor: (ajax_url, mock_backend) ->
@mock_backend = mock_backend @mock_backend = mock_backend
@ajax_url = ajax_url @ajax_url = ajax_url
@mock_cnt = 0
post: (cmd, data, callback) -> post: (cmd, data, callback) ->
if @mock_backend if @mock_backend
...@@ -16,11 +17,12 @@ class PeerGradingProblemBackend ...@@ -16,11 +17,12 @@ class PeerGradingProblemBackend
# change to test each version # change to test each version
response = response =
success: true success: true
calibrated: false calibrated: @mock_cnt >= 2
else if cmd == 'show_calibration_essay' else if cmd == 'show_calibration_essay'
#response = #response =
# success: false # success: false
# error: "There was an error" # error: "There was an error"
@mock_cnt++
response = response =
success: true success: true
submission_id: 1 submission_id: 1
...@@ -58,7 +60,7 @@ The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for t ...@@ -58,7 +60,7 @@ The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for t
else if cmd == 'save_calibration_essay' else if cmd == 'save_calibration_essay'
response = response =
success: true success: true
correct_score: 2 actual_score: 2
else if cmd == 'save_grade' else if cmd == 'save_grade'
response = response =
success: true success: true
...@@ -89,6 +91,8 @@ class PeerGradingProblem ...@@ -89,6 +91,8 @@ class PeerGradingProblem
@grading_wrapper =$('.grading-wrapper') @grading_wrapper =$('.grading-wrapper')
@calibration_feedback_panel = $('.calibration-feedback') @calibration_feedback_panel = $('.calibration-feedback')
@interstitial_page = $('.interstitial-page')
@interstitial_page.hide()
@error_container = $('.error-container') @error_container = $('.error-container')
...@@ -98,10 +102,12 @@ class PeerGradingProblem ...@@ -98,10 +102,12 @@ class PeerGradingProblem
@score_selection_container = $('.score-selection-container') @score_selection_container = $('.score-selection-container')
@score = null @score = null
@calibration = null
@submit_button = $('.submit-button') @submit_button = $('.submit-button')
@action_button = $('.action-button') @action_button = $('.action-button')
@calibration_feedback_button = $('.calibration-feedback-button') @calibration_feedback_button = $('.calibration-feedback-button')
@interstitial_page_button = $('.interstitial-page-button')
Collapsible.setCollapsibles(@content_panel) Collapsible.setCollapsibles(@content_panel)
@action_button.click -> document.location.reload(true) @action_button.click -> document.location.reload(true)
...@@ -110,6 +116,10 @@ class PeerGradingProblem ...@@ -110,6 +116,10 @@ class PeerGradingProblem
@grading_wrapper.show() @grading_wrapper.show()
@is_calibrated_check() @is_calibrated_check()
@interstitial_page_button.click =>
@interstitial_page.hide()
@is_calibrated_check()
@is_calibrated_check() @is_calibrated_check()
...@@ -154,12 +164,15 @@ class PeerGradingProblem ...@@ -154,12 +164,15 @@ class PeerGradingProblem
calibration_check_callback: (response) => calibration_check_callback: (response) =>
if response.success if response.success
# check whether or not we're still calibrating # check whether or not we're still calibrating
if response.calibrated if response.calibrated and (@calibration == null or @calibration == false)
@calibration = false
@fetch_submission_essay() @fetch_submission_essay()
else if response.calibrated and @calibration == true
@calibration = false @calibration = false
@render_interstitial_page()
else else
@fetch_calibration_essay()
@calibration = true @calibration = true
@fetch_calibration_essay()
else if response.error else if response.error
@render_error(response.error) @render_error(response.error)
else else
...@@ -262,20 +275,24 @@ class PeerGradingProblem ...@@ -262,20 +275,24 @@ class PeerGradingProblem
render_calibration_feedback: (response) => render_calibration_feedback: (response) =>
# display correct grade # display correct grade
#@grading_wrapper.hide() #@grading_wrapper.hide()
@calibration_feedback_panel.show() @calibration_feedback_panel.show()
calibration_wrapper = $('.calibration-feedback-wrapper') calibration_wrapper = $('.calibration-feedback-wrapper')
calibration_wrapper.html("<p>The score you gave was: #{@score}. The correct score is: #{response.correct_score}</p>") calibration_wrapper.html("<p>The score you gave was: #{@score}. The actual score is: #{response.actual_score}</p>")
score = parseInt(@score) score = parseInt(@score)
correct_score = parseInt(response.correct_score) actual_score = parseInt(response.actual_score)
#TODO: maybe do another variation depending on whether or not students are close to correct
if score == correct_score
calibration_wrapper.append("<p>Congratulations! Your score matches the correct one!</p>") if score == actual_score
else calibration_wrapper.append("<p>Congratulations! Your score matches the actual one!</p>")
calibration_wrapper.append("<p>Please try to understand the grading critera better so that you will be more accurate next time.</p>") else
calibration_wrapper.append("<p>Please try to understand the grading critera better so that you will be more accurate next time.</p>")
render_interstitial_page: () =>
@content_panel.hide()
@interstitial_page.show()
render_error: (error_message) => render_error: (error_message) =>
@error_container.show() @error_container.show()
@error_container.html(error_message) @error_container.html(error_message)
......
...@@ -36,8 +36,8 @@ div.peer-grading{ ...@@ -36,8 +36,8 @@ div.peer-grading{
} }
} }
.prompt-information-container, .prompt-container,
.rubric-wrapper, .rubric-container,
.calibration-feedback-wrapper, .calibration-feedback-wrapper,
.grading-container .grading-container
{ {
...@@ -103,6 +103,11 @@ div.peer-grading{ ...@@ -103,6 +103,11 @@ div.peer-grading{
padding: 10px; padding: 10px;
margin: 0px; margin: 0px;
border: 1px solid black; border: 1px solid black;
h3
{
text-align:center;
text-transform:uppercase;
}
} }
.calibration-panel .calibration-panel
{ {
......
...@@ -43,23 +43,22 @@ ...@@ -43,23 +43,22 @@
</div> </div>
</div> </div>
<div class="prompt-wrapper collapsible"> <div class="prompt-wrapper">
<header> <div class="prompt-information-container collapsible">
<a href="javascript:void(0);">Show Problem Details</a> <header><a href="javascript:void(0)">View Question</a></header>
</header> <section>
<section>
<div class="prompt-information-container">
<h3>Question</h3>
<div class="prompt-container"> <div class="prompt-container">
</div> </div>
</section>
</div> </div>
<div class="rubric-wrapper"> <div class="rubric-wrapper collapsible">
<h3>Grading Rubric</h3> <header><a href="javascript:void(0)">View Rubric</a></header>
<section>
<div class="rubric-container"> <div class="rubric-container">
</div> </div>
</section>
</div> </div>
</section>
</div> </div>
...@@ -96,6 +95,13 @@ ...@@ -96,6 +95,13 @@
</div> </div>
<input type="button" class="calibration-feedback-button" value="Continue" name="calibration-feedback-button" /> <input type="button" class="calibration-feedback-button" value="Continue" name="calibration-feedback-button" />
</section> </section>
<section class="interstitial-page">
<h1>Congratulations!</h1>
<p> You have now completed calibration. You are now ready to start grading.</p>
<input type="button" class="interstitial-page-button" value="Start Grading!" name="interstitial-page-button" />
</section>
<input type="button" value="Reload page" class="action-button" name="reload" /> <input type="button" value="Reload page" class="action-button" name="reload" />
</div> </div>
</section> </section>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment