added paging functionality
This commit is contained in:
@@ -1,22 +1,28 @@
|
||||
import {searchBarTimeout, searchSection} from "./main.js"
|
||||
import {searchBarTimeout, searchSection, lastQuery} from "./main.js"
|
||||
import Dataset from "./dataset.js"
|
||||
|
||||
export function fetchQuery(fetchString) {
|
||||
export function fetchQuery(fetchString, clearResults) {
|
||||
clearTimeout(searchBarTimeout);
|
||||
fetch(fetchString)
|
||||
.then(resp => resp.json())
|
||||
.then((data) => {
|
||||
parseContent(data.content);
|
||||
parseContent(data.content, clearResults);
|
||||
lastQuery.totalPages = data.totalPages;
|
||||
if (clearResults) {
|
||||
lastQuery.currentPage = 0;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function parseContent(content) {
|
||||
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));
|
||||
Array.from(searchSection.querySelectorAll(".datasets .dataset")).forEach(e => e.remove());
|
||||
if (clearResults) {
|
||||
Array.from(searchSection.querySelectorAll(".datasets .dataset")).forEach(e => e.remove());
|
||||
}
|
||||
for (const dataset of datasets) {
|
||||
searchSection.querySelector(".datasets").appendChild(dataset.createDatasetHTMLElement());
|
||||
}
|
||||
|
Reference in New Issue
Block a user