From fc47603f1f4e2156686e15800785ae98149f2d1c Mon Sep 17 00:00:00 2001 From: mic Date: Thu, 19 Feb 2026 22:28:04 +0100 Subject: [PATCH] tomselect updated to 2.5.1 see #665 --- VENDORS.md | 2 +- pages/_lib/tom-select.base.js | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/VENDORS.md b/VENDORS.md index f0c79411..cd5cd651 100644 --- a/VENDORS.md +++ b/VENDORS.md @@ -2,7 +2,7 @@ file: pages\_lib\list.js source: https://raw.githubusercontent.com/javve/list.js/v2.3.1/dist/list.js file: pages\_lib\tom-select.base.js -source: https://cdn.jsdelivr.net/npm/tom-select@2.4.6/dist/js/tom-select.base.js +source: https://cdn.jsdelivr.net/npm/tom-select@2.5.1/dist/js/tom-select.base.js file: js\lib\diff.js source: https://cdnjs.cloudflare.com/ajax/libs/jsdiff/7.0.0/diff.js \ No newline at end of file diff --git a/pages/_lib/tom-select.base.js b/pages/_lib/tom-select.base.js index a79fe394..8e42b70b 100644 --- a/pages/_lib/tom-select.base.js +++ b/pages/_lib/tom-select.base.js @@ -1,5 +1,5 @@ /** -* Tom Select v2.4.6 +* Tom Select v2.5.1 * Licensed under the Apache License, Version 2.0 (the "License"); */ @@ -1502,6 +1502,7 @@ create: null, createOnBlur: false, createFilter: null, + clearAfterSelect: false, highlight: true, openOnFocus: true, shouldOpen: null, @@ -2444,6 +2445,8 @@ self.createItem(null, () => { if (self.settings.closeAfterSelect) { self.close(); + } else if (self.settings.clearAfterSelect) { + self.setTextboxValue(); } }); } else { @@ -2453,6 +2456,8 @@ self.addItem(value); if (self.settings.closeAfterSelect) { self.close(); + } else if (self.settings.clearAfterSelect) { + self.setTextboxValue(); } if (!self.settings.hideSelected && evt.type && /click/.test(evt.type)) { self.setActiveOption(option); @@ -2884,6 +2889,11 @@ // perform search if (query !== self.lastQuery) { self.lastQuery = query; + // temp fix for https://github.com/orchidjs/tom-select/issues/987 + // UI crashed when more than 30 same chars in a row, prevent search and return empt result + if (/(.)\1{15,}/.test(query)) { + query = ''; + } result = self.sifter.search(query, Object.assign(options, { score: calculateScore })); @@ -3446,6 +3456,11 @@ } else if (!self.isPending) { self.positionDropdown(); } + + //remove input value when enabled + if (self.settings.clearAfterSelect) { + self.setTextboxValue(); + } self.trigger('item_add', hashed, item); if (!self.isPending) { self.updateOriginalInput({