diff --git a/packages/web-app-files/src/components/FilesList/TrashbinDatePicker.vue b/packages/web-app-files/src/components/FilesList/TrashbinDatePicker.vue
new file mode 100644
index 00000000000..8dafe388fae
--- /dev/null
+++ b/packages/web-app-files/src/components/FilesList/TrashbinDatePicker.vue
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/web-app-files/src/services/folder/loaderTrashbin.ts b/packages/web-app-files/src/services/folder/loaderTrashbin.ts
index 3531e752d40..a5c67e029ed 100644
--- a/packages/web-app-files/src/services/folder/loaderTrashbin.ts
+++ b/packages/web-app-files/src/services/folder/loaderTrashbin.ts
@@ -27,14 +27,20 @@ export class FolderLoaderTrashbin implements FolderLoader {
} = context
const hasShareJail = useCapabilityShareJailEnabled(store)
- return useTask(function* (signal1, signal2, space: Resource) {
+ return useTask(function* (signal1, signal2, space: Resource, query) {
store.commit('Files/CLEAR_CURRENT_FILES_LIST')
store.commit('Files/SET_ANCESTOR_META_DATA', {})
const path = unref(hasShareJail)
? buildWebDavSpacesTrashPath(space.id)
: buildWebDavFilesTrashPath(space.id)
- const resources = yield client.fileTrash.list(path, '1', DavProperties.Trashbin)
+
+ let resources
+ if (query.value) {
+ resources = yield client.fileTrash.list(path, '1', DavProperties.Trashbin, unref(query))
+ } else {
+ resources = yield client.fileTrash.list(path, '1', DavProperties.Trashbin)
+ }
store.commit('Files/LOAD_FILES', {
currentFolder: buildResource(resources[0]),
diff --git a/packages/web-app-files/src/views/spaces/GenericTrash.vue b/packages/web-app-files/src/views/spaces/GenericTrash.vue
index b9dbb6a2c57..8417080b529 100644
--- a/packages/web-app-files/src/views/spaces/GenericTrash.vue
+++ b/packages/web-app-files/src/views/spaces/GenericTrash.vue
@@ -7,6 +7,8 @@
:side-bar-open="sideBarOpen"
:space="space"
/>
+
+
{
return props.space.driveType === 'personal'
@@ -130,9 +136,17 @@ export default defineComponent({
})
useDocumentTitle({ titleSegments })
+ const query =
+ router.currentRoute.value.query.from && router.currentRoute.value.query.to
+ ? ref({
+ from: router.currentRoute.value.query.from,
+ to: router.currentRoute.value.query.to
+ })
+ : ref(null)
+
const resourcesViewDefaults = useResourcesViewDefaults()
const performLoaderTask = async () => {
- await resourcesViewDefaults.loadResourcesTask.perform(props.space)
+ await resourcesViewDefaults.loadResourcesTask.perform(props.space, query)
resourcesViewDefaults.refreshFileListHeaderPosition()
resourcesViewDefaults.scrollToResourceFromRoute(
unref(resourcesViewDefaults.paginatedResources)
@@ -146,6 +160,12 @@ export default defineComponent({
})
})
+ function rangeChanged(data) {
+ query.value =
+ data.range?.from && data.range?.to ? { from: data.range.from, to: data.range.to } : null
+ performLoaderTask()
+ }
+
onBeforeUnmount(() => {
eventBus.unsubscribe('app.files.list.load', loadResourcesEventToken)
})
@@ -153,7 +173,8 @@ export default defineComponent({
return {
...resourcesViewDefaults,
hasShareJail: useCapabilityShareJailEnabled(),
- noContentMessage
+ noContentMessage,
+ rangeChanged
}
},