diff --git a/kolibri/plugins/facility/assets/src/composables/useUserManagement.js b/kolibri/plugins/facility/assets/src/composables/useUserManagement.js
index bc1dd1047c2..6291a3fa2a0 100644
--- a/kolibri/plugins/facility/assets/src/composables/useUserManagement.js
+++ b/kolibri/plugins/facility/assets/src/composables/useUserManagement.js
@@ -33,6 +33,10 @@ export default function useUserManagement({
classes,
});
+ const clearSelectedUsers = () => {
+ selectedUsers.value = new Set();
+ };
+
const fetchUsers = async () => {
dataLoading.value = true;
try {
@@ -78,7 +82,7 @@ export default function useUserManagement({
function onChange({ resetSelection = false, affectedClasses = null } = {}) {
if (resetSelection) {
- selectedUsers.value = new Set();
+ clearSelectedUsers();
}
if (
// If there isn't any specific class affected, always refetch
@@ -108,6 +112,15 @@ export default function useUserManagement({
{ immediate: true },
);
+ watch([numAppliedFilters, search], (newValues, oldValues) => {
+ const [newNumFilters, newSearch] = newValues;
+ const [oldNumFilters, oldSearch] = oldValues;
+
+ if (newNumFilters !== oldNumFilters || newSearch !== oldSearch) {
+ clearSelectedUsers();
+ }
+ });
+
return {
selectedUsers,
facilityUsers,
@@ -126,5 +139,6 @@ export default function useUserManagement({
fetchUsers,
fetchClasses,
resetFilters,
+ clearSelectedUsers,
};
}
diff --git a/kolibri/plugins/facility/assets/src/views/users/NewUsersPage.vue b/kolibri/plugins/facility/assets/src/views/users/NewUsersPage.vue
index a9ec1d72e8d..d4825a0ff16 100644
--- a/kolibri/plugins/facility/assets/src/views/users/NewUsersPage.vue
+++ b/kolibri/plugins/facility/assets/src/views/users/NewUsersPage.vue
@@ -266,6 +266,7 @@
onChange,
fetchClasses,
resetFilters,
+ clearSelectedUsers,
} = useUserManagement({
activeFacilityId,
dateJoinedGt: newUsersCreationTreshold,
@@ -314,10 +315,6 @@
clearFiltersLabel$,
} = bulkUserManagementStrings;
- function clearSelectedUsers() {
- selectedUsers.value = new Set();
- }
-
function onModalBlur() {
selectedUsers.value.clear();
selectedUsers.value = new Set(selectedUsers.value);
diff --git a/kolibri/plugins/facility/assets/src/views/users/UsersRootPage/index.vue b/kolibri/plugins/facility/assets/src/views/users/UsersRootPage/index.vue
index 2442236cc0d..b22a27c248f 100644
--- a/kolibri/plugins/facility/assets/src/views/users/UsersRootPage/index.vue
+++ b/kolibri/plugins/facility/assets/src/views/users/UsersRootPage/index.vue
@@ -168,7 +168,6 @@
@clearSelectedUsers="clearSelectedUsers"
@change="onChange"
/>
-
-