Skip to content

Commit 25ab381

Browse files
authored
Merge pull request #46 from w00000dy/search-keep-mod
Move selected to the bottom in search result
2 parents 8c5e0cd + 4d3df5d commit 25ab381

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

wled00/data/index.js

+10-6
Original file line numberDiff line numberDiff line change
@@ -2827,7 +2827,7 @@ function search(field, listId = null) {
28272827

28282828
// restore default preset sorting if no search term is entered
28292829
if (!search) {
2830-
if (listId === 'pcont') { populatePresets(); return; }
2830+
if (listId === 'pcont') { populatePresets(); return; }
28312831
if (listId === 'pallist') {
28322832
let id = parseInt(d.querySelector('#pallist input[name="palette"]:checked').value); // preserve selected palette
28332833
populatePalettes();
@@ -2846,12 +2846,16 @@ function search(field, listId = null) {
28462846

28472847
// filter list items but leave (Default & Solid) always visible
28482848
const listItems = gId(listId).querySelectorAll('.lstI');
2849-
listItems.forEach((listItem,i)=>{
2850-
if (listId!=='pcont' && i===0) return;
2849+
listItems.forEach((listItem, i) => {
2850+
if (listId !== 'pcont' && i === 0) return;
28512851
const listItemName = listItem.querySelector('.lstIname').innerText.toUpperCase();
28522852
const searchIndex = listItemName.indexOf(field.value.toUpperCase());
2853+
if (searchIndex < 0) {
2854+
listItem.dataset.searchIndex = Number.MAX_SAFE_INTEGER;
2855+
} else {
2856+
listItem.dataset.searchIndex = searchIndex;
2857+
}
28532858
listItem.style.display = (searchIndex < 0) && !listItem.classList.contains("selected") ? 'none' : '';
2854-
listItem.dataset.searchIndex = searchIndex;
28552859
});
28562860

28572861
// sort list items by search index and name
@@ -2920,10 +2924,10 @@ function filterFx() {
29202924
inputField.value = '';
29212925
inputField.focus();
29222926
clean(inputField.nextElementSibling);
2923-
gId("fxlist").querySelectorAll('.lstI').forEach((listItem,i) => {
2927+
gId("fxlist").querySelectorAll('.lstI').forEach((listItem, i) => {
29242928
const listItemName = listItem.querySelector('.lstIname').innerText;
29252929
let hide = false;
2926-
gId("filters").querySelectorAll("input[type=checkbox]").forEach((e) => { if (e.checked && !listItemName.includes(e.dataset.flt)) hide = i>0 /*true*/; });
2930+
gId("filters").querySelectorAll("input[type=checkbox]").forEach((e) => { if (e.checked && !listItemName.includes(e.dataset.flt)) hide = i > 0 /*true*/; });
29272931
listItem.style.display = hide && !listItem.classList.contains("selected") ? 'none' : '';
29282932
});
29292933
}

0 commit comments

Comments
 (0)