From 9debee6005ab648d57da017c4f29c7fa507da6a8 Mon Sep 17 00:00:00 2001 From: Waqas Tariq Date: Thu, 3 Mar 2022 20:51:10 +0500 Subject: [PATCH] feat: filter auto select on key down Filter input gets focus on keydown. On page back filter the list if input is not empty. --- apaxy/theme/apaxy.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/apaxy/theme/apaxy.js b/apaxy/theme/apaxy.js index cc2080a..f17a643 100644 --- a/apaxy/theme/apaxy.js +++ b/apaxy/theme/apaxy.js @@ -60,6 +60,23 @@ document.addEventListener('readystatechange', function() { if (document.readyState === 'complete') { TableFilter.init(); + var filterInput = document.getElementById('filter'); + if ( filterInput.value.trim().length ){ + filterInput.focus(); + filterInput.dispatchEvent(new Event('input')); + } + } + }); + + // Use Keydown to get special keys like Backspace, Enter, Esc. + window.addEventListener('keydown', function (e) { + var filterInput = document.getElementById('filter'); + var isFocused = (document.activeElement === filterInput); + if ( !isFocused && String.fromCharCode(e.keyCode).match(/(\w|\s)/g) ) { + filterInput.focus(); + } else { + //pressed key is a non-char + //e.g. 'esc', 'backspace', 'up arrow' } });