mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-24 14:30:56 +01:00
49 lines
1.2 KiB
JavaScript
49 lines
1.2 KiB
JavaScript
|
/**
|
||
|
* @provides javelin-behavior-countdown-timer
|
||
|
* @requires javelin-behavior
|
||
|
* javelin-dom
|
||
|
* javelin-util
|
||
|
*/
|
||
|
|
||
|
JX.behavior('countdown-timer', function(config) {
|
||
|
|
||
|
calculateTimeLeft();
|
||
|
|
||
|
function calculateTimeLeft() {
|
||
|
var days = 0;
|
||
|
var hours = 0;
|
||
|
var minutes = 0;
|
||
|
var seconds = 0;
|
||
|
|
||
|
var current_timestamp = Math.round(new Date() / 1000);
|
||
|
var delta = config.timestamp - current_timestamp;
|
||
|
|
||
|
if (delta <= 0) {
|
||
|
JX.DOM.setContent(JX.$('phabricator-timer-days'), days);
|
||
|
JX.DOM.setContent(JX.$('phabricator-timer-hours'), hours);
|
||
|
JX.DOM.setContent(JX.$('phabricator-timer-minutes'), minutes);
|
||
|
JX.DOM.setContent(JX.$('phabricator-timer-seconds'), seconds);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
days = Math.floor(delta/86400);
|
||
|
delta -= days * 86400;
|
||
|
|
||
|
hours = Math.floor(delta/3600);
|
||
|
delta -= hours * 3600;
|
||
|
|
||
|
minutes = Math.floor(delta / 60);
|
||
|
delta -= minutes * 60;
|
||
|
|
||
|
seconds = delta;
|
||
|
|
||
|
JX.DOM.setContent(JX.$('phabricator-timer-days'), days);
|
||
|
JX.DOM.setContent(JX.$('phabricator-timer-hours'), hours);
|
||
|
JX.DOM.setContent(JX.$('phabricator-timer-minutes'), minutes);
|
||
|
JX.DOM.setContent(JX.$('phabricator-timer-seconds'), seconds);
|
||
|
|
||
|
JX.defer(calculateTimeLeft, 1000);
|
||
|
}
|
||
|
});
|
||
|
|