pvl/login/static/pubtkt-expire.js
author Tero Marttila <terom@paivola.fi>
Sun, 07 Sep 2014 14:40:31 +0300
changeset 428 956b3d4918bb
parent 367 e431a1b71006
permissions -rw-r--r--
pvl.rrd.hosts: also support @domain for the collectd host
365
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     1
function pad2digits (i) {
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     2
    if (i < 10) {
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     3
        return "0" + i;
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     4
    } else {
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     5
        return "" + i;
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     6
    }
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     7
}
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     8
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     9
function seconds2interval (s) {
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    10
    var h, m;
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    11
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    12
    s = Math.floor(s);
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    13
    
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    14
    m = Math.floor(s / 60);
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    15
    s = s % 60;
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    16
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    17
    h = Math.floor(m / 60);
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    18
    m = m % 60;
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    19
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    20
    return h + ":" + pad2digits(m) + ":" + pad2digits(s);
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    21
}
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    22
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    23
$(function () {
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    24
    $('.pubtkt-progress').each(function () {
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    25
        var item = $(this);
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    26
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    27
        var progress_bar = item.find('.progress-bar');
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    28
        var progress_label = item.find('.pubtkt-progress-label');
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    29
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    30
        var progress_start = item.attr('data-start');
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    31
        var progress_refresh = item.attr('data-refresh');
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    32
        var progress_end = item.attr('data-end');
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    33
        
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    34
        var start_time = Date.now();
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    35
367
e431a1b71006 pvl.login: implement LDAPAuth; fix Index pageprogress grace period refresh
Tero Marttila <terom@paivola.fi>
parents: 365
diff changeset
    36
        var reload = false;
e431a1b71006 pvl.login: implement LDAPAuth; fix Index pageprogress grace period refresh
Tero Marttila <terom@paivola.fi>
parents: 365
diff changeset
    37
365
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    38
        function update_progress () {
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    39
            var duration = (Date.now() - start_time) / 1000;
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    40
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    41
            var progress = progress_start - duration;
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    42
            
367
e431a1b71006 pvl.login: implement LDAPAuth; fix Index pageprogress grace period refresh
Tero Marttila <terom@paivola.fi>
parents: 365
diff changeset
    43
            if (reload) {
e431a1b71006 pvl.login: implement LDAPAuth; fix Index pageprogress grace period refresh
Tero Marttila <terom@paivola.fi>
parents: 365
diff changeset
    44
                // delayed reload
e431a1b71006 pvl.login: implement LDAPAuth; fix Index pageprogress grace period refresh
Tero Marttila <terom@paivola.fi>
parents: 365
diff changeset
    45
                window.location.reload(true);
e431a1b71006 pvl.login: implement LDAPAuth; fix Index pageprogress grace period refresh
Tero Marttila <terom@paivola.fi>
parents: 365
diff changeset
    46
            }
e431a1b71006 pvl.login: implement LDAPAuth; fix Index pageprogress grace period refresh
Tero Marttila <terom@paivola.fi>
parents: 365
diff changeset
    47
            
365
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    48
            if (progress <= 0 || (progress_refresh && progress < progress_refresh)) {
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    49
                // done
367
e431a1b71006 pvl.login: implement LDAPAuth; fix Index pageprogress grace period refresh
Tero Marttila <terom@paivola.fi>
parents: 365
diff changeset
    50
                reload = true;
365
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    51
            } else {
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    52
                // update
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    53
                progress_bar.css('width', (progress * 100 / progress_end) + '%');
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    54
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    55
                progress_label.html(seconds2interval(progress));
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    56
            }
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    57
        }
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    58
        
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    59
        window.setInterval(update_progress, 1000);
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    60
    });
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    61
});
e9e3d1580d36 pvl.login: animated expire progress
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    62