PageSourceSearch

https://www.epectec.com/js/filter.js

js epectec.com collected 2026-10-02 07:12:17 UTC 2,462 bytes, 1 lines download raw bytes

1$(document).ready(function(){console.log("Document ready"),$(document).foundation(),console.log("Foundation initialized");const e=$("#ebook-filter-input"),o=$("#filter-suggestions"),t=$(".item[data-category]"),i=$("#items-container"),s={pcbs:"printed-circuit-boards",pcb:"printed-circuit-boards",pc:"printed-circuit-boards","printed circuit boards":"printed-circuit-boards","circuit boards":"printed-circuit-boards",boards:"printed-circuit-boards",flex:"flex-rigid-flex","rigid-flex":"flex-rigid-flex",hmi:"user-interfaces","user interfaces":"user-interfaces",interfaces:"user-interfaces"};function n(s){const n=o.find('li[data-value="'+s+'"]'),c=n.length?n.text():"";e.val(c),function(e){const o=[];t.each(function(){const t=$(this).data("category").toString().split(" "),i=""===e||t.includes(e);$(this).parent().toggleClass("show",i).toggleClass("hide",!i),i&&o.push($(this).parent()[0])}),i.empty().append(o)}(s);const a=new URL(window.location.href);""===s?a.searchParams.delete("filter"):a.searchParams.set("filter",s),history.replaceState(null,"",a.toString())}const c=new URLSearchParams(window.location.search).get("filter");c&&(n(c),setTimeout(function(){const e=document.querySelector(".filter-jump-to");if(e){const o=e.getBoundingClientRect().top+window.pageYOffset-anchorOffset;window.scrollTo({top:o,behavior:"smooth"})}},50)),$("#filter-reset-btn").on("click",function(){console.log("Filter reset"),n(""),o.removeClass("show").addClass("hide")}),o.removeClass("show").addClass("hide"),console.log("Dropdown hidden on load"),setTimeout(function(){e.on("focus click",function(e){console.log("Input focused or clicked"),e.stopPropagation(),o.removeClass("hide").addClass("show"),o.find("li").removeClass("hide").addClass("show")}),e.on("input",function(){let e=$(this).val().toLowerCase().trim(),t=s[e]||e;console.log("Filtering with query:",e,"| Mapped to:",t),o.removeClass("hide").addClass("show"),o.find("li").each(function(){const o=$(this).text().toLowerCase(),i=$(this).data("value"),s=o.includes(e)||i===t;console.log(`  - Checking "${o}" with value "${i}": ${s}`),$(this).toggleClass("show",s).toggleClass("hide",!s)})})}),$(document).on("click",function(e){$(e.target).closest(".search-dropdown-wrapper").length||(console.log("Clicked outside – hiding dropdown"),o.removeClass("show").addClass("hide"))}),o.on("click","li",function(){const e=$(this).data("value");console.log("Selected:",e),o.removeClass("show").addClass("hide"),n(e)})});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.