diff --git a/data/interfaces/default/js/script.js b/data/interfaces/default/js/script.js index 5a30ded3..9a0a3061 100644 --- a/data/interfaces/default/js/script.js +++ b/data/interfaces/default/js/script.js @@ -276,3 +276,27 @@ function millisecondsToMinutes(ms, roundToMinute) { } } } + +// Our countdown plugin takes a callback, a duration, and an optional message +$.fn.countdown = function (callback, duration, message) { + // If no message is provided, we use an empty string + message = message || ""; + // Get reference to container, and set initial content + var container = $(this[0]).html(duration + message); + // Get reference to the interval doing the countdown + var countdown = setInterval(function () { + // If seconds remain + if (--duration) { + // Update our container's message + container.html(duration + message); + // Otherwise + } else { + // Clear the countdown interval + clearInterval(countdown); + // And fire the callback passing our container as `this` + callback.call(container); + } + // Run interval every 1000ms (1 second) + }, 1000); + +}; \ No newline at end of file diff --git a/data/interfaces/default/shutdown.html b/data/interfaces/default/shutdown.html index b63ebf55..3ff2cc57 100644 --- a/data/interfaces/default/shutdown.html +++ b/data/interfaces/default/shutdown.html @@ -1,20 +1,60 @@ <%inherit file="base.html"/> <%def name="headIncludes()"> - + %def> <%def name="body()">