UNPKG

selecton

Version:

Selecton.js combines a searchbar and a dropdown menu with nested child lists.

33 lines (21 loc) 660 B
export default function(d, searchTerm, renderFn){ if(searchTerm && d.selectable){ var str = renderFn(d); var re = new RegExp(searchTerm, 'gi'); var matches = str.match(re); if(matches){ d._search_ = str.replace(re, replaceSearchString); }else{ delete d._search_; } return (str.toLowerCase().indexOf(searchTerm) === -1) || d.selected; } if(!searchTerm){ delete d._search_; return d.closed; } return false; } function replaceSearchString(string){ return '<span class="dropdown-list-item-highlighted">' + string + '</span>'; }