From 5e8a2de089b86440f6ba03c373dae7f56fd8f8d9 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Fri, 5 May 2023 12:10:49 +0100 Subject: [PATCH] Handle cursors on refresh --- .../builder/portal/users/groups/[groupId].svelte | 2 +- packages/frontend-core/src/fetch/DataFetch.js | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/builder/src/pages/builder/portal/users/groups/[groupId].svelte b/packages/builder/src/pages/builder/portal/users/groups/[groupId].svelte index 8acd4959b4..589df5c599 100644 --- a/packages/builder/src/pages/builder/portal/users/groups/[groupId].svelte +++ b/packages/builder/src/pages/builder/portal/users/groups/[groupId].svelte @@ -150,7 +150,7 @@ const removeUser = async id => { await groups.actions.removeUser(groupId, id) - fetchGroupUsers.getInitialData() + fetchGroupUsers.refresh() } const removeApp = async app => { diff --git a/packages/frontend-core/src/fetch/DataFetch.js b/packages/frontend-core/src/fetch/DataFetch.js index f68b37dcca..c49d8c29fb 100644 --- a/packages/frontend-core/src/fetch/DataFetch.js +++ b/packages/frontend-core/src/fetch/DataFetch.js @@ -362,13 +362,24 @@ export default class DataFetch { return } this.store.update($store => ({ ...$store, loading: true })) - const { rows, info, error } = await this.getPage() + const { rows, info, error, cursor } = await this.getPage() + + let { cursors } = get(this.store) + const { pageNumber } = get(this.store) + + const currentNextCursor = cursors[pageNumber + 1] + if (currentNextCursor != cursor) { + cursors = cursors.slice(0, pageNumber + 1) + cursors[pageNumber + 1] = cursor + } + this.store.update($store => ({ ...$store, rows, info, loading: false, error, + cursors, })) }