Skip to content

Instantly share code, notes, and snippets.

@adriendumont
Forked from kristopolous/hn_seach.js
Last active August 29, 2015 14:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adriendumont/9268fed0482ce351b79a to your computer and use it in GitHub Desktop.
Save adriendumont/9268fed0482ce351b79a to your computer and use it in GitHub Desktop.
hn job query search
function query() {
var
total = 0, shown = 0,
job_list = Array.prototype.slice.call(document.querySelectorAll('.c00,.cdd')),
query_list = Array.prototype.slice.call(arguments);
// turn them all off
job_list.forEach(function(node) {
node.parentNode.parentNode.parentNode.style.display = 'none';
total ++;
});
query_list.forEach(function(query) {
if (query.forEach) {
var and_query_list = query.map(function(what) { return what.toLowerCase(); });
job_list.forEach(function(node) {
var doesMatch = true, toTest = node.innerHTML.toLowerCase();
and_query_list.forEach(function(query) {
doesMatch &= (toTest.search(query) > -1);
})
if(doesMatch) {
node.parentNode.parentNode.parentNode.style.display = 'block';
shown ++;
}
});
} else {
query = query.toLowerCase();
job_list.forEach(function(node) {
if(node.innerHTML.toLowerCase().search(query) !== -1) {
node.parentNode.parentNode.parentNode.style.display = 'block';
shown ++;
}
});
}
});
return {shown: shown, total: total}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment