Merge pull request #46 from w00000dy/search-keep-mod

Move selected to the bottom in search result
This commit is contained in:
Blaž Kristan 2024-11-16 22:54:11 +01:00 committed by GitHub
commit 25ab381916
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2827,7 +2827,7 @@ function search(field, listId = null) {
// restore default preset sorting if no search term is entered // restore default preset sorting if no search term is entered
if (!search) { if (!search) {
if (listId === 'pcont') { populatePresets(); return; } if (listId === 'pcont') { populatePresets(); return; }
if (listId === 'pallist') { if (listId === 'pallist') {
let id = parseInt(d.querySelector('#pallist input[name="palette"]:checked').value); // preserve selected palette let id = parseInt(d.querySelector('#pallist input[name="palette"]:checked').value); // preserve selected palette
populatePalettes(); populatePalettes();
@ -2846,12 +2846,16 @@ function search(field, listId = null) {
// filter list items but leave (Default & Solid) always visible // filter list items but leave (Default & Solid) always visible
const listItems = gId(listId).querySelectorAll('.lstI'); const listItems = gId(listId).querySelectorAll('.lstI');
listItems.forEach((listItem,i)=>{ listItems.forEach((listItem, i) => {
if (listId!=='pcont' && i===0) return; if (listId !== 'pcont' && i === 0) return;
const listItemName = listItem.querySelector('.lstIname').innerText.toUpperCase(); const listItemName = listItem.querySelector('.lstIname').innerText.toUpperCase();
const searchIndex = listItemName.indexOf(field.value.toUpperCase()); const searchIndex = listItemName.indexOf(field.value.toUpperCase());
if (searchIndex < 0) {
listItem.dataset.searchIndex = Number.MAX_SAFE_INTEGER;
} else {
listItem.dataset.searchIndex = searchIndex;
}
listItem.style.display = (searchIndex < 0) && !listItem.classList.contains("selected") ? 'none' : ''; listItem.style.display = (searchIndex < 0) && !listItem.classList.contains("selected") ? 'none' : '';
listItem.dataset.searchIndex = searchIndex;
}); });
// sort list items by search index and name // sort list items by search index and name
@ -2920,10 +2924,10 @@ function filterFx() {
inputField.value = ''; inputField.value = '';
inputField.focus(); inputField.focus();
clean(inputField.nextElementSibling); clean(inputField.nextElementSibling);
gId("fxlist").querySelectorAll('.lstI').forEach((listItem,i) => { gId("fxlist").querySelectorAll('.lstI').forEach((listItem, i) => {
const listItemName = listItem.querySelector('.lstIname').innerText; const listItemName = listItem.querySelector('.lstIname').innerText;
let hide = false; let hide = false;
gId("filters").querySelectorAll("input[type=checkbox]").forEach((e) => { if (e.checked && !listItemName.includes(e.dataset.flt)) hide = i>0 /*true*/; }); gId("filters").querySelectorAll("input[type=checkbox]").forEach((e) => { if (e.checked && !listItemName.includes(e.dataset.flt)) hide = i > 0 /*true*/; });
listItem.style.display = hide && !listItem.classList.contains("selected") ? 'none' : ''; listItem.style.display = hide && !listItem.classList.contains("selected") ? 'none' : '';
}); });
} }