mirror of
https://github.com/grafana/grafana.git
synced 2026-07-30 00:08:10 -05:00
UserListAdminPage: Reset page when changing filters (#47958)
This commit is contained in:
@@ -12,6 +12,7 @@ import {
|
||||
userSessionsLoadedAction,
|
||||
userListAdminReducer,
|
||||
queryChanged,
|
||||
filterChanged,
|
||||
} from './reducers';
|
||||
import { LdapState, LdapUser, UserAdminState, UserDTO, UserListAdminState } from 'app/types';
|
||||
|
||||
@@ -287,4 +288,22 @@ describe('User List Admin reducer', () => {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('When filter changed', () => {
|
||||
it('should reset page to 0', () => {
|
||||
const initialState = {
|
||||
...makeInitialUserListAdminState(),
|
||||
page: 3,
|
||||
};
|
||||
|
||||
reducerTester<UserListAdminState>()
|
||||
.givenReducer(userListAdminReducer, initialState)
|
||||
.whenActionIsDispatched(filterChanged({ test: true }))
|
||||
.thenStateShouldEqual({
|
||||
...makeInitialUserListAdminState(),
|
||||
page: 0,
|
||||
filters: expect.arrayContaining([{ test: true }]),
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -178,11 +178,13 @@ export const userListAdminSlice = createSlice({
|
||||
if (state.filters.some((filter) => filter.name === name)) {
|
||||
return {
|
||||
...state,
|
||||
page: 0,
|
||||
filters: state.filters.map((filter) => (filter.name === name ? { ...filter, value } : filter)),
|
||||
};
|
||||
}
|
||||
return {
|
||||
...state,
|
||||
page: 0,
|
||||
filters: [...state.filters, action.payload],
|
||||
};
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user