From ac444cba221832c012c0435fdc8339fe9f37febb Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Mon, 11 May 2026 18:35:04 +0000
Subject: [PATCH] =Some changes to the CRUD.js editing, timeline post configuration

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

diff --git a/assets/js/concise/FormController.js b/assets/js/concise/FormController.js
index 82fc773..a3818c6 100644
--- a/assets/js/concise/FormController.js
+++ b/assets/js/concise/FormController.js
@@ -848,7 +848,7 @@
 								el.dataset.index = index;
 
 								manyRefs.inputs?.forEach(input => {
-									window.prefixInput(input, `${data.repeater.dataset.field}:${index}:`, el);
+									window.prefixInput(input, `${data.repeater.dataset.field}:${index}:`, el, false, true);
 								});
 							}
 						},
@@ -935,7 +935,7 @@
 								el.dataset.index = index;
 								manyRefs.inputs?.forEach(input => {
 									let wrapper = input.closest('.tag-item');
-									window.prefixInput(input, `${data.fieldName}:${index}:`, wrapper)
+									window.prefixInput(input, `${data.fieldName}:${index}:`, wrapper, false, true)
 								});
 
 								if (refs.label) {
@@ -1291,7 +1291,9 @@
 				window.prefixInput(
 					input,
 					`${fieldName}:${index}:`,
-					item  // Pass the item as wrapper for label lookup
+					item,
+					false,
+					true
 				);
 			});
 		});
@@ -1355,8 +1357,6 @@
 		field.classList.remove('has-success');
 		field.classList.add('has-error');
 
-		if (item.ui.success) item.ui.success.hidden = true;
-		if (item.ui.error) item.ui.error.hidden = true;
 		if (item.ui.message) {
 			item.ui.message.hidden = false;
 			item.ui.message.textContent = message;
@@ -1372,9 +1372,6 @@
 		field.classList.remove('has-error');
 		field.classList.add('has-success');
 
-		if (item.ui.success) item.ui.success.hidden = false;
-		if (item.ui.error) item.ui.error.hidden = true;
-
 		if (item.ui.message) {
 			item.ui.message.hidden = message=== '';
 			item.ui.message.textContent = message;
@@ -1579,6 +1576,7 @@
 	getFieldValue(element) {
 		let type = this.getFieldType(element);
 		let conf = this.getItem(element);
+
 		let fieldName = conf.field?.dataset.field??false;
 		if (!fieldName) return false;
 
@@ -1711,12 +1709,18 @@
 			return value;
 		}
 	getHiddenInputValue(element, conf, fieldName) {
-		if (!conf.value) {
-			conf.value = conf.field?.querySelector(`input[type=hidden][name="${fieldName}"]`)
-				|| conf.field?.querySelector(`input[type=hidden]`);
+		if (element.tagName !== 'INPUT' || element.type !== 'hidden'){
+			element = element.querySelector('input[type="hidden"][name="'+fieldName+'"]');
+			if (!element) {
+				return;
+			}
+		}
+
+		if (conf.value === undefined || conf.value !== element.value) {
+			conf.value = element.value;
 			this.saveItem(conf);
 		}
-		return conf.value?.value ?? '';
+		return conf.value;
 	}
 
 	/**

--
Gitblit v1.10.0