1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-30 09:20:58 +01:00
phorge-phorge/webroot/rsrc/js/application/countdown/timer.js
Joshua Spence 6270114767 Various linter fixes.
Summary:
- Removed trailing newlines.
- Added newline at EOF.
- Removed leading newlines.
- Trimmed trailing whitespace.
- Spelling fix.
- Added newline at EOF

Test Plan: N/A

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley

CC: hach-que, chad, Korvin, epriestley, aran

Differential Revision: https://secure.phabricator.com/D8344
2014-02-26 12:44:58 -08:00

52 lines
1.2 KiB
JavaScript

/**
* @provides javelin-behavior-countdown-timer
* @requires javelin-behavior
* javelin-dom
*/
JX.behavior('countdown-timer', function(config) {
var container = JX.$(config.container);
calculateTimeLeft();
function setComponent(which, content) {
var component = JX.DOM.find(container, '*', 'phabricator-timer-' + which);
JX.DOM.setContent(component, content);
}
function calculateTimeLeft() {
var days = 0;
var hours = 0;
var minutes = 0;
var seconds = 0;
var partial = 0;
var current_timestamp = +new Date();
var delta = (config.timestamp * 1000) - current_timestamp;
if (delta > 0) {
days = Math.floor(delta / 86400000);
delta -= days * 86400000;
hours = Math.floor(delta / 3600000);
delta -= hours * 3600000;
minutes = Math.floor(delta / 60000);
delta -= minutes * 60000;
seconds = Math.floor(delta / 1000);
delta -= seconds * 1000;
partial = Math.floor(delta / 100) || '0';
setTimeout(calculateTimeLeft, 100);
}
setComponent('days', days);
setComponent('hours', hours);
setComponent('minutes', minutes);
setComponent('seconds', [seconds, JX.$N('small', {}, ['.', partial])]);
}
});