pvl/login/static/pubtkt-expire.js
author Tero Marttila <terom@paivola.fi>
Mon, 13 Jan 2014 20:25:36 +0200
changeset 367 e431a1b71006
parent 365 e9e3d1580d36
permissions -rw-r--r--
pvl.login: implement LDAPAuth; fix Index pageprogress grace period refresh
function pad2digits (i) {
    if (i < 10) {
        return "0" + i;
    } else {
        return "" + i;
    }
}

function seconds2interval (s) {
    var h, m;

    s = Math.floor(s);
    
    m = Math.floor(s / 60);
    s = s % 60;

    h = Math.floor(m / 60);
    m = m % 60;

    return h + ":" + pad2digits(m) + ":" + pad2digits(s);
}

$(function () {
    $('.pubtkt-progress').each(function () {
        var item = $(this);

        var progress_bar = item.find('.progress-bar');
        var progress_label = item.find('.pubtkt-progress-label');

        var progress_start = item.attr('data-start');
        var progress_refresh = item.attr('data-refresh');
        var progress_end = item.attr('data-end');
        
        var start_time = Date.now();

        var reload = false;

        function update_progress () {
            var duration = (Date.now() - start_time) / 1000;

            var progress = progress_start - duration;
            
            if (reload) {
                // delayed reload
                window.location.reload(true);
            }
            
            if (progress <= 0 || (progress_refresh && progress < progress_refresh)) {
                // done
                reload = true;
            } else {
                // update
                progress_bar.css('width', (progress * 100 / progress_end) + '%');

                progress_label.html(seconds2interval(progress));
            }
        }
        
        window.setInterval(update_progress, 1000);
    });
});