Skip to content

Commit 0274ca4

Browse files
committed
feat(DatasetFiles): add pagination to the table
1 parent b954880 commit 0274ca4

32 files changed

Lines changed: 747 additions & 127 deletions

package-lock.json

Lines changed: 156 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"react-bootstrap": "^2.7.2",
3131
"react-bootstrap-icons": "^1.10.3",
3232
"react-i18next": "^12.1.5",
33+
"react-loader-spinner": "^5.3.4",
3334
"react-markdown": "^8.0.7",
3435
"react-router-dom": "^6.8.1",
3536
"react-topbar-progress-indicator": "^4.1.1",

packages/design-system/src/lib/components/assets/styles/bootstrap-customized.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ $breadcrumb-divider: ">";
8282
// Alert
8383
@import "bootstrap/scss/alert";
8484

85+
// Pagination
86+
@import "bootstrap/scss/pagination";
8587

8688
// Navbar
8789

packages/design-system/src/lib/components/grid/Col.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ type ColSpec =
1212

1313
export interface ColProps extends React.HTMLAttributes<HTMLElement> {
1414
children: ReactNode
15-
xs?: ColSpec
16-
sm?: ColSpec
17-
md?: ColSpec
18-
lg?: ColSpec
15+
xs?: ColSpec | 'auto'
16+
sm?: ColSpec | 'auto'
17+
md?: ColSpec | 'auto'
18+
lg?: ColSpec | 'auto'
1919
}
2020

2121
export function Col({ children, ...props }: ColProps) {
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { PropsWithChildren } from 'react'
2+
import { Pagination as PaginationBS } from 'react-bootstrap'
3+
import { PaginationFirst } from './PaginationFirst'
4+
import { PaginationPrev } from './PaginationPrev'
5+
import { PaginationEllipsis } from './PaginationEllipsis'
6+
import { PaginationNext } from './PaginationNext'
7+
import { PaginationLast } from './PaginationLast'
8+
import { PaginationItem } from './PaginationItem'
9+
10+
function Pagination({ children }: PropsWithChildren) {
11+
return <PaginationBS>{children}</PaginationBS>
12+
}
13+
14+
Pagination.First = PaginationFirst
15+
Pagination.Prev = PaginationPrev
16+
Pagination.Ellipsis = PaginationEllipsis
17+
Pagination.Next = PaginationNext
18+
Pagination.Last = PaginationLast
19+
Pagination.Item = PaginationItem
20+
21+
export { Pagination }
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { Pagination } from 'react-bootstrap'
2+
3+
export function PaginationEllipsis() {
4+
return <Pagination.Ellipsis />
5+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { Pagination } from 'react-bootstrap'
2+
3+
interface PaginationFirstProps {
4+
onClick: () => void
5+
disabled: boolean
6+
}
7+
export function PaginationFirst({ onClick, disabled }: PaginationFirstProps) {
8+
return <Pagination.First onClick={onClick} disabled={disabled} />
9+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { Pagination } from 'react-bootstrap'
2+
3+
interface PaginationItemProps {
4+
pageNumber: number
5+
onClick?: () => void
6+
disabled?: boolean
7+
active?: boolean
8+
}
9+
export function PaginationItem({ pageNumber, onClick, disabled, active }: PaginationItemProps) {
10+
return (
11+
<Pagination.Item onClick={onClick} disabled={disabled} active={active}>
12+
{pageNumber}
13+
</Pagination.Item>
14+
)
15+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { Pagination } from 'react-bootstrap'
2+
3+
interface PaginationLastProps {
4+
onClick: () => void
5+
disabled: boolean
6+
}
7+
export function PaginationLast({ onClick, disabled }: PaginationLastProps) {
8+
return <Pagination.Last onClick={onClick} disabled={disabled} />
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { Pagination } from 'react-bootstrap'
2+
3+
interface PaginationNextProps {
4+
onClick: () => void
5+
disabled: boolean
6+
}
7+
export function PaginationNext({ onClick, disabled }: PaginationNextProps) {
8+
return <Pagination.Next onClick={onClick} disabled={disabled} />
9+
}

0 commit comments

Comments
 (0)