Search improvement
This commit is contained in:
+1
-1
@@ -21,7 +21,7 @@
|
|||||||
type="text"
|
type="text"
|
||||||
id="issue-search"
|
id="issue-search"
|
||||||
class="issue-search"
|
class="issue-search"
|
||||||
placeholder="Filter displayed issues..."
|
placeholder="Filter issues (all words, any order)..."
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
>
|
||||||
<h2>Type</h2>
|
<h2>Type</h2>
|
||||||
|
|||||||
+3
-3
@@ -1,6 +1,6 @@
|
|||||||
const TYPE_FILTER_KEY = 'bugmedley.ui.typeFilters.v1';
|
const TYPE_FILTER_KEY = 'bugmedley.ui.typeFilters.v1';
|
||||||
|
|
||||||
let issueSearchTerm = '';
|
let issueSearchTerms = [];
|
||||||
let issueTypeFilters = loadTypeFilters();
|
let issueTypeFilters = loadTypeFilters();
|
||||||
|
|
||||||
function loadTypeFilters() {
|
function loadTypeFilters() {
|
||||||
@@ -38,7 +38,7 @@ export function applyIssueSearchFilter() {
|
|||||||
|
|
||||||
issueItems.forEach(item => {
|
issueItems.forEach(item => {
|
||||||
const itemText = item.textContent.toLowerCase();
|
const itemText = item.textContent.toLowerCase();
|
||||||
const matches = issueSearchTerm === '' || itemText.includes(issueSearchTerm);
|
const matches = issueSearchTerms.length === 0 || issueSearchTerms.every(term => itemText.includes(term));
|
||||||
if (item.tagName === 'TR') {
|
if (item.tagName === 'TR') {
|
||||||
item.style.display = matches ? 'table-row' : 'none';
|
item.style.display = matches ? 'table-row' : 'none';
|
||||||
} else {
|
} else {
|
||||||
@@ -52,7 +52,7 @@ export function applyIssueSearchFilter() {
|
|||||||
function initializeIssueSearch() {
|
function initializeIssueSearch() {
|
||||||
const searchInput = document.getElementById('issue-search');
|
const searchInput = document.getElementById('issue-search');
|
||||||
searchInput.addEventListener('input', () => {
|
searchInput.addEventListener('input', () => {
|
||||||
issueSearchTerm = searchInput.value.trim().toLowerCase();
|
issueSearchTerms = searchInput.value.trim().toLowerCase().split(/\s+/).filter(Boolean);
|
||||||
applyIssueSearchFilter();
|
applyIssueSearchFilter();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user