From e9967fa22781d922ba4eb8fb44fe72d200ac4b14 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Mon, 10 Nov 2025 21:04:10 +0000
Subject: [PATCH] =IconsManager.php update

---
 assets/js/concise/TaxonomySelector.js |   26 ++++++++++++++++----------
 1 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/assets/js/concise/TaxonomySelector.js b/assets/js/concise/TaxonomySelector.js
index 3262ea8..1dcba38 100644
--- a/assets/js/concise/TaxonomySelector.js
+++ b/assets/js/concise/TaxonomySelector.js
@@ -960,8 +960,9 @@
 
 		if (!field) return;
 
-
+		// Store current value immediately (fixes fast typing issue)
 		const query = e.target.value.trim();
+		field.currentAutocompleteQuery = query;
 
 		if (query.length < 2) {
 			if (field.autocompleteDropdown) {
@@ -972,12 +973,6 @@
 		}
 
 		this.activeField = fieldId;
-		this.currentConfig = field;
-
-
-		if (field.canCreate && ! this.creator) {
-			this.creator = new window.jvbTaxCreator(this);
-		}
 		this.isAutocompleteActive = true;
 
 		if (field.autocompleteDropdown) {
@@ -1041,15 +1036,26 @@
 			});
 		}
 
-		// Offer to create new term if creator is available
-		if (this.creator) {
-			const createOption = this.creator.createAutocompleteOption(query, field);
+		// Use stored current query instead of debounced one
+		const currentQuery = field.currentAutocompleteQuery || query;
+		if (field.canCreate && currentQuery && window.jvbTaxCreator) {
+			const createOption = this.createNewTermOption(currentQuery);
 			dropdown.appendChild(createOption);
 		}
 
 		dropdown.hidden = false;
 	}
 
+	createNewTermOption(query) {
+		const button = document.createElement('button');
+		button.type = 'button';
+		button.className = 'autocomplete-item create-term';
+		button.dataset.query = query;
+		button.innerHTML = `<strong>Create:</strong> "${query}"`;
+
+		return button;
+	}
+
 	createAutocompleteTermElement(field, term) {
 		const item = document.createElement('button');
 		item.type = 'button';

--
Gitblit v1.10.0