Skip to content

Commit

Permalink
🪲 Fix query params for dataset table.
Browse files Browse the repository at this point in the history
NOTE: Use of v-skeleton-loader. If you don't do this the v-data-table-server component will reset the page value on load. See vuetifyjs/vuetify#17966

The UI related to this is pretty bad, as it causes flicker, but at least the but is avoided.
  • Loading branch information
klondikemarlen committed Mar 13, 2024
1 parent fe84016 commit 3a32727
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions web/src/components/datasets/DatasetsTable.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
<template>
<v-skeleton-loader
v-if="isLoading"
type="table"
/>
<v-data-table-server
v-else
v-model:items-per-page="itemsPerPage"
v-model:page="page"
:headers="headers"
Expand Down Expand Up @@ -119,18 +124,18 @@ const headers = ref([
const route = useRoute()
const router = useRouter()
const itemsPerPage = ref(10)
const page = ref(1)
const itemsPerPage = ref(parseInt(route.query.perPage as string) || 10)
const page = ref(parseInt(route.query.page as string) || 1)
watch(
() => [itemsPerPage.value, page.value],
() => {
([newPerPage, newPage]) => {
const { query } = route
router.push({
query: {
...query,
page: query.page || page.value,
perPage: query.itemsPerPage || itemsPerPage.value,
perPage: newPerPage,
page: newPage,
},
})
},
Expand Down

0 comments on commit 3a32727

Please sign in to comment.