Skip to content

Commit b72d1c4

Browse files
committed
Added highlighting of currently selected search bar. Added Ctrl+F/F3 interception in feature table.
1 parent d8e9312 commit b72d1c4

File tree

4 files changed

+41
-8
lines changed

4 files changed

+41
-8
lines changed

source/frontend/assets/css/main.css

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,12 @@ a:hover {
101101
padding-left: 2em;
102102
}
103103

104+
.searchBar:focus {
105+
outline: none;
106+
border-color: #3d9efe;
107+
background-color: #eff7ff;
108+
}
109+
104110
fieldset {
105111
float: left;
106112
flex: 0 1;
@@ -180,6 +186,11 @@ fieldset {
180186
color: #ffffff;
181187
border-color: #7f7f7f;
182188
background-color: #232323;
189+
}
190+
191+
.searchBar:focus {
192+
border-color: #3d9efe;
193+
background-color: #20303e;
183194
}
184195

185196
fieldset {

source/frontend/assets/js/website_feature_table.mjs

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import * as Properties from './properties.mjs'
77
import * as Server from './server.mjs'
88

99
let Reports = [];
10+
let SearchBar = null;
1011

1112
function MakeHumanReadableForTable(property, value) {
1213
if (property == null) return value;
@@ -512,16 +513,16 @@ function AddFilterPanel(container) {
512513
filterPanel.className = "FilterPanel";
513514
container.appendChild(filterPanel);
514515

515-
const searchBar = document.createElement("input")
516-
searchBar.type = "search"
517-
searchBar.placeholder = "Search Properties"
518-
searchBar.classList.add("searchBar")
516+
SearchBar = document.createElement("input")
517+
SearchBar.type = "search"
518+
SearchBar.placeholder = "Search Properties"
519+
SearchBar.classList.add("searchBar")
519520
Globals.PropertiesSearchString = "";
520-
searchBar.addEventListener('input', function (e) {
521+
SearchBar.addEventListener('input', function (e) {
521522
Globals.PropertiesSearchString = e.target.value;
522523
UpdateTable();
523524
})
524-
container.appendChild(searchBar)
525+
container.appendChild(SearchBar)
525526

526527
let fieldSetContainer = document.createElement("div");
527528
fieldSetContainer.classList.add("FieldSetContainer");
@@ -913,7 +914,28 @@ function UpdateTable() {
913914
UpdateTableBody(table);
914915
}
915916

917+
function OverrideSearch() {
918+
window.addEventListener("keydown", function (e) {
919+
if (SearchBar == null || document.activeElement == SearchBar)
920+
{
921+
return;
922+
}
923+
924+
let searchDetected = false;
925+
searchDetected = searchDetected || (e.key === "F3");
926+
searchDetected = searchDetected || (e.key.toUpperCase() === "F" && e.ctrlKey);
927+
928+
if (searchDetected)
929+
{
930+
e.preventDefault();
931+
SearchBar.focus();
932+
}
933+
})
934+
}
935+
916936
function OnLoad() {
937+
OverrideSearch();
938+
917939
const tableContainer = document.getElementById("FeatureTable")
918940
const textContainer = document.createElement("div")
919941
const loadingText = document.createTextNode("Loading. Please wait.")

0 commit comments

Comments
 (0)