Skip to content

Commit

Permalink
Reset pagination after filtering users
Browse files Browse the repository at this point in the history
  • Loading branch information
JammingBen committed May 30, 2023
1 parent 73054cb commit a295063
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 5 deletions.
21 changes: 20 additions & 1 deletion packages/web-app-admin-settings/src/views/Users.vue
Original file line number Diff line number Diff line change
Expand Up @@ -164,10 +164,21 @@ import {
useCapabilitySpacesMaxQuota,
useClientService,
useLoadingService,
useRoute,
useRouteQuery,
useRouter,
useStore
} from 'web-pkg/src/composables'
import { computed, defineComponent, ref, onBeforeUnmount, onMounted, unref, watch } from 'vue'
import {
computed,
defineComponent,
ref,
onBeforeUnmount,
onMounted,
unref,
watch,
nextTick
} from 'vue'
import { useTask } from 'vue-concurrency'
import { eventBus } from 'web-pkg/src/services/eventBus'
import { mapActions, mapMutations, mapState } from 'vuex'
Expand Down Expand Up @@ -208,6 +219,8 @@ export default defineComponent({
},
setup() {
const { $gettext, $ngettext } = useGettext()
const router = useRouter()
const route = useRoute()
const store = useStore()
const accessToken = useAccessToken({ store })
const clientService = useClientService()
Expand Down Expand Up @@ -338,17 +351,23 @@ export default defineComponent({
Object.assign(user, data)
})
const resetPagination = () => {
return router.push({ ...unref(route), query: { ...unref(route).query, page: '1' } })
}
const filterGroups = (groups) => {
filters.groups.ids.value = groups.map((g) => g.id)
loadUsersTask.perform()
selectedUsers.value = []
additionalUserDataLoadedForUserIds.value = []
return resetPagination()
}
const filterRoles = (roles) => {
filters.roles.ids.value = roles.map((r) => r.id)
loadUsersTask.perform()
selectedUsers.value = []
additionalUserDataLoadedForUserIds.value = []
return resetPagination()
}
const selectedPersonalDrives = ref([])
Expand Down
7 changes: 3 additions & 4 deletions packages/web-pkg/src/components/ItemFilter.vue
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ export default defineComponent({
const queryParam = `q_${props.filterName}`
const currentRouteQuery = useRouteQuery(queryParam)
const setRouteQuery = () => {
router.push({
return router.push({
query: {
...omit(unref(currentRoute).query, [queryParam]),
...(!!unref(selectedItems).length && {
Expand All @@ -136,7 +136,7 @@ export default defineComponent({
const isSelectionAllowed = (item) => {
return props.allowMultiple || !unref(selectedItems).length || isItemSelected(item)
}
const toggleItemSelection = (item) => {
const toggleItemSelection = async (item) => {
if (!isSelectionAllowed(item)) {
return
}
Expand All @@ -145,8 +145,8 @@ export default defineComponent({
} else {
selectedItems.value.push(item)
}
await setRouteQuery()
emit('selectionChange', unref(selectedItems))
setRouteQuery()
}
const sortItems = (items) => {
Expand Down Expand Up @@ -247,4 +247,3 @@ export default defineComponent({
}
}
</style>

0 comments on commit a295063

Please sign in to comment.