Files
chrome-extenstions/foxyproxy/content/options-filter.js
2026-01-20 21:53:59 +03:30

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)));
});
}
}