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

1165.3.2 by Nick Chadwick
Created a new view for IVLE, allowing lecturers and tutors to
1
$(document).ready(function(){
2
    $("#new_projectset_form").submit(add_projectset);
3
    $(".new_project").submit(add_project);
1165.3.63 by Nick Chadwick
Removed non-functional links to delete projects and grant extensions.
4
    $('li').show();
1165.3.6 by Nick Chadwick
Modified the javascript for adding projects and projectsets, so that
5
    $('.add-project-link').click(show_add);
1341.1.1 by William Grant
Make the "Add a new project set" link actually do something.
6
    $('.add-projectset-link').click(show_add);
1165.3.2 by Nick Chadwick
Created a new view for IVLE, allowing lecturers and tutors to
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
1249 by William Grant
Fix and prettify the transition when adding a new project.
22
    $(this).slideToggle('fast');
1165.3.6 by Nick Chadwick
Modified the javascript for adding projects and projectsets, so that
23
    
1165.3.2 by Nick Chadwick
Created a new view for IVLE, allowing lecturers and tutors to
24
    function callback(xhr) {
25
        var response = JSON.parse(xhr.responseText);
26
        var projectlist = $('#projectslist_' + response.projectset_id);
1165.3.6 by Nick Chadwick
Modified the javascript for adding projects and projectsets, so that
27
        var new_element = response.html.split('\n').slice(1).join('\n');
1165.3.32 by William Grant
Fix project addition JS.
28
        projectlist.children(".list_empty_indicator").remove()
1249 by William Grant
Fix and prettify the transition when adding a new project.
29
        add_section = projectlist.children(".add-project");
30
        $(add_section).before(new_element).hide().slideDown();
1165.3.2 by Nick Chadwick
Created a new view for IVLE, allowing lecturers and tutors to
31
    };
32
33
    var data = serializeForm($(this));
34
35
    ajax_call(callback, $(this).attr("action"), "", data, 'POST');
36
37
    return false;
38
};
39
40
function add_projectset(){
41
42
    $("#add_projectset").attr('disabled', 'disabled');
43
44
    function callback(xhr) {
45
        var response = JSON.parse(xhr.responseText);
46
        $('#projectset_list').append(response.html);
1330 by William Grant
Unbreak creation of projects in a newly-created projectset. Correct the subject in the URL (was an id), and hook up JS.
47
        var projectset_div = $('#projectset_' + response.projectset_id);
48
        projectset_div.hide();
49
        projectset_div.slideDown();
1165.3.2 by Nick Chadwick
Created a new view for IVLE, allowing lecturers and tutors to
50
        $("#add_projectset").removeAttr('disabled');
1330 by William Grant
Unbreak creation of projects in a newly-created projectset. Correct the subject in the URL (was an id), and hook up JS.
51
        projectset_div.find(".new_project").submit(add_project);
52
        projectset_div.find(".add-project-link").click(show_add);
1165.3.2 by Nick Chadwick
Created a new view for IVLE, allowing lecturers and tutors to
53
    };
54
55
    var data = serializeForm($("#new_projectset_form"));
56
57
    data['ivle.op'] = 'add_projectset';
58
59
    ajax_call(callback, $("#new_projectset_form").attr("action"), "", data, 
60
            'POST');
61
62
    return false;
63
};
1165.3.6 by Nick Chadwick
Modified the javascript for adding projects and projectsets, so that
64
65
function show_add(){
1165.3.10 by Nick Chadwick
Modified project.js to use the jquery slide instead of show/hide, which
66
    $(this).next().slideToggle();
1165.3.6 by Nick Chadwick
Modified the javascript for adding projects and projectsets, so that
67
    return false;
68
}