You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.8 KiB
60 lines
1.8 KiB
12 months ago
|
(function() {
|
||
|
|
||
|
var filterType = document.getElementById('filterType');
|
||
|
var classFilter = document.getElementById('ClassFilter');
|
||
|
var classList = document.getElementById('ClassList');
|
||
|
|
||
|
function filter() {
|
||
|
var value = classFilter.value.toLowerCase();
|
||
|
|
||
|
var items = classList.getElementsByTagName('li');
|
||
|
for (var i = 0; i < items.length; i++) {
|
||
|
var item = items[i];
|
||
|
var itemName = item.getAttribute('data-name') || '';
|
||
|
itemName = itemName.toLowerCase().replace(/\s/g, '');
|
||
|
if (itemName.indexOf(value) >= 0) {
|
||
|
item.style.display = '';
|
||
|
} else {
|
||
|
item.style.display = 'none';
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
classFilter.onkeyup = filter;
|
||
|
|
||
|
function getQueryParameter(name) {
|
||
|
var match = new RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
|
||
|
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
|
||
|
}
|
||
|
|
||
|
var show = getQueryParameter('show');
|
||
|
if (show) {
|
||
|
document.getElementById('filterType').value = show;
|
||
|
}
|
||
|
|
||
|
var searchTerm = getQueryParameter('classFilter') || '';
|
||
|
classFilter.value = searchTerm;
|
||
|
filter();
|
||
|
|
||
|
function resetFilter() {
|
||
|
classFilter.value = '';
|
||
|
filter();
|
||
|
}
|
||
|
|
||
|
function updateMenuLinks() {
|
||
|
var links = classList.getElementsByTagName('a');
|
||
|
var searchTerm = classFilter.value;
|
||
|
for (var i = 0; i < links.length; i++) {
|
||
|
var link = links[i];
|
||
|
var prefix = link.href.split('?')[0];
|
||
|
link.href = prefix + (searchTerm === '' ? '' : '?classFilter=' + searchTerm);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var menuLinks = classList.getElementsByTagName('a');
|
||
|
for (var i = 0; i < menuLinks.length; i++) {
|
||
|
menuLinks[i].onclick = function() {
|
||
|
updateMenuLinks();
|
||
|
}
|
||
|
}
|
||
|
})();
|