From 8b82035f3f8be1462a7125ad7eafb990ca17fa94 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sat, 07 Feb 2026 17:37:23 +0000
Subject: [PATCH] =Port over to jakevan

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

diff --git a/assets/js/concise/FormController.js b/assets/js/concise/FormController.js
index 07185b6..1286355 100644
--- a/assets/js/concise/FormController.js
+++ b/assets/js/concise/FormController.js
@@ -882,6 +882,7 @@
 						form: form.dataset.formId,
 						format: field.dataset.tagFormat??'first_field'
 					};
+					console.log('Registering Tag List with config', config);
 					if (!config.ui.input || !config.ui.add || !config.ui.items) return;
 
 					field.dataset.tagListId = config.id;
@@ -900,7 +901,7 @@
 								let index = config.ui.items?.children?.length??0;
 								el.dataset.index = index;
 								manyRefs.inputs?.forEach(input => {
-									let wrapper = window.closest('.tag-item');
+									let wrapper = input.closest('.tag-item');
 									window.prefixInput(input, `${el.dataset.fieldName}:${index}:`, wrapper)
 								});
 
@@ -910,8 +911,10 @@
 							}
 						},
 					);
-
+					config.ui.inputs = Array.from(field.querySelectorAll(this.selectors.tagList.inputs));
+					config.ui.value = Array.from(field.querySelectorAll(this.selectors.tagList.value));
 					this.tagLists.set(config.id, config);
+					console.log('Adding tag list listeners to ', field);
 					this.addTagListListeners(field);
 				});
 
@@ -926,7 +929,7 @@
 				}
 
 				handleTagListClick(e) {
-					if (e.target.matches(this.selectors.tagList.add)) {
+					if (window.targetCheck(e,this.selectors.tagList.add)) {
 						this.addTagListItem(e.target.closest('[data-tag-list-id]'));
 					} else if (e.target.matches(this.selectors.tagList.remove)) {
 						this.removeTagListItem(e.target.closest(this.selectors.tagList.remove));
@@ -938,7 +941,6 @@
 
 						let data = {};
 						let hasValue = false;
-
 						for (let input of config.ui.inputs) {
 							this.validateField(input);
 							const fieldName = input.name.replace('new_','');
@@ -970,7 +972,7 @@
 								label = Object.values(data).join(', ');
 								break;
 							default:
-								if (format.includes('{')) {
+								if (config.format.includes('{')) {
 									let label = config.format;
 									for (const [key, value] of Object.entries(data)) {
 										label = label.replace(`{${key}}`, value);

--
Gitblit v1.10.0