From a24a06002081ad71a78ffeff9072725ba39cf121 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 17 Feb 2026 20:05:31 +0000
Subject: [PATCH] =minor changes, particularly around the JVB_CHILD_URL pattern
---
assets/js/concise/Queue.js | 18 +++++++++++++++---
1 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/assets/js/concise/Queue.js b/assets/js/concise/Queue.js
index d50488e..13d8f83 100644
--- a/assets/js/concise/Queue.js
+++ b/assets/js/concise/Queue.js
@@ -28,7 +28,7 @@
this.initListeners();
this.initStore();
if (this.canUpdateUI && this.ui.panel) {
- this.popup = new window.jvbPopup({
+ this.popup = window.jvbPopup.registerPopup({
popup: this.ui.panel,
toggle: this.ui.toggle.button,
name: 'Queue Panel',
@@ -161,11 +161,15 @@
this.onlineHandler = this.handleOnline.bind(this);
this.offlineHandler = this.handleOffline.bind(this);
this.unloadHandler = this.handleBeforeUnload.bind(this);
+ this.visibilityHandler = this.handleVisibilityChange.bind(this);
document.addEventListener('click', this.clickHandler);
window.addEventListener('online', this.onlineHandler);
window.addEventListener('offline', this.offlineHandler);
+
window.addEventListener('beforeunload', this.unloadHandler);
+
+ document.addEventListener('visibilitychange', this.visibilityHandler);
}
handleOnline() {
this.updatePanel('synced');
@@ -176,6 +180,14 @@
handleOffline() {
this.updatePanel('offline');
}
+
+ handleVisibilityChange(e) {
+ if (this.isPolling && document.hidden) {
+ this.stopPolling();
+ } else {
+ this.maybeStartPolling();
+ }
+ }
handleBeforeUnload(e) {
if (!this.ui.panel) return;
const total = this.getQueueByStatus(this.pendingStatuses).length;
@@ -288,8 +300,7 @@
storeName: 'queue',
keyPath: 'id',
endpoint: this.endpoint,
- // TTL: Infinity,
- TTL: 5000,
+ TTL: Infinity,
indexes: [
{name: 'status', keyPath: 'status'},
{name: 'type', keyPath: 'type'},
@@ -1126,3 +1137,4 @@
}
});
});
+
--
Gitblit v1.10.0