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

« back to all changes in this revision

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

Modified project.js to use the jquery slide instead of show/hide, which
results in much smoother animation.

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').slideDown();
 
5
    $('.add-project-link').click(show_add);
 
6
});
 
7
 
 
8
function serializeForm(form){
 
9
 
 
10
    mylist = form.serializeArray();
 
11
    var data = {};
 
12
    for (var i = 0; i < mylist.length; i++){
 
13
        data[mylist[i].name] = mylist[i].value;
 
14
    }
 
15
    return data;
 
16
 
 
17
};
 
18
 
 
19
function add_project(){
 
20
 
 
21
    $(this).slideUp();
 
22
    
 
23
    function callback(xhr) {
 
24
        var response = JSON.parse(xhr.responseText);
 
25
        var projectlist = $('#projectslist_' + response.projectset_id);
 
26
        var new_element = response.html.split('\n').slice(1).join('\n');
 
27
        if (projectlist.hasClass("emptylist")){
 
28
            projectlist.children().slideUp();
 
29
            projectlist.removeClass("emptylist");
 
30
        }
 
31
        $(new_element).appendTo(projectlist).hide().slideDown();
 
32
    };
 
33
 
 
34
    var data = serializeForm($(this));
 
35
 
 
36
    ajax_call(callback, $(this).attr("action"), "", data, 'POST');
 
37
 
 
38
    return false;
 
39
};
 
40
 
 
41
function add_projectset(){
 
42
 
 
43
    $("#add_projectset").attr('disabled', 'disabled');
 
44
 
 
45
    function callback(xhr) {
 
46
        var response = JSON.parse(xhr.responseText);
 
47
        $('#projectset_list').append(response.html);
 
48
        $('#projectset_' + response.projectset_id).hide();
 
49
        $('#projectset_' + response.projectset_id).slideDown();
 
50
        $("#add_projectset").removeAttr('disabled');
 
51
    };
 
52
 
 
53
    var data = serializeForm($("#new_projectset_form"));
 
54
 
 
55
    data['ivle.op'] = 'add_projectset';
 
56
 
 
57
    ajax_call(callback, $("#new_projectset_form").attr("action"), "", data, 
 
58
            'POST');
 
59
 
 
60
    return false;
 
61
};
 
62
 
 
63
function show_add(){
 
64
    $(this).next().slideToggle();
 
65
    return false;
 
66
}