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

« back to all changes in this revision

Viewing changes to ivle/webapp/admin/subject-media/project.js

  • Committer: Matt Giuca
  • Date: 2009-02-25 02:17:36 UTC
  • mfrom: (1109)
  • mto: This revision was merged to the branch mainline in revision 1119.
  • Revision ID: matt.giuca@gmail.com-20090225021736-fnnpc7stnemede00
MergedĀ fromĀ trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
$(document).ready(function(){
2
 
    $("#new_projectset_form").submit(add_projectset);
3
 
    $(".new_project").submit(add_project);
4
 
    $('li').show();
5
 
    $('.add-project-link').click(show_add);
6
 
    $('.add-projectset-link').click(show_add);
7
 
});
8
 
 
9
 
function serializeForm(form){
10
 
 
11
 
    mylist = form.serializeArray();
12
 
    var data = {};
13
 
    for (var i = 0; i < mylist.length; i++){
14
 
        data[mylist[i].name] = mylist[i].value;
15
 
    }
16
 
    return data;
17
 
 
18
 
};
19
 
 
20
 
function add_project(){
21
 
    var add_project_form = $(this);
22
 
    function callback(xhr) {
23
 
        if (xhr.status == 200) {
24
 
            add_project_form.slideToggle('fast');
25
 
            var response = JSON.parse(xhr.responseText);
26
 
            var projectlist = $('#projectslist_' + response.projectset_id);
27
 
            var new_element = response.html.split('\n').slice(1).join('\n');
28
 
            projectlist.children(".list_empty_indicator").remove()
29
 
            add_section = projectlist.children(".add-project");
30
 
            $(add_section).before(new_element).hide().slideDown();
31
 
        } else if (xhr.status == 400) {
32
 
            alert("Could not create project: " + xhr.getResponseHeader("X-IVLE-Error"));
33
 
        } else {
34
 
            alert("Project creation failed due to an internal server error.");
35
 
        }
36
 
    };
37
 
 
38
 
    var data = serializeForm($(this));
39
 
 
40
 
    ajax_call(callback, $(this).attr("action"), "", data, 'POST');
41
 
 
42
 
    return false;
43
 
};
44
 
 
45
 
function add_projectset(){
46
 
 
47
 
    $("#add_projectset").attr('disabled', 'disabled');
48
 
 
49
 
    function callback(xhr) {
50
 
        var response = JSON.parse(xhr.responseText);
51
 
        $('#projectset_list').append(response.html);
52
 
        var projectset_div = $('#projectset_' + response.projectset_id);
53
 
        projectset_div.hide();
54
 
        projectset_div.slideDown();
55
 
        $("#add_projectset").removeAttr('disabled');
56
 
        projectset_div.find(".new_project").submit(add_project);
57
 
        projectset_div.find(".add-project-link").click(show_add);
58
 
    };
59
 
 
60
 
    var data = serializeForm($("#new_projectset_form"));
61
 
 
62
 
    data['ivle.op'] = 'add_projectset';
63
 
 
64
 
    ajax_call(callback, $("#new_projectset_form").attr("action"), "", data, 
65
 
            'POST');
66
 
 
67
 
    return false;
68
 
};
69
 
 
70
 
function show_add(){
71
 
    $(this).next().slideToggle();
72
 
    return false;
73
 
}