From 6b58b4f545c9130b1a4450d2ab6d9d7769dd8515 Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Fri, 16 Oct 2020 00:58:34 +0300 Subject: [PATCH] Toggle Actor Type Filters --- src/views/users/components/UsersFilter.vue | 23 ++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/views/users/components/UsersFilter.vue b/src/views/users/components/UsersFilter.vue index b952f07c..379577d7 100644 --- a/src/views/users/components/UsersFilter.vue +++ b/src/views/users/components/UsersFilter.vue @@ -66,16 +66,27 @@ export default { ? currentFilters.push(this.$data.value[Math.max(indexOfActive, indexOfDeactivated, indexOfPending, indexOfUnconfirmed)]) : currentFilters - Math.max(indexOfPerson, indexOfService, indexOfApplication) > -1 - ? currentFilters.push(this.$data.value[Math.max(indexOfPerson, indexOfService, indexOfApplication)]) - : currentFilters + const actorTypeFilters = [indexOfPerson, indexOfService, indexOfApplication].reduce((acc, index) => { + if (index > -1) { + currentFilters.push(this.$data.value[index]) + acc.push(this.$data.value[index]) + } + return acc + }, []) - return currentFilters + return [ + currentFilters, + currentFilters.filter(filter => !actorTypeFilters.includes(filter)), + actorTypeFilters + ] }, toggleFilters() { - this.$data.value = this.removeOppositeFilters() - const currentFilters = this.$data.value.reduce((acc, filter) => ({ ...acc, [filter]: true }), {}) + const [allFilters, filters, actorTypeFilters] = this.removeOppositeFilters() + + this.$data.value = allFilters + const currentFilters = filters.reduce((acc, filter) => ({ ...acc, [filter]: true }), {}) this.$store.dispatch('ToggleUsersFilter', currentFilters) + this.$store.dispatch('ToggleActorTypeFilter', actorTypeFilters) } } }