Spaces:
Running
Running
let searchInputEl = document.getElementById("searchInput"); | |
let searchResultsEl = document.getElementById("searchResults"); | |
let spinnerEl = document.getElementById("spinner"); | |
function createAndAppendSearchResult(result) { | |
let { | |
link, | |
title, | |
description | |
} = result; | |
let resultItemEl = document.createElement("div"); | |
resultItemEl.classList.add("result-item"); | |
let titleEl = document.createElement("a"); | |
titleEl.href = link; | |
titleEl.target = "_blank"; | |
titleEl.textContent = title; | |
titleEl.classList.add("result-title"); | |
resultItemEl.appendChild(titleEl); | |
let titleBreakEl = document.createElement("br"); | |
resultItemEl.appendChild(titleBreakEl); | |
let urlEl = document.createElement("a"); | |
urlEl.classList.add("result-url"); | |
urlEl.href = link; | |
urlEl.target = "_blank"; | |
urlEl.textContent = link; | |
resultItemEl.appendChild(urlEl); | |
let linkBreakEl = document.createElement("br"); | |
resultItemEl.appendChild(linkBreakEl); | |
let descriptionEl = document.createElement("p"); | |
descriptionEl.classList.add("link-description"); | |
descriptionEl.textContent = description; | |
resultItemEl.appendChild(descriptionEl); | |
searchResultsEl.appendChild(resultItemEl); | |
} | |
function displayResults(searchResults) { | |
spinnerEl.classList.add("d-none"); | |
for (let result of searchResults) { | |
createAndAppendSearchResult(result); | |
} | |
} | |
function searchWikipedia(event) { | |
if (event.key === "Enter") { | |
spinnerEl.classList.remove("d-none"); | |
searchResultsEl.textContent = ""; | |
let searchInput = searchInputEl.value; | |
let url = "https://apis.ccbp.in/wiki-search?search=" + searchInput; | |
let options = { | |
method: "GET" | |
}; | |
fetch(url, options) | |
.then(function(response) { | |
return response.json(); | |
}) | |
.then(function(jsonData) { | |
let { | |
search_results | |
} = jsonData; | |
displayResults(search_results); | |
}); | |
} | |
} | |
searchInputEl.addEventListener("keydown", searchWikipedia); |