diff --git a/packages/web-app-files/src/views/spaces/Projects.vue b/packages/web-app-files/src/views/spaces/Projects.vue
index f72a94e21e1..c12fea2ca2f 100644
--- a/packages/web-app-files/src/views/spaces/Projects.vue
+++ b/packages/web-app-files/src/views/spaces/Projects.vue
@@ -16,7 +16,7 @@
-
+
{
+ return loadResourcesTask.isRunning || !loadResourcesTask.last
})
const hasCreatePermission = computed(() => can('create-all', 'Space'))
const viewModes = computed(() => [ViewModeConstants.tilesView])
- onMounted(() => {
- store.commit('Files/LOAD_FILES', { currentFolder: null, files: unref(spaces) })
+ onMounted(async () => {
+ await loadResourcesTask.perform(false)
scrollToResourceFromRoute(unref(spaces) as Resource[])
})
@@ -150,6 +157,7 @@ export default defineComponent({
spaces,
graphClient,
loadResourcesTask,
+ areResourcesLoading,
accessToken,
selectedResourcesIds,
handleSort,
@@ -172,7 +180,7 @@ export default defineComponent({
return [
{
text: this.$gettext('Spaces'),
- onClick: () => this.loadResourcesTask.perform()
+ onClick: () => this.loadResourcesTask.perform(true)
}
]
},
diff --git a/packages/web-app-files/src/views/trash/Overview.vue b/packages/web-app-files/src/views/trash/Overview.vue
index 13e0bf08478..dd247eb2e08 100644
--- a/packages/web-app-files/src/views/trash/Overview.vue
+++ b/packages/web-app-files/src/views/trash/Overview.vue
@@ -9,7 +9,7 @@
:has-file-extensions="false"
:has-pagination="false"
/>
-
+
{
+ return loadResourcesTask.isRunning || !loadResourcesTask.last
+ })
+
const footerTextTotal = computed(() => {
return $gettext('%{spaceCount} trashes in total', {
spaceCount: unref(spaces).length.toString()
@@ -113,7 +119,7 @@ export default defineComponent({
})
const breadcrumbs = computed(() => [
- { text: $gettext('Deleted files'), onClick: () => loadResourcesTask.perform() }
+ { text: $gettext('Deleted files'), onClick: () => loadResourcesTask.perform(true) }
])
const sort = (list: SpaceResource[], propName: string, desc: boolean) => {
@@ -177,14 +183,14 @@ export default defineComponent({
})
}
- onMounted(() => {
+ onMounted(async () => {
if (unref(spaces).length === 1) {
return router.push(getTrashLink(unref(spaces).pop()))
}
- nextTick(() => {
- markInstance.value = new Mark(unref(tableRef)?.$el)
- })
+ await loadResourcesTask.perform(false)
+ await nextTick()
+ markInstance.value = new Mark(unref(tableRef)?.$el)
})
watch(filterTerm, () => {
@@ -216,6 +222,7 @@ export default defineComponent({
getSpaceName,
getTrashLink,
loadResourcesTask,
+ areResourcesLoading,
isPersonalSpaceResource
}
}
diff --git a/packages/web-app-files/tests/unit/views/trash/Overview.spec.ts b/packages/web-app-files/tests/unit/views/trash/Overview.spec.ts
index c9fe96174a9..a732640589c 100644
--- a/packages/web-app-files/tests/unit/views/trash/Overview.spec.ts
+++ b/packages/web-app-files/tests/unit/views/trash/Overview.spec.ts
@@ -47,18 +47,19 @@ describe('TrashOverview', () => {
describe('view states', () => {
it('shows the loading spinner during loading', async () => {
const { wrapper } = getWrapper()
- wrapper.vm.loadResourcesTask.perform()
await nextTick()
expect(wrapper.find('oc-spinner-stub').exists()).toBeTruthy()
})
it('should render spaces list', async () => {
const { wrapper } = getWrapper()
+ await wrapper.vm.loadResourcesTask.last
expect(wrapper.html()).toMatchSnapshot()
})
})
describe('sorting', () => {
it('sorts by property name', async () => {
const { wrapper } = getWrapper()
+ await wrapper.vm.loadResourcesTask.last
let sortedSpaces = []
wrapper.vm.sortBy = 'name'