diff --git a/packages/web-app-files/src/components/AppBar/ViewOptions.vue b/packages/web-app-files/src/components/AppBar/ViewOptions.vue
index 4eef7af04c3..c7dba42825e 100644
--- a/packages/web-app-files/src/components/AppBar/ViewOptions.vue
+++ b/packages/web-app-files/src/components/AppBar/ViewOptions.vue
@@ -39,7 +39,7 @@
import { mapMutations, mapState, mapActions } from 'vuex'
+import { watch } from '@vue/composition-api'
+import { useRouteQuery, useDefaults } from '../../composables'
export default {
+ setup() {
+ const { pagination: paginationDefaults } = useDefaults()
+ const itemsPerPage = useRouteQuery('items-per-page', paginationDefaults.perPage.value)
+ watch(itemsPerPage, (v) => {
+ paginationDefaults.perPage.value = v
+ })
+
+ return {
+ itemsPerPage
+ }
+ },
computed: {
...mapState('Files', ['areHiddenFilesShown']),
...mapState('Files/sidebar', { sidebarClosed: 'closed' }),
- ...mapState('Files/pagination', ['itemsPerPage']),
viewOptionsButtonLabel() {
return this.$gettext('Display customization options of the files list')
@@ -81,44 +93,11 @@ export default {
set(value) {
this.SET_HIDDEN_FILES_VISIBILITY(value)
}
- },
-
- itemsPerPageModel: {
- get() {
- return this.itemsPerPage
- },
-
- set(value) {
- this.updateQuery(value)
- }
- }
- },
-
- watch: {
- $route: {
- handler(route) {
- if (Object.prototype.hasOwnProperty.call(route.query, 'items-per-page')) {
- this.SET_ITEMS_PER_PAGE(route.query['items-per-page'])
-
- return
- }
-
- this.updateQuery()
- },
- immediate: true
}
},
methods: {
...mapMutations('Files', ['SET_HIDDEN_FILES_VISIBILITY']),
- ...mapActions('Files/sidebar', { toggleSidebar: 'toggle' }),
- ...mapMutations('Files/pagination', ['SET_ITEMS_PER_PAGE']),
-
- updateQuery(limit = this.itemsPerPageModel) {
- const query = { ...this.$route.query, 'items-per-page': limit }
-
- this.SET_ITEMS_PER_PAGE(limit)
- this.$router.replace({ query }).catch(() => {})
- }
+ ...mapActions('Files/sidebar', { toggleSidebar: 'toggle' })
}
}
diff --git a/packages/web-app-files/src/components/FilesList/Pagination.vue b/packages/web-app-files/src/components/FilesList/Pagination.vue
index 6465443d32b..c9bfb5c1ac0 100644
--- a/packages/web-app-files/src/components/FilesList/Pagination.vue
+++ b/packages/web-app-files/src/components/FilesList/Pagination.vue
@@ -10,12 +10,16 @@
diff --git a/packages/web-app-files/src/components/Search/List.vue b/packages/web-app-files/src/components/Search/List.vue
index 4f8b9d9f137..aebc6a57c13 100644
--- a/packages/web-app-files/src/components/Search/List.vue
+++ b/packages/web-app-files/src/components/Search/List.vue
@@ -1,6 +1,6 @@
-
+
No resource found
@@ -12,7 +12,7 @@
v-else
class="files-table"
:class="{ 'files-table-squashed': false }"
- :resources="activeFilesCurrentPage"
+ :resources="paginatedResources"
:target-route="{ name: 'files-personal' }"
:are-paths-displayed="true"
:are-thumbnails-displayed="displayThumbnails"
@@ -22,9 +22,9 @@
@rowMounted="rowMounted"
>
-
+