diff --git a/src/views/users/components/UsersFilter.vue b/src/views/users/components/UsersFilter.vue index fa5febde..9ba4e3fa 100644 --- a/src/views/users/components/UsersFilter.vue +++ b/src/views/users/components/UsersFilter.vue @@ -37,20 +37,25 @@ export default { methods: { removeOppositeFilters() { const filtersQuantity = Object.keys(this.$store.state.users.filters).length - const currentFilters = this.$data.value.slice() - const indexOfLocal = currentFilters.indexOf('local') - const indexOfExternal = currentFilters.indexOf('external') - const indexOfActive = currentFilters.indexOf('active') - const indexOfDeactivated = currentFilters.indexOf('deactivated') - if (currentFilters.length === filtersQuantity) { + const currentFilters = [] + const indexOfLocal = this.$data.value.indexOf('local') + const indexOfExternal = this.$data.value.indexOf('external') + const indexOfActive = this.$data.value.indexOf('active') + const indexOfDeactivated = this.$data.value.indexOf('deactivated') + const indexOfPending = this.$data.value.indexOf('need_approval') + + if (this.$data.value.length === filtersQuantity) { return [] - } else if (indexOfLocal > -1 && indexOfExternal > -1) { - const filterToRemove = indexOfLocal > indexOfExternal ? indexOfExternal : indexOfLocal - currentFilters.splice(filterToRemove, 1) - } else if (indexOfActive > -1 && indexOfDeactivated > -1) { - const filterToRemove = indexOfActive > indexOfDeactivated ? indexOfDeactivated : indexOfActive - currentFilters.splice(filterToRemove, 1) } + + Math.max(indexOfLocal, indexOfExternal) > -1 + ? currentFilters.push(this.$data.value[Math.max(indexOfLocal, indexOfExternal)]) + : currentFilters + + Math.max(indexOfActive, indexOfDeactivated, indexOfPending) > -1 + ? currentFilters.push(this.$data.value[Math.max(indexOfActive, indexOfDeactivated, indexOfPending)]) + : currentFilters + return currentFilters }, toggleFilters() {