summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLASER-Yi <[email protected]>2021-08-24 09:31:47 +0800
committerLASER-Yi <[email protected]>2021-08-24 09:31:47 +0800
commit81507b9e750228de6d52cb3f7cbd631ecfac3713 (patch)
tree8f88568274f58cb3a28588d1a365e209a375a32b
parent45e93df2ebb4a4b6707a0e7f3c612bc83813bcff (diff)
downloadbazarr-81507b9e750228de6d52cb3f7cbd631ecfac3713.tar.gz
bazarr-81507b9e750228de6d52cb3f7cbd631ecfac3713.zip
Add a dialog before closing the page to inform user when there're still background tasks running
-rw-r--r--frontend/src/@modules/task/index.ts11
1 files changed, 11 insertions, 0 deletions
diff --git a/frontend/src/@modules/task/index.ts b/frontend/src/@modules/task/index.ts
index aee555b0d..02483e990 100644
--- a/frontend/src/@modules/task/index.ts
+++ b/frontend/src/@modules/task/index.ts
@@ -12,6 +12,17 @@ class BackgroundTask {
private groups: Task.Group;
constructor() {
this.groups = {};
+ window.addEventListener("beforeunload", this.onBeforeUnload.bind(this));
+ }
+
+ private onBeforeUnload(e: BeforeUnloadEvent) {
+ const message = "Background tasks are still running";
+ if (Object.keys(this.groups).length !== 0) {
+ e.preventDefault();
+ e.returnValue = message;
+ return;
+ }
+ delete e["returnValue"];
}
dispatch<T extends Task.Callable>(groupName: string, tasks: Task.Task<T>[]) {