mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-16 22:43:00 +00:00
restore resetting offset when name filter changes
This commit is contained in:
@@ -9,7 +9,7 @@ const PaginationFooter = (props) => {
|
|||||||
return (
|
return (
|
||||||
<div className="pagination-footer">
|
<div className="pagination-footer">
|
||||||
<p>
|
<p>
|
||||||
Displaying {offset}-{offset + visible} {total ? `of ${total}` : ""}
|
Displaying {offset + 1}-{offset + visible} {total ? `of ${total}` : ""}
|
||||||
<br />
|
<br />
|
||||||
{offset >= 1 ? (
|
{offset >= 1 ? (
|
||||||
<button className="btn btn-sm btn-light spaced">
|
<button className="btn btn-sm btn-light spaced">
|
||||||
|
@@ -86,10 +86,14 @@ const ServerDashboard = (props) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const setNameFilter = (name_filter) => {
|
const setNameFilter = (new_name_filter) => {
|
||||||
setSearchParams((params) => {
|
setSearchParams((params) => {
|
||||||
if (name_filter) {
|
// clear offset when name filter changes
|
||||||
params.set("name_filter", name_filter);
|
if (new_name_filter !== name_filter) {
|
||||||
|
params.delete("offset");
|
||||||
|
}
|
||||||
|
if (new_name_filter) {
|
||||||
|
params.set("name_filter", new_name_filter);
|
||||||
} else {
|
} else {
|
||||||
params.delete("name_filter");
|
params.delete("name_filter");
|
||||||
}
|
}
|
||||||
|
@@ -509,6 +509,7 @@ test("Search for user calls updateUsers with name filter", async () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
|
searchParams.set("offset", "2");
|
||||||
render(serverDashboardJsx({ updateUsers: mockUpdateUsers }));
|
render(serverDashboardJsx({ updateUsers: mockUpdateUsers }));
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -516,12 +517,14 @@ test("Search for user calls updateUsers with name filter", async () => {
|
|||||||
|
|
||||||
expect(mockUpdateUsers.mock.calls).toHaveLength(1);
|
expect(mockUpdateUsers.mock.calls).toHaveLength(1);
|
||||||
|
|
||||||
|
expect(searchParams.get("offset")).toEqual("2");
|
||||||
userEvent.type(search, "a");
|
userEvent.type(search, "a");
|
||||||
expect(search.value).toEqual("a");
|
expect(search.value).toEqual("a");
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
jest.runAllTimers();
|
jest.runAllTimers();
|
||||||
});
|
});
|
||||||
expect(searchParams.get("name_filter")).toEqual("a");
|
expect(searchParams.get("name_filter")).toEqual("a");
|
||||||
|
expect(searchParams.get("offset")).toEqual(null);
|
||||||
// FIXME: useSelector mocks prevent updateUsers from being called
|
// FIXME: useSelector mocks prevent updateUsers from being called
|
||||||
// expect(mockUpdateUsers.mock.calls).toHaveLength(2);
|
// expect(mockUpdateUsers.mock.calls).toHaveLength(2);
|
||||||
// expect(mockUpdateUsers).toBeCalledWith(0, 100, "a");
|
// expect(mockUpdateUsers).toBeCalledWith(0, 100, "a");
|
||||||
|
Reference in New Issue
Block a user