~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to ivle/webapp/tutorial/media/exercise_admin.js

  • Committer: William Grant
  • Date: 2009-12-15 04:54:28 UTC
  • Revision ID: me@williamgrant.id.au-20091215045428-syq44j87dx0jfc7p
Enable, disable, and set default code in the test part code widget when the test type is changed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
384
384
{
385
385
    var part_type = $("#test_part_new_part_type_" + testid).val();
386
386
    var test_type = $("input[name='test_part_new_" + testid + "_test_type']:checked").val();
387
 
    var data = $("#test_part_new_data_" + testid).val();
 
387
    var data = $("#test_part_new_" + testid + "_data").val();
388
388
 
389
389
    var savebutton = $("#new_test_part_save_" + testid);
390
390
    savebutton.attr('value', 'Saving...');
442
442
    update_path = "api/+exercises/" + exercise;
443
443
    ajax_call(callback, update_path, "", args, 'POST');
444
444
}
 
445
 
 
446
function enable_test_part_function(partid, which)
 
447
{
 
448
    var elem = $("#test_part_" + partid + "_data");
 
449
    if (which)
 
450
        elem.removeAttr("disabled");
 
451
    else
 
452
        elem.attr("disabled", "disabled");
 
453
}
 
454
 
 
455
/* Set a test part's code to a reasonable default. This clobbers any
 
456
 * code that is present.
 
457
 */
 
458
function set_test_part_function(partid, test_type)
 
459
{
 
460
    var defaults = new Object();
 
461
    defaults.match = "";
 
462
    defaults.norm = "lambda x: x";
 
463
    defaults.check = "lambda solution, attempt: solution == attempt";
 
464
 
 
465
    $("#test_part_" + partid + "_data").text(defaults[test_type]);
 
466
}
 
467
 
 
468
/* When a test part's test type (norm/check/match) is changed, enable
 
469
 * or disable the code textarea and set some example code.
 
470
 */
 
471
function test_part_type_changed(partid)
 
472
{
 
473
    var name = "test_part_" + partid + "_test_type";
 
474
    var enable = true;
 
475
    var test_type = $("input[name='" + name + "']:checked").val();
 
476
    var sample_code = "";
 
477
 
 
478
    if (test_type == "match")
 
479
        enable = false;
 
480
 
 
481
    enable_test_part_function(partid, enable);
 
482
    set_test_part_function(partid, test_type);
 
483
};