summaryrefslogtreecommitdiff
path: root/app/javascript/controllers/timer_controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/javascript/controllers/timer_controller.js')
-rw-r--r--app/javascript/controllers/timer_controller.js12
1 files changed, 4 insertions, 8 deletions
diff --git a/app/javascript/controllers/timer_controller.js b/app/javascript/controllers/timer_controller.js
index 4888f6a..f6ba4f3 100644
--- a/app/javascript/controllers/timer_controller.js
+++ b/app/javascript/controllers/timer_controller.js
@@ -11,15 +11,12 @@ export default class extends Controller {
}
connect() {
- if (!this.timerInterval) this.startUpdating();
+ App.timerWorker.postMessage({ "run_flag": true });
this.timerTarget.textContent = Math.ceil(this.timeRemainingValue);
this.postFailures = 0;
- }
- startUpdating() {
let controller = this;
- controller.timerInterval = setInterval(() => {
-
+ App.timerWorker.onmessage = function() {
if (controller.timeRemainingValue > 0) {
controller.timeRemainingValue = controller.timeRemainingValue - 0.01;
}
@@ -28,11 +25,10 @@ export default class extends Controller {
controller.timerTarget.textContent = Math.ceil(controller.timeRemainingValue).toString();
controller.progressBarTarget.style.width = `${(1 - (controller.timeRemainingValue / controller.activityDurationValue)) * 100}%`;
} else {
- clearInterval(controller.timerInterval);
- controller.timerInterval = null;
+ App.timerWorker.postMessage({ "run_flag": false });
controller.finishActivity();
}
- }, 10);
+ }
}
finishActivity() {