From e902525c92e466b28a360a93c3ff09239a94757e Mon Sep 17 00:00:00 2001 From: Csaky Date: Thu, 1 Feb 2024 10:11:38 -0800 Subject: [PATCH] Fetch object permissions in lazy-load of object table --- .../src/components/object/ObjectTable.vue | 19 +++++++++++++------ .../options/ObjectSearchPermissionsOptions.ts | 2 +- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/frontend/src/components/object/ObjectTable.vue b/frontend/src/components/object/ObjectTable.vue index 6a9a020d..556349f8 100644 --- a/frontend/src/components/object/ObjectTable.vue +++ b/frontend/src/components/object/ObjectTable.vue @@ -66,12 +66,6 @@ const filters = ref({ meta: { value: undefined, matchMode: 'contains' } }); -const loading = ref(false); -const lazyParams: Ref = ref({}); -const totalRecords = ref(0); -const first = ref(0); -const selectedObjects: any = ref(); - // Actions const toast = useToast(); const formatShortUuid = (uuid: string) => uuid?.slice(0, 8) ?? uuid; @@ -134,6 +128,19 @@ const loadLazyData = (event?: any) => { tableData.value = r.data; totalRecords.value = +r?.headers['x-total-rows']; loading.value = false; + + // add to object store + r.data.forEach((o: COMSObject) => { + console.log(o); + objectStore.$patch((state) => { + state.objects.push(o); + }); + }); + return r.data; + }) + // add objects' permissions to store + .then((objects: Array) => { + permissionStore.fetchObjectPermissions({ objectId: objects.map((o: COMSObject) => o.id) }); }); }; const onPage = (event?: any) => { diff --git a/frontend/src/types/options/ObjectSearchPermissionsOptions.ts b/frontend/src/types/options/ObjectSearchPermissionsOptions.ts index 3228d040..9b942b5a 100644 --- a/frontend/src/types/options/ObjectSearchPermissionsOptions.ts +++ b/frontend/src/types/options/ObjectSearchPermissionsOptions.ts @@ -1,7 +1,7 @@ export type ObjectSearchPermissionsOptions = { bucketId?: string; bucketPerms?: boolean; - objectId?: string; + objectId?: string | Array; permCode?: string; userId?: string; };