26 lines
818 B
JavaScript
26 lines
818 B
JavaScript
// ---------- Filter Proxy (Side Effect) -------------------
|
|
class Filter {
|
|
|
|
static {
|
|
this.list = document.querySelector('div.proxy-div');
|
|
const filter = document.querySelector('.filter');
|
|
filter.addEventListener('input', e => this.process(e));
|
|
}
|
|
|
|
static process(e) {
|
|
const str = e.target.value.toLowerCase().trim();
|
|
const elem = [...this.list.children];
|
|
if (!str) {
|
|
elem.forEach(i => i.classList.remove('off'));
|
|
return;
|
|
}
|
|
|
|
elem.forEach(item => {
|
|
const proxyBox = item.children[1].children[0];
|
|
const title = proxyBox.children[1].value;
|
|
const hostname = proxyBox.children[3].value;
|
|
const port = ':' + proxyBox.children[7].value;
|
|
item.classList.toggle('off', ![title, hostname, port].some(i => i.toLowerCase().includes(str)));
|
|
});
|
|
}
|
|
} |