From 0e4b986e81f8132a44e61fa8df18860301cc3468 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Thu, 01 Jan 2026 20:31:10 +0000
Subject: [PATCH] =JakeVan preliminary additions

---
 assets/js/concise/CRUD.js |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/assets/js/concise/CRUD.js b/assets/js/concise/CRUD.js
index f6eee56..2471e91 100644
--- a/assets/js/concise/CRUD.js
+++ b/assets/js/concise/CRUD.js
@@ -91,7 +91,7 @@
 		});
 
 		this.queue.subscribe((event, data) => {
-			if (!Object.hasOwn(data, 'endpoint') || data.endpoint !== 'content') return;
+			if (!Object.hasOwn(data, 'endpoint') || !['content', 'uploads/groups'].includes(data.endpoint)) return;
 			if (event === 'operation-completed') {
 				this.handleQueueSuccess(event, data);
 			} else if (event === 'operation-failed-permanent') {
@@ -207,7 +207,6 @@
 	}
 	async handleQueueSuccess(event, data) {
 		this.store.clearCache();
-		this.store.clearHttpHeaders();
 		this.store.fetch();
 	}
 	handleQueueFailure(event, data) {
@@ -234,6 +233,20 @@
 			uploader: 'details.uploader'
 		};
 		this.ui = window.uiFromSelectors(this.elements);
+		if (this.ui.uploader) {
+			window.jvbUploads.scanFields(document.querySelector(this.elements.uploader));
+
+			window.jvbUploads.subscribe((event, data) => {
+				if (event === 'sent-to-queue') {
+					console.log(data);
+					if (data === this.ui.uploader.querySelector('[data-uploader]')?.dataset.uploader) {
+						window.debouncer.schedule('crud-complete', ()=> {
+							this.store.clearHttpHeaders();
+						});
+					}
+				}
+			});
+		}
 		this.isTimeline = !!document.querySelector('[data-timeline]');
 	}
 	init() {
@@ -316,7 +329,7 @@
 						break;
 
 					case 'create':
-						this.modals.create.dataset.itemID = 'new';
+						this.modals.create.dataset.itemId = 'new';
 						this.modals.create.dataset.content = this.content;
 						this.modals.create.handleOpen();
 						break;
@@ -646,7 +659,7 @@
 
 		let item = this.store.get(parseInt(itemID));
 		if (item) {
-			this.ui.modals.edit.dataset.itemID = itemID;
+			this.ui.modals.edit.dataset.itemId = itemID;
 			this.ui.modals.edit.dataset.content = this.content;
 
 			let form = this.ui.modals.edit.querySelector('form');

--
Gitblit v1.10.0