1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /*
- * Query handling.
- */
- const params = new Proxy(new URLSearchParams(window.location.search), {
- get: (searchParams, prop) => searchParams.get(prop),
- });
- const qstring = params.q;
- if (qstring != undefined) {
- (async () => {
- // Re-fill query string in form field.
- const search_field = document.getElementById("qry_f");
- search_field.value = qstring;
- const fuse = await fuse_init();
- const results = fuse.search(qstring);
- console.log(results);
- const res_el = document.getElementById('result_list');
- results.forEach(sres => {
- const rsrc = sres.item;
- const res_tn = document.createElement("img");
- res_tn.setAttribute("src", window.webroot + rsrc.tn);
- res_tn.setAttribute("alt", rsrc.label);
- res_tn.classList.add("result_tn");
- res_tn.classList.add("float-left");
- const res_icon = document.createElement("img");
- res_icon.setAttribute("src", rsrc.icon);
- res_icon.setAttribute("alt", rsrc.content_type);
- res_icon.classList.add("body_icon");
- const res_title_txt = document.createTextNode(rsrc.label || rsrc.fname);
- const res_title = document.createElement("h4");
- res_title.appendChild(res_icon);
- res_title.appendChild(res_title_txt);
- const res_link = document.createElement("a");
- res_link.setAttribute("href", window.webroot + rsrc.href);
- res_link.appendChild(res_title);
- const res_id_txt = document.createTextNode("ID: " + rsrc.id);
- res_id = document.createElement("p");
- res_id.appendChild(res_id_txt);
- const res_date_txt = document.createTextNode("Submitted: " + rsrc.submitted);
- res_date = document.createElement("p");
- res_date.appendChild(res_date_txt);
- const res_box = document.createElement("div");
- res_box.classList.add("column");
- res_box.classList.add("search_item");
- res_box.appendChild(res_link);
- res_box.appendChild(res_id);
- res_box.appendChild(res_date);
- const res_li = document.createElement("li");
- res_li.setAttribute("id", "sres-" + rsrc.id);
- res_li.classList.add("row");
- res_li.classList.add("clearfix");
- res_li.appendChild(res_tn);
- res_li.appendChild(res_box);
- res_el.appendChild(res_li);
- });
- // Reveal section after populating.
- const res_sec = document.getElementById('search_results');
- res_sec.classList.remove("hidden");
- })();
- }
|