forked from AkkomaGang/admin-fe
Update state structure and ToggleUsersFilter action
This commit is contained in:
parent
093fd94b09
commit
7e3f385b4e
1 changed files with 20 additions and 8 deletions
|
@ -7,7 +7,12 @@ const users = {
|
||||||
searchQuery: '',
|
searchQuery: '',
|
||||||
totalUsersCount: 0,
|
totalUsersCount: 0,
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
showLocalUsersOnly: false
|
filters: {
|
||||||
|
showLocalUsersOnly: false,
|
||||||
|
showExternalUsersOnly: false,
|
||||||
|
showActiveUsersOnly: false,
|
||||||
|
showDeactivatedUsersOnly: false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
SET_USERS: (state, users) => {
|
SET_USERS: (state, users) => {
|
||||||
|
@ -37,13 +42,13 @@ const users = {
|
||||||
SET_SEARCH_QUERY: (state, query) => {
|
SET_SEARCH_QUERY: (state, query) => {
|
||||||
state.searchQuery = query
|
state.searchQuery = query
|
||||||
},
|
},
|
||||||
SET_LOCAL_USERS_FILTER: (state, value) => {
|
SET_USERS_FILTER: (state, filters) => {
|
||||||
state.showLocalUsersOnly = value
|
state.filters = filters
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
async FetchUsers({ commit, state, getters }, { page }) {
|
async FetchUsers({ commit, state, getters }, { page }) {
|
||||||
const response = await fetchUsers(state.showLocalUsersOnly, getters.authHost, getters.token, page)
|
const response = await fetchUsers(state.filters.showLocalUsersOnly, getters.authHost, getters.token, page)
|
||||||
|
|
||||||
commit('SET_LOADING', true)
|
commit('SET_LOADING', true)
|
||||||
|
|
||||||
|
@ -62,14 +67,21 @@ const users = {
|
||||||
commit('SET_LOADING', true)
|
commit('SET_LOADING', true)
|
||||||
commit('SET_SEARCH_QUERY', query)
|
commit('SET_SEARCH_QUERY', query)
|
||||||
|
|
||||||
const response = await searchUsers(query, state.showLocalUsersOnly, getters.authHost, getters.token, page)
|
const response = await searchUsers(query, state.filters.showLocalUsersOnly, getters.authHost, getters.token, page)
|
||||||
|
|
||||||
loadUsers(commit, page, response.data)
|
loadUsers(commit, page, response.data)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async ToggleLocalUsersFilter({ commit, dispatch, state }, value) {
|
async ToggleUsersFilter({ commit, dispatch, state }, filters) {
|
||||||
commit('SET_LOCAL_USERS_FILTER', value)
|
const newFilters = Object.keys(state.filters).reduce((acc, filter) => {
|
||||||
dispatch('SearchUsers', { query: state.searchQuery, page: 1 })
|
if (filters.includes(filter)) {
|
||||||
|
return { ...acc, [filter]: true }
|
||||||
|
} else {
|
||||||
|
return { ...acc, [filter]: false }
|
||||||
|
}
|
||||||
|
}, {})
|
||||||
|
commit('SET_USERS_FILTER', newFilters)
|
||||||
|
// dispatch('SearchUsers', { query: state.searchQuery, page: 1 })
|
||||||
},
|
},
|
||||||
async ToggleRight({ commit, getters }, { user, right }) {
|
async ToggleRight({ commit, getters }, { user, right }) {
|
||||||
user.roles[right]
|
user.roles[right]
|
||||||
|
|
Loading…
Reference in a new issue