summaryrefslogtreecommitdiff
path: root/js/tbc_external_review.js
blob: 61151555a8e457d6230fe4e264bbba861e5881ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
$(document).ready(function() {

    var basePath = Drupal.settings.basePath;
    var modPath = basePath + "tbc_external_review/";
    
    /* for "tbc_external_review/comments" page */
    $book = $("#edit-book");
    $chapter = $("#edit-chapter");
    $chapter_wrapper = $("#edit-chapter-wrapper");
    $example = $("#edit-example");
    $example_wrapper = $("#edit-example-wrapper");
    $error_wrapper = $("#comment-error-wrapper");
    $submit = $("#edit-submit");
    $ajax_loader = $("#ajax-loader");

    $book.change(function() {
        var pid = $(this).val();
        $.ajax({
            url: modPath + "ajax/book/"+pid,
            type: "GET",
            success: function(data) {
                $chapter.html(data);
                $chapter_wrapper.show();
            },
        });
    });

    $chapter.change(function() {
        var cid = $(this).val();
        $.ajax({
            url: modPath + "ajax/chapter/"+cid,
            type: "GET",
            success: function(data) {
                $example.html(data);
                $example_wrapper.show();
            },
        });
    });

    $example.change(function() {
        $error_wrapper.show();
        $submit.show();
    });

    /* for "tbc_external_review/manage_comments/#some_number" page */
    $view_comment = $(".view-comment");
    $lightbox_wrapper = $("#lightbox-wrapper");
    $lightbox_inner = $("#lightbox-inner");
    $view_comment.click(function(e) {
        var comment_id = $(this).attr("data-comment");
        
        $.ajax({
            url: modPath + "ajax/comment/" + comment_id,
            type: "GET",
            dataType: "html",
            success: function(data) {
                $lightbox_inner.html(data);
                $lightbox_wrapper.lightbox_me({
                    centered: true
                });
            },
        });
        e.preventDefault();
    });

    /* hide/unhide comments */
    $hide_show= $(".hide-show");
    
    $hide_show.click(function(e) {
        var comment_id = $(this).attr("data-comment");
        $t = $(this);
        $.ajax({
            url: modPath + "ajax/hide-show/" + comment_id,
            type: "GET",
            dataType: "html",
            success: function(data) {
                $tr = $t.parents("tr:first");
                if($tr.hasClass("dull")) {
                    $t.parents("tr:first").removeClass("dull");
                    $t.html("Hide");
                } else {
                    $t.parents("tr:first").addClass("dull");
                    $t.html("Show");
                }
                console.log(data);
            },
        });
        e.preventDefault();
    });

    /* toggle hide-show */
    $toggler = $(".toggle-hide-show");
    $toggler.click(function() {
        var preference_id = $(this).attr("data-preference");
        
        $.ajax({
            url: modPath + "ajax/toggle/" + preference_id,
            type: "GET",
            success: function(data) {
                $tr = $("tr");
                $tr.each(function() {
                    if(!$(this).hasClass("error-comment")) {
                        if($(this).hasClass("dull")) {
                            $(this).removeClass("dull");
                            $(this).find(".hide-show").html("Hide");
                        } else {
                            $(this).addClass("dull");
                            $(this).find(".hide-show").html("Show");
                            $("thead tr").removeClass("dull");
                        }
                    }
                });
            }
        });
    });

    $(document).ajaxStart(function() {
        $ajax_loader.show();
    });
    $(document).ajaxStop(function() {
        $ajax_loader.hide();
    });
});