Commit 7c768cbb by Diana Huang

Wire up the separate action button

parent aee1e5e9
......@@ -26,7 +26,7 @@ class StaffGradingBackend
response =
success: true
problem_name: 'Problem 1'
num_left: 3
num_graded: 3
num_total: 5
prompt: '''
<h2>S11E3: Metal Bands</h2>
......@@ -56,7 +56,7 @@ The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for t
response =
success: true
problem_name: 'Problem 2'
num_left: 2
num_graded: 2
num_total: 5
prompt: 'This is a fake second problem'
submission: 'This is the best submission ever! ' + @mock_cnt
......@@ -75,16 +75,16 @@ The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for t
@mock('get_next', {location: data.location})
# get_problem_list
# sends in a course_id and a grader_id
# should get back a list of problem_ids, problem_names, num_left, num_total
# should get back a list of problem_ids, problem_names, num_graded, num_total
else if cmd == 'get_problem_list'
@mock_cnt = 1
response =
success: true
problem_list: [
{location: 'i4x://MITx/3.091x/problem/open_ended_demo1', \
problem_name: "Problem 1", num_left: 3, num_total: 5},
problem_name: "Problem 1", num_graded: 3, num_total: 5},
{location: 'i4x://MITx/3.091x/problem/open_ended_demo2', \
problem_name: "Problem 2", num_left: 1, num_total: 5}
problem_name: "Problem 2", num_graded: 1, num_total: 5}
]
else
response =
......@@ -97,7 +97,7 @@ The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for t
message: 'No more submissions'
if @mock_cnt % 7 == 0
if @mock_cnt % 3 == 0
response =
success: false
error: 'An error for testing'
......@@ -139,6 +139,7 @@ class StaffGrading
@feedback_area = $('.feedback-area')
@score_selection_container = $('.score-selection-container')
@submit_button = $('.submit-button')
@action_button = $('.action-button')
@ml_error_info_container = $('.ml-error-info-container')
@breadcrumbs = $('.breadcrumbs')
......@@ -156,16 +157,15 @@ class StaffGrading
@location = ''
@prompt_name = ''
@num_total = 0
@num_left = 0
@num_graded = 0
@score = null
@problems = null
# action handlers
@submit_button.click @submit
# render intial state
#@render_view()
# TODO: fix this to do something more intelligent
@action_button.click @submit
# send initial request automatically
@get_problem_list()
......@@ -190,7 +190,7 @@ class StaffGrading
set_button_text: (text) =>
@submit_button.attr('value', text)
@action_button.attr('value', text)
graded_callback: (event) =>
@score = event.target.value
......@@ -207,7 +207,7 @@ class StaffGrading
if response.problem_list
@problems = response.problem_list
else if response.submission
@data_loaded(response.prompt, response.submission, response.rubric, response.submission_id, response.max_score, response.ml_error_info, response.problem_name, response.num_left, response.num_total)
@data_loaded(response.prompt, response.submission, response.rubric, response.submission_id, response.max_score, response.ml_error_info, response.problem_name, response.num_graded, response.num_total)
else
@no_more(response.message)
else
......@@ -237,7 +237,7 @@ class StaffGrading
@error_msg = msg
@state = state_error
data_loaded: (prompt, submission, rubric, submission_id, max_score, ml_error_info, prompt_name, num_left, num_total) ->
data_loaded: (prompt, submission, rubric, submission_id, max_score, ml_error_info, prompt_name, num_graded, num_total) ->
@prompt = prompt
@submission = submission
@rubric = rubric
......@@ -247,7 +247,7 @@ class StaffGrading
@score = null
@ml_error_info=ml_error_info
@prompt_name = prompt_name
@num_left = num_left
@num_graded = num_graded
@num_total = num_total
@state = state_grading
if not @max_score?
......@@ -256,7 +256,7 @@ class StaffGrading
no_more: (message) ->
@prompt = null
@prompt_name = ''
@num_left = 0
@num_graded = 0
@num_total = 0
@submission = null
@rubric = null
......@@ -267,11 +267,6 @@ class StaffGrading
@max_score = 0
@state = state_no_data
hide_if_empty: (container,message) ->
if message == ''
container.hide()
else
container.html(message)
render_view: () ->
# clear the problem list and breadcrumbs
......@@ -280,8 +275,10 @@ class StaffGrading
@problem_list_container.toggle(@list_view)
if @backend.mock_backend
@message = @message + "<p>NOTE: Mocking backend.</p>"
@hide_if_empty(@message_container, @message)
@hide_if_empty(@error_container, @error_msg)
@message_container.html(@message)
@error_container.html(@error_msg)
@message_container.toggle(@message != "")
@error_container.toggle(@error_msg != "")
# only show the grading elements when we are not in list view or the state
......@@ -293,7 +290,7 @@ class StaffGrading
@rubric_wrapper.toggle(show_grading_elements)
@grading_wrapper.toggle(show_grading_elements)
@ml_error_info_container.toggle(show_grading_elements)
@submit_button.hide()
@action_button.hide()
if @list_view
@render_list()
......@@ -302,7 +299,7 @@ class StaffGrading
problem_link:(problem) ->
link = $('<a>').attr('href', "javascript:void(0)").append(
"#{problem.problem_name} (#{problem.num_left} left out of #{problem.num_total})")
"#{problem.problem_name} (#{problem.num_graded} graded out of #{problem.num_total})")
.click =>
@get_next_submission problem.location
......@@ -320,6 +317,7 @@ class StaffGrading
render_problem: () ->
# make the view elements match the state. Idempotent.
show_submit_button = true
show_action_button = true
problem_list_link = $('<a>').attr('href', 'javascript:void(0);')
.append("< Back to problem list")
......@@ -331,21 +329,24 @@ class StaffGrading
if @state == state_error
@set_button_text('Try loading again')
show_action_button = true
else if @state == state_grading
@ml_error_info_container.html(@ml_error_info)
@prompt_container.html(@prompt)
@prompt_name_container.html("#{@prompt_name} <span class='sub-heading'>(#{@num_left} left out of #{@num_total})</span>")
@prompt_name_container.html("#{@prompt_name} <span class='sub-heading'>(#{@num_graded} completed out of #{@num_total})</span>")
@submission_container.html(@make_paragraphs(@submission))
@rubric_container.html(@rubric)
# no submit button until user picks grade.
show_submit_button = false
show_action_button = false
@setup_score_selection()
else if @state == state_graded
@set_button_text('Submit')
show_action_button = false
else if @state == state_no_data
@message_container.html(@message)
......@@ -355,6 +356,7 @@ class StaffGrading
@error('System got into invalid state ' + @state)
@submit_button.toggle(show_submit_button)
@action_button.toggle(show_action_button)
submit: (event) =>
event.preventDefault()
......
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