import {searchBarTimeout, searchSection, lastQuery} from "./main.js" import Dataset from "./dataset.js" // TODO consider renaming this to "searchUtility.js" export function fetchQuery(fetchString, clearResults) { clearTimeout(searchBarTimeout); fetch(fetchString) .then(resp => resp.json()) .then((data) => { parseContent(data.content, clearResults); lastQuery.totalPages = data.totalPages; if (clearResults) { lastQuery.currentPage = 0; } }); } function parseContent(content, clearResults) { if (content.length === 0) { searchSection.querySelector("#nothing-found ").classList.remove("hidden"); } else { searchSection.querySelector("#nothing-found").classList.add("hidden"); const datasets = content.map(dataset => new Dataset(dataset)); if (clearResults) { Array.from(searchSection.querySelectorAll(".datasets .dataset")).forEach(e => e.remove()); } for (const dataset of datasets) { searchSection.querySelector(".datasets") .appendChild(dataset.createDatasetHTMLElement()); } } }