summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2020-06-15 20:12:03 +0200
committerOskar Nyberg <oskar@mullvad.net>2020-06-24 11:23:12 +0200
commite66685fc8024d9ce8b6448199b2109e9123bd3b6 (patch)
treef814fc7dd4495805d7e69b649889ef0b77e823c4
parent1f54942ca8da86efeb64b174dcceecdd9e48a85c (diff)
downloadmullvadvpn-e66685fc8024d9ce8b6448199b2109e9123bd3b6.tar.xz
mullvadvpn-e66685fc8024d9ce8b6448199b2109e9123bd3b6.zip
Add isRunning getter in Scheduler
-rw-r--r--gui/src/shared/scheduler.ts13
1 files changed, 12 insertions, 1 deletions
diff --git a/gui/src/shared/scheduler.ts b/gui/src/shared/scheduler.ts
index b31f0cda7c..8ae5a2cbf0 100644
--- a/gui/src/shared/scheduler.ts
+++ b/gui/src/shared/scheduler.ts
@@ -2,17 +2,28 @@ import { useEffect, useMemo } from 'react';
export class Scheduler {
private timer?: NodeJS.Timeout;
+ private running = false;
public schedule(action: () => void, delay = 0) {
this.cancel();
- this.timer = global.setTimeout(action, delay);
+
+ this.running = true;
+ this.timer = global.setTimeout(() => {
+ this.running = false;
+ action();
+ }, delay);
}
public cancel() {
if (this.timer) {
clearTimeout(this.timer);
+ this.running = false;
}
}
+
+ public get isRunning() {
+ return this.running;
+ }
}
export function useScheduler() {