From 1615a255d3c0ed87013e462860fa1f201433aacc Mon Sep 17 00:00:00 2001 From: olafswan Date: Mon, 25 Sep 2023 16:54:19 +0200 Subject: [PATCH] retour du tri des tags suppr par erreur --- js/App.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/js/App.js b/js/App.js index f8ca8e8..7d14e3e 100644 --- a/js/App.js +++ b/js/App.js @@ -1899,6 +1899,29 @@ class App { // utilisation de la method optionSelection pour rendre possible la séléction des tags this.optionSelection(); + + // FONCTION DE TRI DES TAGS + + // ciblage des containers des search bars + const ingredientsSearch = document.querySelector("#ingredientsSearch"); + const appliancesSearch = document.querySelector("#appliancesSearch"); + const ustensilsSearch = document.querySelector("#ustensilsSearch"); + const searchOptions = [ + ingredientsSearch, + appliancesSearch, + ustensilsSearch, + ]; + searchOptions.forEach((option) => { + option.addEventListener("input", () => { + // console.log( + // "-- \nnew input in option search\n--", + // option, + // option.value + // ); + this.optionTrimmer(option, this.normalize(option.value)); + // utiliser l'option selectionnée pour trim la list + }); + }); } // METHOD DE RECHERCHE VIA LA SEARCH BAR @@ -2313,6 +2336,25 @@ class App { } }); } + + // METHOD POUR EFFECTUER LE TRI DES TAGS + optionTrimmer(option, value) { + const selectOptionsContainer = option.parentNode.parentNode.querySelector( + ".select-options-container" + ); + + const selectOptions = + selectOptionsContainer.querySelectorAll(".select-option"); + + selectOptions.forEach((option) => { + option.style.display = "block"; + if (!this.normalize(option.innerText).includes(value)) { + option.style.display = "none"; + } + }); + + //parentNode + } } const app = new App();