From d7e7d248cbe41cd7a9ef9c2fb022b6c4831f99a3 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 31 May 2026 15:22:56 +0000
Subject: [PATCH] =jakevan complete

---
 assets/js/concise/CRUD.js |   35 +++++++++++++++++++++++------------
 1 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/assets/js/concise/CRUD.js b/assets/js/concise/CRUD.js
index 4ecdf90..7ee64ff 100644
--- a/assets/js/concise/CRUD.js
+++ b/assets/js/concise/CRUD.js
@@ -324,7 +324,11 @@
 				},
 				date: '[data-filter="date"]'
 			},
-			uploader: 'details.uploader'
+			uploader: {
+				details: 'details.uploader',
+				form: 'details.uploader form',
+				uploader: 'details.uploader [data-field-type="upload"]'
+			}
 		}
 
 		this.ui = window.uiFromSelectors(this.selectors);
@@ -340,12 +344,17 @@
 		this.isTimeline = !!document.querySelector('[data-timeline]');
 	}
 		initUploader() {
-			if (!this.ui.uploader) return;
+			if (!this.ui.uploader.form) return;
+			this.uploadForm = this.forms.registerForm(this.ui.uploader.form).id??false;
 
-			window.jvbUploads.scanFields(this.ui.uploader);
+			// window.jvbUploads.scanFields(this.ui.uploader);
 			window.jvbUploads.subscribe((event, data) => {
 				if (event === 'sent-to-queue') {
-					if (data === this.ui.uploader.dataset.uploader) {
+					if (data.field.id === this.ui.uploader.uploader.dataset.uploader) {
+						if (this.uploadForm ) {
+							this.forms.store.delete(this.uploadForm);
+						}
+
 						window.debouncer.schedule('crud-complete', ()=> {
 							this.store.clearCache();
 						});
@@ -517,6 +526,7 @@
 					console.log('Handling group mapping from queue response');
 					this.handleGroupMappings(data.result.group_mappings);
 				}
+
 				this.store.clearCache();
 			}
 
@@ -548,8 +558,9 @@
 				}
 			}
 
-			if (event === 'sent-to-server') {
-				console.log('Sent to server in CRUD.js with data: ', data);
+			if (event === 'sent-to-server' && data.type === 'content_update') {
+				if (data instanceof FormData) return;
+
 				for ( let [id, changes] of Object.entries(data.posts)) {
 					this.compareStored(id, changes);
 				}
@@ -654,7 +665,7 @@
 				default: 'closed',
 			},
 			showUploader: {
-				element: this.ui.uploader,
+				element: this.ui.uploader.details,
 				default: 'open'
 			}
 		};
@@ -866,9 +877,6 @@
 			value = this.forms.getFieldValue(e.target);
 		}
 
-		console.log('Name: ', name);
-		console.log('Value: ', value);
-
 		item.dataset.itemId.split(',').forEach(itemId => {
 			this.updateItem(itemId, name, value);
 		});
@@ -1286,17 +1294,20 @@
 		this.ui.modals.edit.form.dataset.formId = `edit-${itemID}`;
 
 
+		this.isPopulating = true;
+
 		this.modals.edit.handleOpen();
 		this.forms.registerForm(this.ui.modals.edit.form, {cache: false,
 			autoUpload: true,});
 
 
-		this.isPopulating = true;
 		this.populate.populate(this.ui.modals.edit.form, item);
 		//For quill/taxonomy selector's async setups
 		requestAnimationFrame(() => {
 			requestAnimationFrame(() => {
-				this.isPopulating = false;
+				setTimeout(() => {
+					this.isPopulating = false;
+				}, 50);
 			});
 		});
 

--
Gitblit v1.10.0