diff --git a/scm-ui/src/groups/containers/Groups.js b/scm-ui/src/groups/containers/Groups.js index 78e373e261..11d60f66c4 100644 --- a/scm-ui/src/groups/containers/Groups.js +++ b/scm-ui/src/groups/containers/Groups.js @@ -39,7 +39,7 @@ type Props = { history: History, // dispatch functions - fetchGroupsByPage: (link: string, page: number) => void, + fetchGroupsByPage: (link: string, page: number, filter?: string) => void, fetchGroupsByLink: (link: string) => void }; @@ -74,6 +74,9 @@ class Groups extends React.Component { subtitle={t("groups.subtitle")} loading={loading || !groups} error={error} + filter={filter => { + this.props.fetchGroupsByPage(this.props.groupLink, this.props.page, filter); + }} > {this.renderPaginator()} @@ -152,8 +155,8 @@ const mapStateToProps = (state, ownProps) => { const mapDispatchToProps = dispatch => { return { - fetchGroupsByPage: (link: string, page: number) => { - dispatch(fetchGroupsByPage(link, page)); + fetchGroupsByPage: (link: string, page: number, filter?: string) => { + dispatch(fetchGroupsByPage(link, page, filter)); }, fetchGroupsByLink: (link: string) => { dispatch(fetchGroupsByLink(link)); diff --git a/scm-ui/src/groups/modules/groups.js b/scm-ui/src/groups/modules/groups.js index bbaccf6c4a..cb3c24aa0f 100644 --- a/scm-ui/src/groups/modules/groups.js +++ b/scm-ui/src/groups/modules/groups.js @@ -40,9 +40,14 @@ export function fetchGroups(link: string) { return fetchGroupsByLink(link); } -export function fetchGroupsByPage(link: string, page: number) { +export function fetchGroupsByPage(link: string, page: number, filter?: string) { // backend start counting by 0 - return fetchGroupsByLink(link + "?page=" + (page - 1)); + if (filter) { + return fetchGroupsByLink( + `${link}?page=${page - 1}&q=${decodeURIComponent(filter)}` + ); + } + return fetchGroupsByLink(`${link}?page=${page - 1}`); } export function fetchGroupsByLink(link: string) {