Skip to content

Commit ce80f8b

Browse files
chore: added fixes
1 parent 713e7ce commit ce80f8b

3 files changed

Lines changed: 30 additions & 24 deletions

File tree

packages/ui/src/2_molecules/AddressTablePagination/AddressTablePagination.stories.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { Story } from '@storybook/react';
22

33
import React, { ComponentProps } from 'react';
44

5-
import { noop } from '../../utils';
65
import { AddressTablePagination } from './AddressTablePagination';
76

87
export default {
@@ -12,14 +11,16 @@ export default {
1211

1312
const Template: Story<ComponentProps<typeof AddressTablePagination>> = args => (
1413
<>
15-
<AddressTablePagination {...args} />
14+
<AddressTablePagination
15+
{...args}
16+
onPageChange={offset => alert('offset - ' + offset)}
17+
/>
1618
</>
1719
);
1820

1921
export const Basic = Template.bind({});
2022
Basic.args = {
2123
className: '',
2224
dataLayoutId: '',
23-
limit: 5,
24-
onPageChange: noop,
25+
itemsPerPage: 5,
2526
};

packages/ui/src/2_molecules/AddressTablePagination/AddressTablePagination.test.tsx

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,25 @@
1-
import { screen, render } from '@testing-library/react';
1+
import { render } from '@testing-library/react';
22
import userEvent from '@testing-library/user-event';
33

44
import React from 'react';
55

66
import { AddressTablePagination } from './AddressTablePagination';
77

88
describe('AddressTablePagination', () => {
9-
it('renders a AddressTablePagination', () => {
9+
it('renders AddressTablePagination', () => {
1010
const onPageChange = jest.fn();
11-
render(<AddressTablePagination onPageChange={onPageChange} />);
12-
expect(screen.findAllByRole('svg[data-icon="arrow-back"]')).toBeDefined();
11+
const { findAllByRole } = render(
12+
<AddressTablePagination onPageChange={onPageChange} />,
13+
);
14+
expect(findAllByRole('svg[data-icon="arrow-back"]')).toBeDefined();
1315
});
1416

15-
it('does not allow to click on a disabled button', () => {
17+
it('does not allow to click Previous without clicking Next first', () => {
1618
const onPageChange = jest.fn();
17-
render(<AddressTablePagination onPageChange={onPageChange} />);
18-
screen.getAllByRole('button').forEach(element => {
19+
const { getAllByRole } = render(
20+
<AddressTablePagination onPageChange={onPageChange} />,
21+
);
22+
getAllByRole('button').forEach(element => {
1923
userEvent.click(element);
2024
});
2125
expect(onPageChange).toBeCalledTimes(1);

packages/ui/src/2_molecules/AddressTablePagination/AddressTablePagination.tsx

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,29 @@ type AddressTablePaginationProps = {
99
onPageChange: (value: number) => void;
1010
className?: string;
1111
dataLayoutId?: string;
12-
limit?: number;
12+
itemsPerPage?: number;
1313
};
1414

15-
const DEFAULT_LIMIT = 5;
15+
const DEFAULT_ITEMS_PER_PAGE = 5;
1616

1717
export const AddressTablePagination: FC<AddressTablePaginationProps> = ({
1818
onPageChange,
1919
className,
2020
dataLayoutId,
21-
limit = DEFAULT_LIMIT,
21+
itemsPerPage = DEFAULT_ITEMS_PER_PAGE,
2222
}) => {
2323
const [offset, setOffset] = useState(0);
24+
console.log(offset);
2425

25-
const handleMoveRight = useCallback(() => {
26-
setOffset(offset + limit);
27-
onPageChange(offset);
28-
}, [setOffset, offset, limit, onPageChange]);
26+
const handleClickNext = useCallback(() => {
27+
setOffset(offset + itemsPerPage);
28+
onPageChange(offset + itemsPerPage);
29+
}, [setOffset, offset, itemsPerPage, onPageChange]);
2930

30-
const handleMoveLeft = useCallback(() => {
31-
setOffset(offset - limit);
32-
onPageChange(offset);
33-
}, [setOffset, offset, limit, onPageChange]);
31+
const handleClickPrevious = useCallback(() => {
32+
setOffset(offset - itemsPerPage);
33+
onPageChange(offset - itemsPerPage);
34+
}, [setOffset, offset, itemsPerPage, onPageChange]);
3435

3536
const isDisabled = useMemo(() => offset <= 0, [offset]);
3637

@@ -39,10 +40,10 @@ export const AddressTablePagination: FC<AddressTablePaginationProps> = ({
3940
data-layout-id={dataLayoutId}
4041
className={classnames(styles.AddressTablePagination, className)}
4142
>
42-
<button type="button" disabled={isDisabled} onClick={handleMoveLeft}>
43+
<button type="button" disabled={isDisabled} onClick={handleClickPrevious}>
4344
<Icon icon="arrow-back" size={12} />
4445
</button>
45-
<button type="button" onClick={handleMoveRight}>
46+
<button type="button" onClick={handleClickNext}>
4647
<Icon icon="arrow-forward" size={12} />
4748
</button>
4849
</div>

0 commit comments

Comments
 (0)