mirror of
https://github.com/Alvin-Zilverstand/pokedex.git
synced 2026-03-06 21:29:57 +01:00
Improve search functionality by encapsulating event listeners in an IIFE and enhancing visibility toggle for the search close icon
This commit is contained in:
62
v2/search.js
62
v2/search.js
@@ -1,38 +1,40 @@
|
||||
const inputElement = document.querySelector("#search-input");
|
||||
const searchIcon = document.querySelector("#search-close-icon");
|
||||
const sortWrapper = document.querySelector(".sort-wrapper");
|
||||
(() => {
|
||||
const inputElement = document.querySelector("#search-input");
|
||||
const searchIcon = document.querySelector("#search-close-icon");
|
||||
const sortWrapper = document.querySelector(".sort-wrapper");
|
||||
|
||||
inputElement.addEventListener("input", () => {
|
||||
handleInputChange(inputElement);
|
||||
});
|
||||
searchIcon.addEventListener("click", handleSearchCloseOnClick);
|
||||
sortWrapper.addEventListener("click", handleSortIconOnClick);
|
||||
inputElement.addEventListener("input", () => {
|
||||
handleInputChange(inputElement);
|
||||
});
|
||||
searchIcon.addEventListener("click", handleSearchCloseOnClick);
|
||||
sortWrapper.addEventListener("click", handleSortIconOnClick);
|
||||
|
||||
function handleInputChange(inputElement) {
|
||||
const inputValue = inputElement.value;
|
||||
function handleInputChange(inputElement) {
|
||||
const inputValue = inputElement.value;
|
||||
|
||||
if (inputValue !== "") {
|
||||
document
|
||||
.querySelector("#search-close-icon")
|
||||
.classList.add("search-close-icon-visible");
|
||||
} else {
|
||||
if (inputValue !== "") {
|
||||
document
|
||||
.querySelector("#search-close-icon")
|
||||
.classList.add("search-close-icon-visible");
|
||||
} else {
|
||||
document
|
||||
.querySelector("#search-close-icon")
|
||||
.classList.remove("search-close-icon-visible");
|
||||
}
|
||||
}
|
||||
|
||||
function handleSearchCloseOnClick() {
|
||||
document.querySelector("#search-input").value = "";
|
||||
document
|
||||
.querySelector("#search-close-icon")
|
||||
.classList.remove("search-close-icon-visible");
|
||||
clearSearch();
|
||||
}
|
||||
}
|
||||
|
||||
function handleSearchCloseOnClick() {
|
||||
document.querySelector("#search-input").value = "";
|
||||
document
|
||||
.querySelector("#search-close-icon")
|
||||
.classList.remove("search-close-icon-visible");
|
||||
clearSearch();
|
||||
}
|
||||
|
||||
function handleSortIconOnClick() {
|
||||
document
|
||||
.querySelector(".filter-wrapper")
|
||||
.classList.toggle("filter-wrapper-open");
|
||||
document.querySelector("body").classList.toggle("filter-wrapper-overlay");
|
||||
}
|
||||
function handleSortIconOnClick() {
|
||||
document
|
||||
.querySelector(".filter-wrapper")
|
||||
.classList.toggle("filter-wrapper-open");
|
||||
document.querySelector("body").classList.toggle("filter-wrapper-overlay");
|
||||
}
|
||||
})();
|
||||
|
||||
Reference in New Issue
Block a user