Skip to content
Snippets Groups Projects
Commit c2c90bf5 authored by Pierre-Jean CHANCELLIER's avatar Pierre-Jean CHANCELLIER
Browse files

add MemberFilter

parent 63bfa838
No related branches found
No related tags found
No related merge requests found
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
@import "~bootstrap/scss/buttons"; @import "~bootstrap/scss/buttons";
@import "~bootstrap/scss/transitions"; @import "~bootstrap/scss/transitions";
// @import "~bootstrap/scss/dropdown"; // @import "~bootstrap/scss/dropdown";
// @import "~bootstrap/scss/button-group"; @import "~bootstrap/scss/button-group";
@import "~bootstrap/scss/nav"; @import "~bootstrap/scss/nav";
@import "~bootstrap/scss/navbar"; @import "~bootstrap/scss/navbar";
@import "~bootstrap/scss/card"; @import "~bootstrap/scss/card";
......
<template>
<div class="text-muted">
<p id="filterStatutTitle">{{ $t("filter.statut") }}&nbsp;:</p>
<ul class="p-0" aria-labelledby="filterStatutTitle" role="group">
<li class="form-check form-check-inline">
<input
class="form-check-input"
v-model="checkedStatus"
type="checkbox"
id="check-newcomer"
value="NEWCOMER" />
<label class="form-check-label" for="check-newcomer">{{
$t("statut.newcomer")
}}</label>
</li>
<li class="form-check form-check-inline">
<input
class="form-check-input"
v-model="checkedStatus"
type="checkbox"
id="check-member"
value="MEMBER" />
<label class="form-check-label" for="check-member">{{
$t("statut.member")
}}</label>
</li>
<li class="form-check form-check-inline">
<input
class="form-check-input"
v-model="checkedStatus"
type="checkbox"
id="check-missing"
value="MISSING" />
<label class="form-check-label" for="check-missing">{{
$t("statut.missing")
}}</label>
</li>
<li class="form-check form-check-inline">
<input
class="form-check-input"
v-model="checkedStatus"
type="checkbox"
id="check-revoked"
value="REVOKED" />
<label class="form-check-label" for="check-revoked">{{
$t("statut.revoked")
}}</label>
</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
checkedStatus: this.selectedStatus
}
},
props: {
selectedStatus: {
type: Array,
required: true
}
},
watch: {
checkedStatus: {
handler(n, o) {
this.$emit("update:selectedStatus", n)
}
}
}
}
</script>
...@@ -117,6 +117,9 @@ ...@@ -117,6 +117,9 @@
"title": "Meine Favoriten", "title": "Meine Favoriten",
"use": "Nur meine Favoriten" "use": "Nur meine Favoriten"
}, },
"filter": {
"statut": "Nach Status filtern"
},
"infos": "Informationen", "infos": "Informationen",
"inout": "Bei- und Austritte des Vertrauensnetz in den 2 letzten Tagen", "inout": "Bei- und Austritte des Vertrauensnetz in den 2 letzten Tagen",
"inpreparation": "In Vorbereitung", "inpreparation": "In Vorbereitung",
......
...@@ -118,6 +118,9 @@ ...@@ -118,6 +118,9 @@
"title": "My favourites", "title": "My favourites",
"use": "My favorites only" "use": "My favorites only"
}, },
"filter": {
"statut": "Filter by status"
},
"infos": "Informations", "infos": "Informations",
"inout": "Entries and exits of the web of trust for the last 2 days", "inout": "Entries and exits of the web of trust for the last 2 days",
"inpreparation": "In preparation", "inpreparation": "In preparation",
......
...@@ -118,6 +118,9 @@ ...@@ -118,6 +118,9 @@
"title": "Mis favoritos", "title": "Mis favoritos",
"use": "Solo mis favoritos" "use": "Solo mis favoritos"
}, },
"filter": {
"statut": "Filtrar por estado"
},
"infos": "Informaciones", "infos": "Informaciones",
"inout": "Entradas y salidas de la red de confianza en los últimos 2 días", "inout": "Entradas y salidas de la red de confianza en los últimos 2 días",
"inpreparation": "En preparación", "inpreparation": "En preparación",
......
...@@ -118,6 +118,9 @@ ...@@ -118,6 +118,9 @@
"title": "Mes favoris", "title": "Mes favoris",
"use": "Mes favoris uniquement" "use": "Mes favoris uniquement"
}, },
"filter": {
"statut": "Filtrer par statut"
},
"infos": "Informations", "infos": "Informations",
"inout": "Entrées et sorties de la toile de confiance des 2 derniers jours", "inout": "Entrées et sorties de la toile de confiance des 2 derniers jours",
"inpreparation": "En préparation", "inpreparation": "En préparation",
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
v-model="search" v-model="search"
:help="$t('recherche.desc.favourites')" :help="$t('recherche.desc.favourites')"
class="col-sm-7 col-md-6 col-lg-5 col-xl-4 mx-auto mb-4" /> class="col-sm-7 col-md-6 col-lg-5 col-xl-4 mx-auto mb-4" />
<MemberFilter :selectedStatus.sync="filterStatus" />
<MemberList <MemberList
defaultSort="date_membership" defaultSort="date_membership"
:members="filteredFavoris" :members="filteredFavoris"
...@@ -59,13 +60,16 @@ export default { ...@@ -59,13 +60,16 @@ export default {
} }
], ],
search: "", search: "",
error: null error: null,
filterStatus: ["NEWCOMER", "MEMBER", "MISSING", "REVOKED"]
} }
}, },
computed: { computed: {
filteredFavoris() { filteredFavoris() {
return this.favoris.filter((el) => return this.favoris.filter(
el.uid.toLowerCase().includes(this.search.toLowerCase()) (el) =>
el.uid.toLowerCase().includes(this.search.toLowerCase()) &&
this.filterStatus.includes(el.status)
) )
} }
}, },
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment