From 25ae7a01a1a0c393219305b0e7a10a9e57424baa Mon Sep 17 00:00:00 2001 From: paidge <paidge_cs@hotmail.com> Date: Tue, 1 Feb 2022 22:58:16 +0100 Subject: [PATCH] add a search input for favoris --- pages/favoris.vue | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/pages/favoris.vue b/pages/favoris.vue index f07c11b..a4af92a 100644 --- a/pages/favoris.vue +++ b/pages/favoris.vue @@ -10,13 +10,20 @@ <div class="alert alert-danger" v-if="error">{{ error }}</div> </transition> <transition name="fade"> - <MemberList - defaultSort="date_membership" - :members="favoris" - type="favoris" + <div v-if=" !$apollo.queries.favoris.loading && favoris && favoris.length != 0 - " /> + "> + <input + type="text" + v-model="search" + class="form-control col-sm-6 col-md-5 col-lg-4 col-xl-3 mx-auto mb-2" + :placeholder="$t('recherche.title')" /> + <MemberList + defaultSort="date_membership" + :members="filteredFavoris" + type="favoris" /> + </div> </transition> <transition name="fade"> <div @@ -48,9 +55,17 @@ export default { active: true } ], + search: "", error: null } }, + computed: { + filteredFavoris() { + return this.favoris.filter((el) => + el.uid.toLowerCase().includes(this.search.toLowerCase()) + ) + } + }, apollo: { favoris: { query: FAVORIS, @@ -60,12 +75,7 @@ export default { } }, update(data) { - let retour = [] - for (let i = 0; i < data.filterGroup.selected.length; i++) { - retour[i] = data.filterGroup.selected[i].id - } - - return retour + return data.filterGroup.selected.map((el) => el.id) }, error(err) { this.error = err.message -- GitLab