mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-11 12:03:00 +00:00
reset offset to 0 on name filter change
move offset to redux state, rather than independent, since it can come from two places (user_page and pagination footer). Keeps things in sync. Adds reducers for setting offset, name filter explicitly.
This commit is contained in:
@@ -1,23 +1,48 @@
|
||||
export const initialState = {
|
||||
user_data: undefined,
|
||||
user_page: 0,
|
||||
user_page: { offset: 0, limit: window.api_page_limit || 100 },
|
||||
name_filter: "",
|
||||
groups_data: undefined,
|
||||
groups_page: 0,
|
||||
limit: window.api_page_limit,
|
||||
groups_page: { offset: 0, limit: window.api_page_limit || 100 },
|
||||
limit: window.api_page_limit || 100,
|
||||
};
|
||||
|
||||
export const reducers = (state = initialState, action) => {
|
||||
switch (action.type) {
|
||||
// Updates the client user model data and stores the page
|
||||
case "USER_OFFSET":
|
||||
return Object.assign({}, state, {
|
||||
user_page: Object.assign({}, state.user_page, {
|
||||
offset: action.value.offset,
|
||||
}),
|
||||
});
|
||||
|
||||
case "USER_NAME_FILTER":
|
||||
// set offset to 0 if name filter changed,
|
||||
// otherwise leave it alone
|
||||
const newOffset =
|
||||
action.value.name_filter !== state.name_filter ? 0 : state.name_filter;
|
||||
return Object.assign({}, state, {
|
||||
user_page: Object.assign({}, state.user_page, {
|
||||
offset: newOffset,
|
||||
}),
|
||||
name_filter: action.value.name_filter,
|
||||
});
|
||||
|
||||
case "USER_PAGE":
|
||||
return Object.assign({}, state, {
|
||||
user_page: action.value.page,
|
||||
user_data: action.value.data,
|
||||
name_filter: action.value.name_filter || "",
|
||||
});
|
||||
|
||||
// Updates the client group model data and stores the page
|
||||
// Updates the client group user model data and stores the page
|
||||
case "GROUPS_OFFSET":
|
||||
return Object.assign({}, state, {
|
||||
groups_page: Object.assign({}, state.groups_page, {
|
||||
offset: action.value.offset,
|
||||
}),
|
||||
});
|
||||
|
||||
case "GROUPS_PAGE":
|
||||
return Object.assign({}, state, {
|
||||
groups_page: action.value.page,
|
||||
|
Reference in New Issue
Block a user