This repository has been archived on 2024-05-11. You can view files and clone it, but cannot push or open issues or pull requests.
meshviewer/lib/filters/hostname.js

42 lines
925 B
JavaScript

define(function () {
'use strict';
return function () {
var refreshFunctions = [];
var timer;
var input = document.createElement('input');
function refresh() {
clearTimeout(timer);
timer = setTimeout(function () {
refreshFunctions.forEach(function (f) {
f();
});
}, 250);
}
function run(d) {
return (d.nodeinfo !== undefined ? d.nodeinfo.hostname.toLowerCase().includes(input.value.toLowerCase()) : '');
}
function setRefresh(f) {
refreshFunctions.push(f);
}
function render(el) {
input.type = 'search';
input.placeholder = _.t('sidebar.nodeFilter');
input.addEventListener('input', refresh);
el.classList.add('filter-node');
el.classList.add('ion-filter');
el.appendChild(input);
}
return {
run: run,
setRefresh: setRefresh,
render: render
};
};
});