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