From 1f3addcca5bad9ed12ed3e1df7ba75859c650249 Mon Sep 17 00:00:00 2001 From: Alex Shpak Date: Tue, 16 Jul 2019 14:34:02 +0200 Subject: Implement search, loading on demand --- .../js/search.js_db9e329433ffca0798ed12c88043b3b3.content | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'exampleSite/resources/_gen/assets/js/search.js_db9e329433ffca0798ed12c88043b3b3.content') diff --git a/exampleSite/resources/_gen/assets/js/search.js_db9e329433ffca0798ed12c88043b3b3.content b/exampleSite/resources/_gen/assets/js/search.js_db9e329433ffca0798ed12c88043b3b3.content index 9c34794..d688ec0 100644 --- a/exampleSite/resources/_gen/assets/js/search.js_db9e329433ffca0798ed12c88043b3b3.content +++ b/exampleSite/resources/_gen/assets/js/search.js_db9e329433ffca0798ed12c88043b3b3.content @@ -1,6 +1,5 @@ -addEventListener("load",function(){let input=document.querySelector("#book-search");let results=document.querySelector("#book-search-results");Promise.all([loadScript("/example/lunr.min.js"),loadScript("/example/index.json")]).then(enableLunr);function enableLunr(){results.idx=lunr(function(){this.ref('href') -this.field('title') -this.field('content') -window.lunrData.forEach(function(page){this.add(page)},this)});input.addEventListener("keyup",search);} -function search(){if(input.value){var hits=results.idx.search(`${input.value}*`);results.innerHTML=JSON.stringify(hits);}else{results.innerHTML='';}} -function loadScript(src){return new Promise(function(resolve,reject){let script=document.createElement('script');script.src=src;script.onload=()=>resolve(script);document.head.append(script);});}}); \ No newline at end of file +(function(){const input=document.querySelector("#book-search-input");const results=document.querySelector("#book-search-results");const dummy=document.querySelector("#book-search-dummy");input.addEventListener("focus",init);function init(){loadScript("/example/search-data.min.cab714d6cdc1fd81a6e2d8e454a03c6b8c74b4680118a20d06f2f4cc11365cdf.js",function(){input.disabled=false;input.addEventListener("keyup",search);search();});input.removeEventListener("focus",init);} +function search(){while(results.firstChild){results.removeChild(results.firstChild);} +if(input.value){const hits=window.bookSearch.idx.search(`${input.value}*`);hits.slice(0,10).forEach(function(hit){const page=window.bookSearch.pages[hit.ref];const li=dummy.querySelector("li").cloneNode(true),a=li.querySelector("a");a.href=page.href;a.textContent=page.title;results.appendChild(li);});}} +function newLi(href,title){return li;} +function loadScript(src,callback){const script=document.createElement("script");script.defer=true;script.src=src;script.onload=callback;document.head.append(script);}})(); \ No newline at end of file -- cgit v1.2.3