Paginate blocklists
6834
This commit is contained in:
parent
d4e8acb7e7
commit
2dd50776f6
1 changed files with 21 additions and 2 deletions
|
@ -3,8 +3,11 @@ import React from 'react';
|
||||||
import classnames from 'classnames';
|
import classnames from 'classnames';
|
||||||
import Button from 'component/button';
|
import Button from 'component/button';
|
||||||
import ClaimList from 'component/claimList';
|
import ClaimList from 'component/claimList';
|
||||||
|
import Paginate from 'component/common/paginate';
|
||||||
import Yrbl from 'component/yrbl';
|
import Yrbl from 'component/yrbl';
|
||||||
|
|
||||||
|
const PAGE_SIZE = 10;
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
uris: Array<string>,
|
uris: Array<string>,
|
||||||
help: string,
|
help: string,
|
||||||
|
@ -23,6 +26,15 @@ export default function BlockList(props: Props) {
|
||||||
const hasLocalList = localList && localList.length > 0;
|
const hasLocalList = localList && localList.length > 0;
|
||||||
const justBlocked = list && localList && localList.length < list.length;
|
const justBlocked = list && localList && localList.length < list.length;
|
||||||
|
|
||||||
|
const [page, setPage] = React.useState(1);
|
||||||
|
|
||||||
|
let totalPages = 0;
|
||||||
|
let paginatedLocalList;
|
||||||
|
if (localList) {
|
||||||
|
paginatedLocalList = localList.slice((page - 1) * PAGE_SIZE, page * PAGE_SIZE);
|
||||||
|
totalPages = Math.ceil(localList.length / PAGE_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
// **************************************************************************
|
// **************************************************************************
|
||||||
// **************************************************************************
|
// **************************************************************************
|
||||||
|
|
||||||
|
@ -52,7 +64,7 @@ export default function BlockList(props: Props) {
|
||||||
// **************************************************************************
|
// **************************************************************************
|
||||||
// **************************************************************************
|
// **************************************************************************
|
||||||
|
|
||||||
if (localList === undefined) {
|
if (paginatedLocalList === undefined) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,8 +88,15 @@ export default function BlockList(props: Props) {
|
||||||
<>
|
<>
|
||||||
<div className="help--notice">{help}</div>
|
<div className="help--notice">{help}</div>
|
||||||
<div className={classnames('block-list', className)}>
|
<div className={classnames('block-list', className)}>
|
||||||
<ClaimList uris={localList} showUnresolvedClaims showHiddenByUser hideMenu renderActions={getRenderActions()} />
|
<ClaimList
|
||||||
|
uris={paginatedLocalList}
|
||||||
|
showUnresolvedClaims
|
||||||
|
showHiddenByUser
|
||||||
|
hideMenu
|
||||||
|
renderActions={getRenderActions()}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<Paginate totalPages={totalPages} disableHistory onPageChange={(p) => setPage(p)} />
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue