JAYASWAROOP commited on
Commit
53fa0ab
·
1 Parent(s): 493116b

Create search.js

Browse files
Files changed (1) hide show
  1. search.js +78 -0
search.js ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ let searchInputEl = document.getElementById("searchInput");
2
+ let searchResultsEl = document.getElementById("searchResults");
3
+ let spinnerEl = document.getElementById("spinner");
4
+
5
+
6
+
7
+ function createAndAppendSearchResult(result) {
8
+ let {
9
+ link,
10
+ title,
11
+ description
12
+ } = result;
13
+
14
+ let resultItemEl = document.createElement("div");
15
+ resultItemEl.classList.add("result-item");
16
+
17
+ let titleEl = document.createElement("a");
18
+ titleEl.href = link;
19
+ titleEl.target = "_blank";
20
+ titleEl.textContent = title;
21
+ titleEl.classList.add("result-title");
22
+ resultItemEl.appendChild(titleEl);
23
+
24
+ let titleBreakEl = document.createElement("br");
25
+ resultItemEl.appendChild(titleBreakEl);
26
+
27
+ let urlEl = document.createElement("a");
28
+ urlEl.classList.add("result-url");
29
+ urlEl.href = link;
30
+ urlEl.target = "_blank";
31
+ urlEl.textContent = link;
32
+ resultItemEl.appendChild(urlEl);
33
+
34
+ let linkBreakEl = document.createElement("br");
35
+ resultItemEl.appendChild(linkBreakEl);
36
+
37
+ let descriptionEl = document.createElement("p");
38
+ descriptionEl.classList.add("link-description");
39
+ descriptionEl.textContent = description;
40
+ resultItemEl.appendChild(descriptionEl);
41
+
42
+ searchResultsEl.appendChild(resultItemEl);
43
+ }
44
+
45
+ function displayResults(searchResults) {
46
+ spinnerEl.classList.add("d-none");
47
+
48
+ for (let result of searchResults) {
49
+ createAndAppendSearchResult(result);
50
+ }
51
+ }
52
+
53
+ function searchWikipedia(event) {
54
+ if (event.key === "Enter") {
55
+
56
+ spinnerEl.classList.remove("d-none");
57
+ searchResultsEl.textContent = "";
58
+
59
+ let searchInput = searchInputEl.value;
60
+ let url = "https://apis.ccbp.in/wiki-search?search=" + searchInput;
61
+ let options = {
62
+ method: "GET"
63
+ };
64
+
65
+ fetch(url, options)
66
+ .then(function(response) {
67
+ return response.json();
68
+ })
69
+ .then(function(jsonData) {
70
+ let {
71
+ search_results
72
+ } = jsonData;
73
+ displayResults(search_results);
74
+ });
75
+ }
76
+ }
77
+
78
+ searchInputEl.addEventListener("keydown", searchWikipedia);