From 772462eeca3002a1d52508aeba485aab2b4742ad Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 03 Mar 2026 19:06:19 +0000
Subject: [PATCH] =MAJOR OVERHAUL. Likely should have made a new branch ages ago. Key changes: Registrar.php is the base for custom post types, taxonomies, and user roles. Replaces JVB_CONTENT, JVB_TAXONOMY, and JVB_USER constants, eliminates most of Features.php (except for JVB_SITE, JVB_MEMBERSHIP), and has built in sanitizing and validation via sub-classes. Also started a major overhaul of the Schema output. Created a shit ton of property traits and classes to help sanitize and ensure proper data for different schema types. Still a bunch to do, but better to be starting committing changes here on this other branch.
---
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