Index: lams_tool_doku/web/pages/learning/learning.jsp =================================================================== diff -u -rd0f4c3bdd871e236755472c8443c337b2b96e48c -r330b0d5f8fa4a8deb6d7454f92bdbd289e89cb82 --- lams_tool_doku/web/pages/learning/learning.jsp (.../learning.jsp) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) +++ lams_tool_doku/web/pages/learning/learning.jsp (.../learning.jsp) (revision 330b0d5f8fa4a8deb6d7454f92bdbd289e89cb82) @@ -68,41 +68,43 @@ }); - let timeLimitExceeded = ${timeLimitExceeded}; - initWebsocket('dokuTimeLimit${sessionMap.toolContentID}', - ''.replace('http', 'ws') - + 'learningWebsocket?toolContentID=${sessionMap.toolContentID}', - function (e) { - // create JSON object - var input = JSON.parse(e.data); + + let timeLimitExceeded = ${timeLimitExceeded}; + initWebsocket('dokuTimeLimit${sessionMap.toolContentID}', + ''.replace('http', 'ws') + 'learningWebsocket?toolContentID=${sessionMap.toolContentID}', + function (e) { + // create JSON object + var input = JSON.parse(e.data); + + if (input.clearTimer == true) { + // teacher stopped the timer, destroy it + $('#countdown').countdown('destroy').remove(); + } else if (typeof input.secondsLeft != 'undefined'){ + // teacher updated the timer + var secondsLeft = +input.secondsLeft, + counterInitialised = $('#countdown').length > 0; + + if (counterInitialised) { + // just set the new time + $('#countdown').countdown('option', 'until', secondsLeft + 'S'); + } else if (timeLimitExceeded){ + if (secondsLeft > 0) { + // teacher gave extra time, reload to writable Etherpad + location.reload(); + return; + } + } else { + // initialise the timer + displayCountdown(secondsLeft); + } + } + + // reset ping timer + websocketPing('dokuTimeLimit${sessionMap.toolContentID}', true); + } + ); + - if (input.clearTimer == true) { - // teacher stopped the timer, destroy it - $('#countdown').countdown('destroy').remove(); - } else if (typeof input.secondsLeft != 'undefined'){ - // teacher updated the timer - var secondsLeft = +input.secondsLeft, - counterInitialised = $('#countdown').length > 0; - - if (counterInitialised) { - // just set the new time - $('#countdown').countdown('option', 'until', secondsLeft + 'S'); - } else if (timeLimitExceeded){ - if (secondsLeft > 0) { - // teacher gave extra time, reload to writable Etherpad - location.reload(); - return; - } - } else { - // initialise the timer - displayCountdown(secondsLeft); - } - } - - // reset ping timer - websocketPing('dokuTimeLimit${sessionMap.toolContentID}', true); - }); - $('[data-bs-toggle="tooltip"]').each((i, el) => { new bootstrap.Tooltip($(el)) });