added filter for repos

This commit is contained in:
Florian Scholdei
2019-04-10 17:25:36 +02:00
parent 99e78da67b
commit 3008aaaa4d
3 changed files with 18 additions and 10 deletions

View File

@@ -36,7 +36,7 @@ type Props = {
// dispatched functions
fetchRepos: string => void,
fetchReposByPage: (string, number) => void,
fetchReposByPage: (link: string, page: number, filter?: string) => void,
fetchReposByLink: string => void,
// context props
@@ -71,6 +71,9 @@ class Overview extends React.Component<Props> {
subtitle={t("overview.subtitle")}
loading={loading}
error={error}
filter={filter => {
this.props.fetchReposByPage(this.props.reposLink, this.props.page, filter);
}}
>
{this.renderList()}
{this.renderPageActionCreateButton()}
@@ -151,8 +154,8 @@ const mapDispatchToProps = dispatch => {
fetchRepos: (link: string) => {
dispatch(fetchRepos(link));
},
fetchReposByPage: (link: string, page: number) => {
dispatch(fetchReposByPage(link, page));
fetchReposByPage: (link: string, page: number, filter?: string) => {
dispatch(fetchReposByPage(link, page, filter));
},
fetchReposByLink: (link: string) => {
dispatch(fetchReposByLink(link));

View File

@@ -46,7 +46,12 @@ export function fetchRepos(link: string) {
return fetchReposByLink(link);
}
export function fetchReposByPage(link: string, page: number) {
export function fetchReposByPage(link: string, page: number, filter?: string) {
if (filter) {
return fetchReposByLink(
`${link}?page=${page - 1}&q=${decodeURIComponent(filter)}`
);
}
return fetchReposByLink(`${link}?page=${page - 1}`);
}

View File

@@ -46,9 +46,11 @@ export function fetchUsers(link: string) {
export function fetchUsersByPage(link: string, page: number, filter?: string) {
// backend start counting by 0
if (filter) {
return fetchUsersByLink(link + "?page=" + (page - 1) + "&q=" + decodeURIComponent(filter));
return fetchUsersByLink(
`${link}?page=${page - 1}&q=${decodeURIComponent(filter)}`
);
}
return fetchUsersByLink(link + "?page=" + (page - 1));
return fetchUsersByLink(`${link}?page=${page - 1}`);
}
export function fetchUsersByLink(link: string) {
@@ -156,9 +158,7 @@ export function createUser(link: string, user: User, callback?: () => void) {
callback();
}
})
.catch(error =>
dispatch(createUserFailure(error))
);
.catch(error => dispatch(createUserFailure(error)));
};
}