Skip to content

Commit 63c9bd8

Browse files
authored
fix: add filters to fe cache key (#3656)
1 parent f0811e5 commit 63c9bd8

2 files changed

Lines changed: 29 additions & 5 deletions

File tree

frontend/src/modules/member/pages/member-list-page.vue

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,11 @@ const membersQueryKey = computed(() => [
149149
TanstackKey.MEMBERS_LIST,
150150
selectedProjectGroup.value?.id,
151151
queryParams.value.search,
152+
filters.value, // Use filters.value directly to make it reactive
152153
queryParams.value.offset,
153154
queryParams.value.limit,
154155
queryParams.value.orderBy,
155-
selectedProjectGroup.value?.id ? [selectedProjectGroup.value.id] : [],
156-
156+
queryParams.value.segments,
157157
]);
158158
159159
// Query for members list with caching
@@ -208,7 +208,7 @@ watch(membersData, (newData) => {
208208
memberStore.totalMembers = newData.count || 0;
209209
memberStore.savedFilterBody = {
210210
search: queryParams.value.search,
211-
filter: queryParams.value.filter,
211+
filter: filters.value,
212212
offset: queryParams.value.offset,
213213
limit: queryParams.value.limit,
214214
orderBy: queryParams.value.orderBy,
@@ -232,6 +232,7 @@ const fetch = ({
232232
offset: 0,
233233
limit: pagination.value.perPage,
234234
orderBy: orderBy || 'activityCount_DESC',
235+
segments: selectedProjectGroup.value?.id ? [selectedProjectGroup.value.id] : [],
235236
...body,
236237
};
237238
@@ -252,6 +253,17 @@ const onPaginationChange = ({
252253
pagination.value.perPage = perPage;
253254
};
254255
256+
// Watch for filter changes to ensure cache invalidation
257+
watch(
258+
filters,
259+
() => {
260+
// Reset to first page when filters change
261+
pagination.value.page = 1;
262+
queryParams.value.offset = 0;
263+
},
264+
{ deep: true },
265+
);
266+
255267
watch(
256268
selectedProjectGroup,
257269
(newProjectGroup, oldProjectGroup) => {

frontend/src/modules/organization/pages/organization-list-page.vue

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,10 +146,11 @@ const organizationsQueryKey = computed(() => [
146146
TanstackKey.ORGANIZATIONS_LIST,
147147
selectedProjectGroup.value?.id,
148148
queryParams.value.search,
149+
filters.value, // Use filters.value directly to make it reactive
149150
queryParams.value.offset,
150151
queryParams.value.limit,
151152
queryParams.value.orderBy,
152-
selectedProjectGroup.value?.id ? [selectedProjectGroup.value.id] : [],
153+
queryParams.value.segments,
153154
]);
154155
155156
// Query for organizations list with caching
@@ -204,7 +205,7 @@ watch(organizationsData, (newData) => {
204205
organizationStore.totalOrganizations = newData.count || 0;
205206
organizationStore.savedFilterBody = {
206207
search: queryParams.value.search,
207-
filter: queryParams.value.filter,
208+
filter: filters.value,
208209
offset: queryParams.value.offset,
209210
limit: queryParams.value.limit,
210211
orderBy: queryParams.value.orderBy,
@@ -248,6 +249,17 @@ const onPaginationChange = ({
248249
pagination.value.perPage = perPage;
249250
};
250251
252+
// Watch for filter changes to ensure cache invalidation
253+
watch(
254+
filters,
255+
() => {
256+
// Reset to first page when filters change
257+
pagination.value.page = 1;
258+
queryParams.value.offset = 0;
259+
},
260+
{ deep: true },
261+
);
262+
251263
watch(
252264
selectedProjectGroup,
253265
(newProjectGroup, oldProjectGroup) => {

0 commit comments

Comments
 (0)