author | Tero Marttila <terom@paivola.fi> |
Sun, 07 Sep 2014 14:40:31 +0300 | |
changeset 428 | 956b3d4918bb |
parent 367 | e431a1b71006 |
permissions | -rw-r--r-- |
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 |