summaryrefslogtreecommitdiff
path: root/static/js/admin.js
blob: a5a5f7101ed43a1487b49d5863965754589af86e (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
var Admin = {};

Admin._dialogHtml = '<div class="dialog">';

Admin._select = function(name, opts) {
    var sel = $('<select>').attr('name', name);
    $.each(opts, function(i, o) {
        sel.append($('<option>').html(o));
    });
    return sel;
}

Admin.mute = function(nick) {
    var errorbox = $('<div class="errorbox" style="display: none">');
    var time = $('<input type="text" name="time" size="3">');
    var unit = Admin._select('unit', ['minutes', 'hours', 'days']);
    var reason = $('<textarea name="reason" rows="4" cols="30">');
    var html = $('<div>')
        .append(errorbox)
        .append($('<div>').text(nick + ' will be muted for:'))
        .append(time)
        .append(unit)
        .append($('<br>'))
        .append($('<br>'))
        .append($('<div>').text('Reason:'))
        .append(reason)
        .appendTo($(Admin._dialogHtml));
    var title = 'Mute ' + nick;
    var cancel = function() { html.dialog('close'); }
    var submit = function() {
        html.find('[name]').removeClass('ui-state-error');

        var t = parseInt(time.val());
        var u = unit.val();
        var r = reason.val();

        if (!t) {
            time.addClass('ui-state-error');
        }

        if (!u) {
            reason.addClass('ui-state-error');
        }

        if (!r) {
            reason.addClass('ui-state-error');
        }

        if (!t || !u || !r) {
            return;
        }
    };
    html.dialog({
        modal: true,
        title: title,
        width: 400,
        buttons: { 'OK': submit , 'Cancel': cancel }
    });
};