Proyectos de Subversion Moodle

Rev

Rev 1 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
M.mod_assign = {};
2
 
3
M.mod_assign.init_tree = function(Y, expand_all, htmlid) {
4
    var treeElement = Y.one('#'+htmlid);
5
    if (treeElement) {
6
        Y.use('yui2-treeview', 'node-event-simulate', function(Y) {
7
            var tree = new Y.YUI2.widget.TreeView(htmlid);
8
 
9
            tree.subscribe("clickEvent", function(node, event) {
10
                // We want normal clicking which redirects to url.
11
                return false;
12
            });
13
 
14
            tree.subscribe("enterKeyPressed", function(node) {
15
                // We want keyboard activation to trigger a click on the first link.
16
                Y.one(node.getContentEl()).one('a').simulate('click');
17
                return false;
18
            });
19
 
20
            if (expand_all) {
21
                tree.expandAll();
22
            }
23
            tree.render();
24
        });
25
    }
26
};
27
 
28
M.mod_assign.init_grading_table = function(Y) {
29
    Y.use('node', function(Y) {
30
        const checkboxes = Y.all('td.c0 input');
31
        let rowelement;
32
        checkboxes.each(function(node) {
33
            node.on('change', function(e) {
34
                rowelement = e.currentTarget.get('parentNode').get('parentNode');
35
                if (e.currentTarget.get('checked')) {
36
                    rowelement.removeClass('unselectedrow');
37
                    rowelement.addClass('selectedrow');
38
                } else {
39
                    rowelement.removeClass('selectedrow');
40
                    rowelement.addClass('unselectedrow');
41
                }
42
            });
43
 
44
            rowelement = node.get('parentNode').get('parentNode');
45
            if (node.get('checked')) {
46
                rowelement.removeClass('unselectedrow');
47
                rowelement.addClass('selectedrow');
48
            } else {
49
                rowelement.removeClass('selectedrow');
50
                rowelement.addClass('unselectedrow');
51
            }
52
        });
53
 
54
        const selectall = Y.one('th.c0 input');
55
        if (selectall) {
56
            selectall.on('change', function(e) {
57
                Y.all('td.c0 input[type="checkbox"]').each(function(node) {
58
                    rowelement = node.get('parentNode').get('parentNode');
59
                    if (e.currentTarget.get('checked')) {
60
                        node.set('checked', true);
61
                        rowelement.removeClass('unselectedrow');
62
                        rowelement.addClass('selectedrow');
63
                    } else {
64
                        node.set('checked', false);
65
                        rowelement.removeClass('selectedrow');
66
                        rowelement.addClass('unselectedrow');
67
                    }
68
                });
69
            });
70
        }
71
 
72
        var quickgrade = Y.all('.gradingtable .quickgrade');
73
        quickgrade.each(function(quick) {
74
            quick.on('change', function(e) {
75
                this.get('parentNode').addClass('quickgrademodified');
76
            });
77
        });
78
    });
79
};
80
 
81
M.mod_assign.init_plugin_summary = function(Y, subtype, type, submissionid) {
82
    var suffix = subtype + '_' + type + '_' + submissionid;
83
    var classname = 'contract_' + suffix;
84
    var contract = Y.one('.' + classname);
85
    if (contract) {
86
        contract.on('click', function(e) {
87
            e.preventDefault();
88
            var link = e.currentTarget || e.target;
89
            var linkclasses = link.getAttribute('class').split(' ');
90
            var thissuffix = '';
91
            for (var i = 0; i < linkclasses.length; i++) {
92
                classname = linkclasses[i];
93
                if (classname.indexOf('contract_') == 0) {
94
                    thissuffix = classname.substr(9);
95
                }
96
            }
97
            var fullclassname = 'full_' + thissuffix;
98
            var full = Y.one('.' + fullclassname);
99
            if (full) {
100
                full.hide(false);
101
            }
102
            var summaryclassname = 'summary_' + thissuffix;
103
            var summary = Y.one('.' + summaryclassname);
104
            if (summary) {
105
                summary.show(false);
106
                summary.one('a.expand_' + thissuffix).focus();
107
            }
108
        });
109
    }
110
    classname = 'expand_' + suffix;
111
    var expand = Y.one('.' + classname);
112
 
113
    var full = Y.one('.full_' + suffix);
114
    if (full) {
115
        full.hide(false);
116
        full.toggleClass('hidefull');
117
    }
118
    if (expand) {
119
        expand.on('click', function(e) {
120
            e.preventDefault();
121
            var link = e.currentTarget || e.target;
122
            var linkclasses = link.getAttribute('class').split(' ');
123
            var thissuffix = '';
124
            for (var i = 0; i < linkclasses.length; i++) {
125
                classname = linkclasses[i];
126
                if (classname.indexOf('expand_') == 0) {
127
                    thissuffix = classname.substr(7);
128
                }
129
            }
130
            var summaryclassname = 'summary_' + thissuffix;
131
            var summary = Y.one('.' + summaryclassname);
132
            if (summary) {
133
                summary.hide(false);
134
            }
135
            var fullclassname = 'full_' + thissuffix;
136
            full = Y.one('.' + fullclassname);
137
            if (full) {
138
                full.show(false);
139
                full.one('a.contract_' + thissuffix).focus();
140
            }
141
        });
142
    }
143
};