Added comments, incDec function
This commit is contained in:
parent
9f845ea234
commit
35a0785bf3
@ -13,8 +13,10 @@ function pause() {};
|
||||
function reset() {};
|
||||
function end() {};
|
||||
function print() {};
|
||||
function incDec() {};
|
||||
function getValues() {};
|
||||
|
||||
// Start timer not paused and not already finished
|
||||
function start() {
|
||||
if(isPaused == true && durationLeft.asSeconds() != 0) { // Only allow start if timer ist currently paused and durationLeft is not 0 seconds
|
||||
console.log("Timer gestartet")
|
||||
@ -32,6 +34,7 @@ function start() {
|
||||
return false
|
||||
}
|
||||
|
||||
// If possible pause timer, if not return false
|
||||
function pause() {
|
||||
if(!isPaused) {
|
||||
console.log("Timer pausiert");
|
||||
@ -42,6 +45,7 @@ function pause() {
|
||||
return false
|
||||
}
|
||||
|
||||
// Reset timer to passed value, and send durationLeft to all clients
|
||||
function reset(newDuration) {
|
||||
console.log("Timer Zurückgesetzt");
|
||||
duration = moment.duration(newDuration, 'seconds').clone(); // Set initial duration to received duration in seconds
|
||||
@ -49,18 +53,31 @@ function reset(newDuration) {
|
||||
io.sockets.emit('timerDurationLeft', print()) // Emit durationLeft to all connected sockets
|
||||
}
|
||||
|
||||
// Stop timer and emit timerEndet to all clients
|
||||
function end() {
|
||||
isPaused = true // Set status of the timer
|
||||
clearInterval(timerInterval); // End the execution
|
||||
io.sockets.emit('timerEnded', print()) // Emit end to all connected sockets
|
||||
}
|
||||
|
||||
// Return formatted timestamp in the format of 00:00
|
||||
function print() {
|
||||
var minutes = (durationLeft.minutes() < 10) ? "0" + durationLeft.minutes() : durationLeft.minutes(); // Create leading zeros for numbers <10
|
||||
var seconds = (durationLeft.seconds() < 10) ? "0" + durationLeft.seconds() : durationLeft.seconds(); // Create leading zeros for numbers <10
|
||||
return minutes + ":" + seconds
|
||||
}
|
||||
|
||||
// Increase or decrease the timer depending on the passed value in seconds
|
||||
function incDec(value) {
|
||||
if(Math.abs(value) >= durationLeft.asSeconds()) { // If abs from passed value is greater than seconds left on timer, end timer
|
||||
end();
|
||||
} else {
|
||||
durationLeft.add(value, 'second');
|
||||
io.sockets.emit('timerDurationLeft', print())
|
||||
}
|
||||
}
|
||||
|
||||
// Return all important timer values
|
||||
function getValues() {
|
||||
return {
|
||||
isPaused: isPaused,
|
||||
@ -71,5 +88,5 @@ function getValues() {
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
duration, durationLeft, isPaused, start, pause, reset, end, print, getValues
|
||||
duration, durationLeft, isPaused, start, pause, reset, end, print, incDec, getValues
|
||||
}
|
||||
@ -50,6 +50,7 @@ async function timerStart() {
|
||||
}
|
||||
}
|
||||
|
||||
// Request to pause the timer
|
||||
async function timerPause() {
|
||||
const response = await fetch("/admin/timerPause"); // Call API Endpoint /admin/timerStart
|
||||
if(response.status == 200) {
|
||||
@ -63,6 +64,7 @@ async function timerPause() {
|
||||
}
|
||||
}
|
||||
|
||||
// Request to reset the timer with the specified time
|
||||
async function timerReset() {
|
||||
let newDuration = document.getElementById("timerSelectDuration").value;
|
||||
const response = await fetch("/admin/timerReset", { // Call API Endpoint /admin/timerStart with selected new duration in seconds
|
||||
@ -72,7 +74,19 @@ async function timerReset() {
|
||||
});
|
||||
const data = await response.json(); // Wait for asyncronous transfer to complete and parse json (which got received by backend)
|
||||
console.log(data); // Print received data
|
||||
updateFrontend(data); // Update admin frontend with received values
|
||||
updateTimerFrontend(data); // Update admin frontend with received values
|
||||
}
|
||||
|
||||
// Request to increase or decrease the timer depending on passed value in seconds
|
||||
async function timerIncDec(value) {
|
||||
const response = await fetch("/admin/timerIncDec", { // Call API Endpoint /admin/timerIncDec with value in seconds to increase or decrease the timer
|
||||
method: 'POST',
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({value: value})
|
||||
});
|
||||
const data = await response.json(); // Wait for asyncronous transfer to complete and parse json (which got received by backend)
|
||||
console.log(data); // Print received data
|
||||
updateTimerFrontend(data); // Update admin frontend with received values
|
||||
}
|
||||
|
||||
// Scoreboardfunctions
|
||||
|
||||
@ -31,7 +31,12 @@ router.post('/timerReset', function(req, res, next) {
|
||||
res.json(timer.getValues()); // Respond with all important values to update the frontend
|
||||
});
|
||||
|
||||
// Express router endpoint to switch the score after halftime
|
||||
router.post('/timerIncDec', function(req, res, next) {
|
||||
timer.incDec(req.body.value);
|
||||
res.json(timer.getValues());
|
||||
});
|
||||
|
||||
// Express router endpoint to get important timer values
|
||||
router.get('/timerGetValues', function(req, res, next) {
|
||||
res.json(timer.getValues()); // Respond with important values for frontend
|
||||
});
|
||||
@ -46,6 +51,4 @@ router.get('/', function(req, res, next) {
|
||||
res.render('admin');
|
||||
});
|
||||
|
||||
|
||||
|
||||
module.exports = router;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user