From 37b807210e530611782bc6ea6cced86f7047bc7e Mon Sep 17 00:00:00 2001 From: Woody Date: Wed, 13 Dec 2023 18:22:09 +0100 Subject: [PATCH] Scroll to first search result on search --- wled00/data/index.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/wled00/data/index.js b/wled00/data/index.js index 02bb07ff9..029bd4c6d 100644 --- a/wled00/data/index.js +++ b/wled00/data/index.js @@ -2722,8 +2722,10 @@ function search(field, listId = null) { field.nextElementSibling.style.display = (field.value !== '') ? 'block' : 'none'; if (!listId) return; + const search = field.value !== ''; + // clear filter if searching in fxlist - if (listId === 'fxlist' && field.value !== '') { + if (listId === 'fxlist' && search) { gId("filters").querySelectorAll("input[type=checkbox]").forEach((e) => { e.checked = false; }); } @@ -2757,6 +2759,12 @@ function search(field, listId = null) { sortedListItems.forEach(item => { gId(listId).append(item); }); + + // scroll to first search result + const firstVisibleItem = sortedListItems.find(item => item.style.display !== 'none' && !item.classList.contains('sticky') && !item.classList.contains('selected')); + if (firstVisibleItem && search) { + firstVisibleItem.scrollIntoView({ behavior: "instant", block: "center" }); + } } function clean(clearButton) {