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

View File

@@ -46,7 +46,12 @@ export function fetchRepos(link: string) {
return fetchReposByLink(link); 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}`); return fetchReposByLink(`${link}?page=${page - 1}`);
} }

View File

@@ -45,10 +45,12 @@ export function fetchUsers(link: string) {
export function fetchUsersByPage(link: string, page: number, filter?: string) { export function fetchUsersByPage(link: string, page: number, filter?: string) {
// backend start counting by 0 // backend start counting by 0
if(filter) { 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) { export function fetchUsersByLink(link: string) {
@@ -156,9 +158,7 @@ export function createUser(link: string, user: User, callback?: () => void) {
callback(); callback();
} }
}) })
.catch(error => .catch(error => dispatch(createUserFailure(error)));
dispatch(createUserFailure(error))
);
}; };
} }