Skip to content

Commit e4c1231

Browse files
author
Ilter
committed
Merge pull request #378 from autolab/develop
Develop
2 parents 2e7f949 + 6fa17fa commit e4c1231

33 files changed

+414
-2832
lines changed

app/assets/javascripts/KeyTable.js

-1,138
This file was deleted.

app/assets/javascripts/gradesheet.js

-696
This file was deleted.

app/assets/javascripts/gradesheet1.js.erb app/assets/javascripts/gradesheet.js.erb

+21-40
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
jQuery.noConflict();
21
jQuery(function() {
32
start = new Date();
43

@@ -120,16 +119,7 @@ jQuery(function() {
120119
// placeholder text in Search field
121120
jQuery("#grades_filter input").attr("placeholder", "Search");
122121

123-
// keyTable handles tabbing between cells, ESCaping from table, enter to enter editor
124-
var keyTable = new KeyTable({
125-
'table': document.getElementById("grades"),
126-
'datatable': oTable,
127-
'focus': [ first_problem_column, 0 ],
128-
'form': true,
129-
'start': first_problem_column,
130-
'num': problem_count
131-
});
132-
122+
133123
// get enclosing editor from inside of it
134124
function get_enclosing_editor(el) {
135125
return jQuery(el).closest('td.edit');
@@ -195,15 +185,16 @@ jQuery(function() {
195185

196186
// always called when editor's closed, the hub for which is current_editor.reset()
197187
function _close_current_editor() {
198-
if (!current_editor.opening_another) {
199-
asap(function() { keyTable.block = false; });
200-
}
188+
201189
close_current_popover();
202190
current_editor = null;
203191

204192
}
205193

206194
function close_current_editor() {
195+
$(current_editor).parent().removeClass("focus");
196+
var editor = get_enclosing_editor(current_editor);
197+
submit_score_details(editor);
207198
current_editor.reset();
208199
}
209200

@@ -217,7 +208,6 @@ jQuery(function() {
217208
function close_current_popover() {
218209
current_popover.hide();
219210
current_popover = undefined;
220-
221211
}
222212

223213
function close_current_popover_on_blur(event) {
@@ -244,11 +234,8 @@ jQuery(function() {
244234
close_current_editor();
245235
}
246236

247-
// we're going to be in an editor, prevent KeyTable from processing keyboard input (prevent tabbing between table cells)
248-
keyTable.block = true;
249-
250237
$editable = jQuery(editable);
251-
238+
$editable.parent().addClass("focus");
252239
// lazily register editor events
253240
if ($editable.data("initialized") != true) {
254241
make_editable($editable);
@@ -281,6 +268,11 @@ jQuery(function() {
281268
close_current_editor();
282269
},
283270
submitdata: function(value, settings) {
271+
272+
var editor = get_enclosing_editor(this);
273+
// also always submit score details
274+
submit_score_details(editor);
275+
284276
return {
285277
submission_id: get_enclosing_editor(this).data("submission-id"),
286278
problem_id: get_enclosing_editor(this).data("problem-id")
@@ -290,9 +282,6 @@ jQuery(function() {
290282
var editor = get_enclosing_editor(this);
291283
var total = editor.siblings(".total");
292284

293-
// also always submit score details
294-
submit_score_details(editor);
295-
296285
jQuery.ajax("quickGetTotal", {
297286
data: {
298287
submission_id: editor.data('submission-id')
@@ -317,7 +306,7 @@ jQuery(function() {
317306
$editable.data('tabNext', jQuery('textarea.feedback', editor));
318307
$editable.data('tabPrev', jQuery('.save_box .save, .save_box .error', editor));
319308

320-
jQuery("input", $editable).live('keydown', function(event) {
309+
jQuery("input", $editable).on('keydown', function(event) {
321310
if (event.keyCode == TAB_KEY) {
322311
event.preventDefault();
323312
tabber(jQuery(this).closest('div.editable'), event.shiftKey);
@@ -354,13 +343,14 @@ jQuery(function() {
354343
}
355344

356345
function submit_score_details(editor, not_score) {
357-
var released = jQuery('table.score_details input.released', editor).is(':checked');
346+
347+
var released = jQuery('.score_details input.released', editor).is(':checked');
358348
jQuery.ajax("quickSetScoreDetails", {
359349
type: 'POST',
360350
data: {
361351
submission_id: editor.data('submission-id'),
362352
problem_id: editor.data('problem-id'),
363-
feedback: jQuery('table.score_details textarea.feedback', editor).val(),
353+
feedback: jQuery('.score_details textarea.feedback', editor).val(),
364354
released: released,
365355
score: jQuery(".editable input", editor).val() // currently unused -- tombug#50
366356
},
@@ -390,19 +380,11 @@ jQuery(function() {
390380
score_details_dirty(editor, "saving");
391381
}
392382

393-
var $editables = jQuery("#grades td.edit div.editable");
394-
$editables.live('click', function(event) {
383+
// var $editables = jQuery("#grades td.edit div.editable");
384+
jQuery("#grades").on('click', 'div.editable', function(event) {
395385
open_editor(this);
396386
});
397387

398-
keyTable.event.action(null, null, function(nCell) {
399-
jQuery('div.editable', nCell).click();
400-
});
401-
402-
keyTable.event.esc(null, null, function() {
403-
jQuery("#grades_filter input").focus();
404-
keyTable.fnBlur();
405-
});
406388

407389
jQuery("#grades_filter input").keydown(function(event){
408390
if (event.keyCode === 13) { // return
@@ -426,7 +408,6 @@ jQuery(function() {
426408
if (current_popover) close_current_popover();
427409

428410
// show popover
429-
console.log("opening popover");
430411
popover.show();
431412
popover.position(at);
432413

@@ -450,7 +431,7 @@ jQuery(function() {
450431
}
451432

452433
// to show the the ID column popovers
453-
jQuery('#grades td.id a.email').live('click', function() {
434+
jQuery('#grades td.id a.email').on('click', function() {
454435
jQuery('div.popover').hide();
455436

456437
var link = jQuery(this)
@@ -474,7 +455,7 @@ jQuery(function() {
474455
var $editable = jQuery(e)
475456
var $popover = $editable.siblings("div.popover")
476457
var $td = $editable.parent()
477-
var $score_details_tbody = jQuery("tbody", $popover)
458+
var $score_details_tbody = jQuery(".score_details", $popover)
478459
var score_id = $td.data("score-id")
479460

480461
// lazy load grader
@@ -484,10 +465,10 @@ jQuery(function() {
484465
"score_id": score_id
485466
},
486467
success: function(data, status, jqXHR) {
487-
jQuery(".grader", $score_details_tbody).parent().remove();
468+
jQuery(".grader-name").remove();
488469
// TODO: wtf?
489470
if (data != " ") {
490-
$score_details_tbody.prepend("<tr><th>Grader</th><td class='grader'>" + data + "</td></tr>")
471+
$score_details_tbody.prepend("<div class='grader-name'>Grader: " + data + "</div>")
491472
}
492473
}
493474
});

0 commit comments

Comments
 (0)