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