From 457c329237f97069063e641b10f384a52d584f21 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 12 May 2026 17:50:11 +0000
Subject: [PATCH] =minor tweaks

---
 assets/js/concise/FormController.js |   38 ++++++++++++++++++++++++++------------
 1 files changed, 26 insertions(+), 12 deletions(-)

diff --git a/assets/js/concise/FormController.js b/assets/js/concise/FormController.js
index 19e4a81..d79d2fc 100644
--- a/assets/js/concise/FormController.js
+++ b/assets/js/concise/FormController.js
@@ -210,7 +210,10 @@
 					let field = key.replace('_tempUpload', '');
 
 					if (Object.hasOwn(form.ui.uploads, field)) {
-						uploads.push(value);
+						uploads = [
+							... uploads,
+							... value
+						];
 					}
 				}
 			}
@@ -483,7 +486,16 @@
 			});
 		}
 		let changes = this.changes.get(form.id);
-		changes.changes[name] = value;
+		//If it is temporary uploads, we need to store them all
+		if (name.includes('_tempUpload')) {
+			if (!Object.hasOwn(changes.changes, name)) {
+				changes.changes[name] = [];
+			}
+			changes.changes[name].push(value);
+		} else {
+			changes.changes[name] = value;
+		}
+
 		this.changes.set(form.id, changes);
 		if (form.options.cache) {
 			this.scheduleBackup();
@@ -550,6 +562,17 @@
 	 * @param {object} options
 	 */
 	registerForm(form, options) {
+		options = {
+			autoUpload: false,
+			imageMeta: true,
+			delay: 1500,
+			endpoint: Object.hasOwn(form.dataset, 'save') ? form.dataset.save: '',
+			showStatus: true,
+			showSummary: false,
+			cache: true,
+			ignore: [],
+			... options
+		};
 		//Bail if form already registered
 		if (Object.hasOwn(form.dataset, 'formId') && this.forms.has(form.dataset.formId)) return;
 
@@ -564,16 +587,7 @@
 			element: form,
 			id: formId,
 			status: '',
-			options: {
-				autoUpload: options.autoUpload??false,
-				imageMeta: options.imageMeta??true,
-				delay: options.delay??1500,
-				endpoint: options.save??form.dataset.save??'',
-				showStatus: options.showStatus??true,
-				showSummary: options.showSummary??false,
-				cache: options.cache??true,
-				ignore: options.ignore??[]
-			},
+			options: options,
 			ui: window.uiFromSelectors(this.selectors.forms, form)
 		};
 

--
Gitblit v1.10.0