-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
47 lines (40 loc) · 1.49 KB
/
Copy pathscript.js
File metadata and controls
47 lines (40 loc) · 1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// creating emoji list on page
function createListItem(emojiListItems) {
// first container
const emojiDiv = document.createElement("div");
emojiDiv.className = "emoji";
emojiDiv.innerText = emojiListItems.emoji;
// second container
const aliasesDiv = document.createElement("div");
aliasesDiv.className = "aliases";
aliasesDiv.innerText = emojiListItems.aliases.join(", ");
// third container
const descriptionDiv = document.createElement("div");
descriptionDiv.className = "description";
descriptionDiv.innerText = emojiListItems.description;
// appending all containers in list
const listItem = document.createElement("li");
listItem.classList = "list-item";
listItem.append(emojiDiv, aliasesDiv, descriptionDiv);
return listItem;
}
const emojiUl = document.getElementById("emoji-list");
// fetch data from array of emoji.js and append to UL
const renderInUl = (emojiArray) => {
emojiUl.innerHTML = "";
emojiArray.forEach((items) => {
const li = createListItem(items);
emojiUl.append(li);
});
};
renderInUl(emojiList);
const searchBar = document.getElementsByClassName("search-bar")[0];
searchBar.addEventListener("keyup", (e) => {
const searchInput = e.target.value.toLowerCase();
const filteredList = emojiList.filter(
(items) =>
items.aliases.toString().toLowerCase().includes(searchInput) ||
items.description.toLowerCase().includes(searchInput) || items.tags.toString().toLowerCase().includes(searchInput)
);
renderInUl(filteredList);
});