mirror of
https://github.com/wled/WLED.git
synced 2025-07-15 14:56:32 +00:00
Merge pull request #46 from w00000dy/search-keep-mod
Move selected to the bottom in search result
This commit is contained in:
commit
25ab381916
@ -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' : '';
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user