diff --git a/web/components/management/candidate-lists.js b/web/components/management/candidate-lists.js index 77681d2a3113af9b845317f17c53da1f774e7917..d525bfe02832f0e9f43a9cf1f289cbcd5dadc1dd 100644 --- a/web/components/management/candidate-lists.js +++ b/web/components/management/candidate-lists.js @@ -96,7 +96,18 @@ class CandidateList { </button> </div> </nav> - + <div class="field"> + <p class="control has-icons-right"> + <input + id="list-search" + class="input" + placeholder="Rechercher une liste" + /> + <span class="icon is-small is-right"> + <i class="fas fa-search"></i> + </span> + </p> + </div> <div id="candidate-lists-list"></div> </div> <div class="column is-two-thirds"> @@ -449,6 +460,10 @@ class CandidateList { document.getElementById("area-search").addEventListener("keyup", (e) => { this.displayAreas(); }); + + document.getElementById("list-search").addEventListener("keyup", (e) => { + this.displayCandidateLists(); + }); } async displayAreas() { @@ -565,12 +580,17 @@ class CandidateList { async updateCandidateLists() { let candidateListHandler = this; let candidateLists = await this.CandidateListModel.getCandidateLists(); - return candidateLists.filter(function (candidateList) { + candidateLists = candidateLists.filter(function (candidateList) { return ( candidateList.AreaID == candidateListHandler.area.ID && candidateList.RoundID == candidateListHandler.round.ID ); }); + return candidateLists.filter((candidateList) => + candidateList.Name.toLowerCase().includes( + document.getElementById("list-search").value.toLowerCase() + ) + ); } async updateCandidates() {