Jake Vanderwerf
2026-06-29 4089ba01e0881c89a72332e13bc3a80b6bddec2a
assets/js/concise/TaxonomySelector.js
@@ -408,6 +408,7 @@
   }
   handleFocus(e) {
      if (!Object.hasOwn(e, 'target')) return;
      if (!this.container.contains(e.target) && !e.target.closest('[data-type="selector"], [data-field-type="selector"]')) {
         return;
      }
@@ -426,6 +427,7 @@
   //Hide autocomplete dropdown on blur
   handleBlur(e) {
      if (!Object.hasOwn(e, 'target')) return;
      if (!this.container.contains(e.target) && !e.target.closest('[data-type="selector"], [data-field-type="selector"]')) {
         return;
      }
@@ -1135,11 +1137,31 @@
   handleFetchError(error) {
      const field = this.currentField();
      const message = field
         ? `Failed to load ${field.plural}`
         : 'Failed to load data';
      this.setMessage(field, true, 'Something went wrong.', false);
      this.setMessage(field,true, message, false);
      const conf = this.container.open || field?.isFilter ? this.ui : field?.ui;
      const p = conf?.message?.message;
      if (p && !p.querySelector('.clear-cache-btn')) {
         const btn = document.createElement('button');
         btn.className = 'clear-cache-btn';
         btn.type = 'button';
         btn.textContent = 'Clear cache and try again';
         btn.addEventListener('click', async () => {
            btn.remove();
            this.store.clearCache();
            if (this.activeField && field) {
               await this.store.setFilters({
                  taxonomy: field.taxonomy,
                  page: 1,
                  search: '',
                  parent: 0
               });
            }
         });
         p.appendChild(btn);
      }
      console.error('Store fetch error:', error);
   }
   async batchFetchTaxonomies() {