From 9cd0dc25f4cd11077448cb569234895b34497a40 Mon Sep 17 00:00:00 2001 From: paidge <paidge_cs@hotmail.com> Date: Mon, 7 Nov 2022 16:31:02 +0100 Subject: [PATCH] Nouveau filtre dans les suivis --- components/badge/Danger.vue | 4 ++-- components/member/Filter.vue | 18 ++++++------------ components/suivis/Tableau.vue | 23 +++++++++++++++++++++-- i18n/locales/de.json | 4 ++++ i18n/locales/en.json | 4 ++++ i18n/locales/es.json | 4 ++++ i18n/locales/fr.json | 4 ++++ i18n/locales/it.json | 4 ++++ pages/previsions/futures_sorties.vue | 24 ------------------------ 9 files changed, 49 insertions(+), 40 deletions(-) diff --git a/components/badge/Danger.vue b/components/badge/Danger.vue index acbfc02..51f27d8 100644 --- a/components/badge/Danger.vue +++ b/components/badge/Danger.vue @@ -3,8 +3,8 @@ class="d-inline-block help flex-shrink-0" :class="classBadge" :title="title" - v-if="!['NEWCOMER', 'REVOKED'].includes(memberStatus)" - ><solid-shield-check-icon + v-if="!['NEWCOMER', 'REVOKED'].includes(memberStatus)"> + <solid-shield-check-icon v-if="$options.filters.dateStatus(limitDate) == 'success'" /> <solid-shield-exclamation-icon v-else /> <span class="visually-hidden">{{ title }}</span> diff --git a/components/member/Filter.vue b/components/member/Filter.vue index cc300f8..107dbf5 100644 --- a/components/member/Filter.vue +++ b/components/member/Filter.vue @@ -73,7 +73,6 @@ class="btn-check" v-model="certifStatus" type="radio" - :name="'certifStatus-' + _uid" :id="'radio-current-' + _uid" value="current" autocomplete="off" /> @@ -86,7 +85,6 @@ class="btn-check" v-model="certifStatus" type="radio" - :name="'certifStatus-' + _uid" :id="'radio-outdated-' + _uid" value="outdated" autocomplete="off" /> @@ -103,19 +101,11 @@ export default { data() { return { - checkedStatus: this.selectedStatus, - certifStatus: this.selectedCertifStatus + checkedStatus: ["NEWCOMER", "MEMBER", "RENEW", "MISSING", ""], + certifStatus: "current" } }, props: { - selectedStatus: { - type: Array, - required: true - }, - selectedCertifStatus: { - type: String, - required: true - }, type: { type: String, default: "" @@ -128,6 +118,10 @@ export default { }, 5) } }, + mounted() { + this.$emit("update:selectedStatus", this.checkedStatus) + this.$emit("update:selectedCertifStatus", this.certifStatus) + }, watch: { checkedStatus(n, o) { this.$emit("update:selectedStatus", n) diff --git a/components/suivis/Tableau.vue b/components/suivis/Tableau.vue index fddb63f..6312128 100644 --- a/components/suivis/Tableau.vue +++ b/components/suivis/Tableau.vue @@ -15,6 +15,16 @@ defaultSort="date_membership" :members="filteredMembers" :id="type" /> + <input + type="checkbox" + class="btn-check" + :id="'seeAll' + _uid" + :checked="displayAll" + @click="displayAll = !displayAll" /> + <label class="btn mb-3 btn-outline-secondary" :for="'seeAll' + _uid"> + <span v-if="!displayAll">{{ $t("suivis.display.all") }}</span> + <span v-else>{{ $t("suivis.display.out") }}</span> + </label> <button class="btn btn-danger d-block m-auto mb-3" v-if="type == 'favoris'" @@ -36,8 +46,9 @@ export default { data() { return { search: "", - filterStatus: ["NEWCOMER", "MEMBER", "RENEW", "MISSING", ""], - filterCerts: "current", + filterStatus: [], + filterCerts: "", + displayAll: false, nbItems: 0 } }, @@ -55,6 +66,11 @@ export default { filteredMembers() { return this.members.filter( (el) => + (this.displayAll || + !( + el.status == "MEMBER" && + this.$options.filters.dateStatus(el.certsLimit) == "success" + )) && el.uid.toLowerCase().includes(this.search.toLowerCase()) && this.filterStatus.includes(el.status) && el.expired == (this.filterCerts == "outdated") @@ -75,6 +91,9 @@ export default { watch: { filteredMembers(n, o) { this.$emit("update:nbItems", n.length) + }, + filterCerts(n, o) { + this.displayAll = n == "outdated" } } } diff --git a/i18n/locales/de.json b/i18n/locales/de.json index e7a1986..540602e 100644 --- a/i18n/locales/de.json +++ b/i18n/locales/de.json @@ -255,6 +255,10 @@ "title": "Sie sind noch nicht registriert" }, "confirm": "Sind Sie sicher ?", + "display": { + "all": "Alles sehen", + "out": "Nur zukünftige Versionen anzeigen" + }, "enregistre": "In den Favoriten gespeichert!", "enregistre_uid": "Schützen", "iam": "Ich bin dieses Mitglied", diff --git a/i18n/locales/en.json b/i18n/locales/en.json index a0e34b6..9d2aa92 100644 --- a/i18n/locales/en.json +++ b/i18n/locales/en.json @@ -256,6 +256,10 @@ "title": "You're not registered yet" }, "confirm": "Are you sure ?", + "display": { + "all": "See all", + "out": "See only futures exits" + }, "enregistre": "Saved to favorites !", "enregistre_uid": "Save", "iam": "I am that member", diff --git a/i18n/locales/es.json b/i18n/locales/es.json index b41228f..1f0c3fd 100644 --- a/i18n/locales/es.json +++ b/i18n/locales/es.json @@ -256,6 +256,10 @@ "title": "Aún no estás registrado" }, "confirm": "Está usted seguro ?", + "display": { + "all": "Ver todo", + "out": "Ver solo futuras salidas" + }, "enregistre": "¡Guardado en favoritos!", "enregistre_uid": "Salvaguardar", "iam": "Soy este miembro", diff --git a/i18n/locales/fr.json b/i18n/locales/fr.json index 93ce146..ab514c8 100644 --- a/i18n/locales/fr.json +++ b/i18n/locales/fr.json @@ -256,6 +256,10 @@ "title": "Vous n'êtes pas encore enregistré" }, "confirm": "Êtes-vous sûr ?", + "display": { + "all": "Voir tout", + "out": "Voir uniquement les futures sorties" + }, "enregistre": "Enregistré dans les favoris !", "enregistre_uid": "Sauvegarder", "iam": "Je suis ce membre", diff --git a/i18n/locales/it.json b/i18n/locales/it.json index d95bea3..992ba43 100644 --- a/i18n/locales/it.json +++ b/i18n/locales/it.json @@ -256,6 +256,10 @@ "title": "Non sei ancora registrato" }, "confirm": "Sei sicuro ?", + "display": { + "all": "Vedi tutto", + "out": "Vedi solo le future uscite" + }, "enregistre": "Salvato nei favoriti!", "enregistre_uid": "Salvaguardare", "iam": "Sono questo membro", diff --git a/pages/previsions/futures_sorties.vue b/pages/previsions/futures_sorties.vue index 555c2b7..01a893c 100644 --- a/pages/previsions/futures_sorties.vue +++ b/pages/previsions/futures_sorties.vue @@ -5,18 +5,6 @@ $t("previsions.futureexits") }} </h2> - <div class="form-check form-switch mb-4 d-flex justify-content-center"> - <input - type="checkbox" - id="favoris" - class="form-check-input me-2" - role="switch" - v-model="favoris" - @change="save()" /> - <label for="favoris" class="form-check-label">{{ - $t("suivis.use") - }}</label> - </div> <NavigationLoader :isLoading="$apollo.loading" /> <transition name="fade"> <AlertDefault type="danger" v-if="error">{{ error }}</AlertDefault> @@ -68,25 +56,14 @@ export default { } ], error: null, - favoris: false, period: 1317600 } }, computed: { getParams() { - if (this.favoris) { - return localStorage.favourites - ? { group: this.$favourites.list, period: this.period } - : { group: "wotwizard-nobody", period: this.period } - } return { period: this.period } } }, - methods: { - save() { - localStorage.exitsFiltered = this.favoris - } - }, apollo: { $client() { return this.getApolloClient @@ -155,7 +132,6 @@ export default { }, mounted() { $nuxt.$emit("changeRoute", this.breadcrumb) - this.favoris = localStorage.exitsFiltered == "true" } } </script> -- GitLab