1
- jQuery . noConflict ( ) ;
2
1
jQuery ( function ( ) {
3
2
start = new Date ( ) ;
4
3
@@ -120,16 +119,7 @@ jQuery(function() {
120
119
// placeholder text in Search field
121
120
jQuery ( "#grades_filter input" ) . attr ( "placeholder" , "Search" ) ;
122
121
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
+
133
123
// get enclosing editor from inside of it
134
124
function get_enclosing_editor ( el ) {
135
125
return jQuery ( el ) . closest ( 'td.edit' ) ;
@@ -195,15 +185,16 @@ jQuery(function() {
195
185
196
186
// always called when editor's closed, the hub for which is current_editor.reset()
197
187
function _close_current_editor ( ) {
198
- if ( ! current_editor . opening_another ) {
199
- asap ( function ( ) { keyTable . block = false ; } ) ;
200
- }
188
+
201
189
close_current_popover ( ) ;
202
190
current_editor = null ;
203
191
204
192
}
205
193
206
194
function close_current_editor ( ) {
195
+ $ ( current_editor ) . parent ( ) . removeClass ( "focus" ) ;
196
+ var editor = get_enclosing_editor ( current_editor ) ;
197
+ submit_score_details ( editor ) ;
207
198
current_editor . reset ( ) ;
208
199
}
209
200
@@ -217,7 +208,6 @@ jQuery(function() {
217
208
function close_current_popover ( ) {
218
209
current_popover . hide ( ) ;
219
210
current_popover = undefined ;
220
-
221
211
}
222
212
223
213
function close_current_popover_on_blur ( event ) {
@@ -244,11 +234,8 @@ jQuery(function() {
244
234
close_current_editor ( ) ;
245
235
}
246
236
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
-
250
237
$editable = jQuery ( editable ) ;
251
-
238
+ $editable . parent ( ) . addClass ( "focus" ) ;
252
239
// lazily register editor events
253
240
if ( $editable . data ( "initialized" ) != true ) {
254
241
make_editable ( $editable ) ;
@@ -281,6 +268,11 @@ jQuery(function() {
281
268
close_current_editor ( ) ;
282
269
} ,
283
270
submitdata : function ( value , settings ) {
271
+
272
+ var editor = get_enclosing_editor ( this ) ;
273
+ // also always submit score details
274
+ submit_score_details ( editor ) ;
275
+
284
276
return {
285
277
submission_id : get_enclosing_editor ( this ) . data ( "submission-id" ) ,
286
278
problem_id : get_enclosing_editor ( this ) . data ( "problem-id" )
@@ -290,9 +282,6 @@ jQuery(function() {
290
282
var editor = get_enclosing_editor ( this ) ;
291
283
var total = editor . siblings ( ".total" ) ;
292
284
293
- // also always submit score details
294
- submit_score_details ( editor ) ;
295
-
296
285
jQuery . ajax ( "quickGetTotal" , {
297
286
data : {
298
287
submission_id : editor . data ( 'submission-id' )
@@ -317,7 +306,7 @@ jQuery(function() {
317
306
$editable . data ( 'tabNext' , jQuery ( 'textarea.feedback' , editor ) ) ;
318
307
$editable . data ( 'tabPrev' , jQuery ( '.save_box .save, .save_box .error' , editor ) ) ;
319
308
320
- jQuery ( "input" , $editable ) . live ( 'keydown' , function ( event ) {
309
+ jQuery ( "input" , $editable ) . on ( 'keydown' , function ( event ) {
321
310
if ( event . keyCode == TAB_KEY ) {
322
311
event . preventDefault ( ) ;
323
312
tabber ( jQuery ( this ) . closest ( 'div.editable' ) , event . shiftKey ) ;
@@ -354,13 +343,14 @@ jQuery(function() {
354
343
}
355
344
356
345
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' ) ;
358
348
jQuery . ajax ( "quickSetScoreDetails" , {
359
349
type : 'POST' ,
360
350
data : {
361
351
submission_id : editor . data ( 'submission-id' ) ,
362
352
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 ( ) ,
364
354
released : released ,
365
355
score : jQuery ( ".editable input" , editor ) . val ( ) // currently unused -- tombug#50
366
356
} ,
@@ -390,19 +380,11 @@ jQuery(function() {
390
380
score_details_dirty ( editor , "saving" ) ;
391
381
}
392
382
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 ) {
395
385
open_editor ( this ) ;
396
386
} ) ;
397
387
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
- } ) ;
406
388
407
389
jQuery ( "#grades_filter input" ) . keydown ( function ( event ) {
408
390
if ( event . keyCode === 13 ) { // return
@@ -426,7 +408,6 @@ jQuery(function() {
426
408
if ( current_popover ) close_current_popover ( ) ;
427
409
428
410
// show popover
429
- console . log ( "opening popover" ) ;
430
411
popover . show ( ) ;
431
412
popover . position ( at ) ;
432
413
@@ -450,7 +431,7 @@ jQuery(function() {
450
431
}
451
432
452
433
// 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 ( ) {
454
435
jQuery ( 'div.popover' ) . hide ( ) ;
455
436
456
437
var link = jQuery ( this )
@@ -474,7 +455,7 @@ jQuery(function() {
474
455
var $editable = jQuery ( e )
475
456
var $popover = $editable . siblings ( "div.popover" )
476
457
var $td = $editable . parent ( )
477
- var $score_details_tbody = jQuery ( "tbody " , $popover )
458
+ var $score_details_tbody = jQuery ( ".score_details " , $popover )
478
459
var score_id = $td . data ( "score-id" )
479
460
480
461
// lazy load grader
@@ -484,10 +465,10 @@ jQuery(function() {
484
465
"score_id" : score_id
485
466
} ,
486
467
success : function ( data , status , jqXHR ) {
487
- jQuery ( ".grader" , $score_details_tbody ) . parent ( ) . remove ( ) ;
468
+ jQuery ( ".grader-name" ) . remove ( ) ;
488
469
// TODO: wtf?
489
470
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 >" )
491
472
}
492
473
}
493
474
} ) ;
0 commit comments