in src/amo/components/PaginatorLink/index.js [26:86]
render() {
const {
className,
currentPage,
page,
pageCount,
pageParam,
pathname,
queryParams,
text,
} = this.props;
invariant(
currentPage !== undefined,
'The currentPage property cannot be undefined',
);
invariant(
pathname !== undefined,
'The pathname property cannot be undefined',
);
invariant(page !== undefined, 'The page property cannot be undefined');
invariant(
pageCount !== undefined,
'The pageCount property cannot be undefined',
);
let rel = null;
if (page + 1 === currentPage) {
rel = 'prev';
} else if (page - 1 === currentPage) {
rel = 'next';
}
if (currentPage === page || page < 1 || page > pageCount) {
const classNames = makeClassName('Paginate-item', className, {
'Paginate-item--current-page': currentPage === page,
});
return (
<Button buttonType="cancel" className={classNames} disabled key={page}>
{text || page}
</Button>
);
}
const parsedPath = url.parse(pathname, true);
return (
<Button
buttonType="cancel"
className={makeClassName('Paginate-item', className)}
rel={rel}
to={{
pathname: parsedPath.pathname,
query: { ...parsedPath.query, ...queryParams, [pageParam]: page },
}}
>
{text || page}
</Button>
);
}