Skip to content

Commit 1a15d04

Browse files
committed
chore: fix types for pagination navigation
Signed-off-by: Jon Koops <[email protected]>
1 parent 62810f1 commit 1a15d04

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

packages/react-core/src/components/Pagination/Navigation.tsx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export interface NavigationProps extends React.HTMLProps<HTMLElement> {
2929
/** Label for the English word "of". */
3030
ofWord?: string;
3131
/** The number of the current page. */
32-
page: string | number;
32+
page: number;
3333
/** The title of a page displayed beside the page number. */
3434
pagesTitle?: string;
3535
/** The title of a page displayed beside the page number (the plural form). */
@@ -55,13 +55,13 @@ export interface NavigationProps extends React.HTMLProps<HTMLElement> {
5555
/** Function called when user clicks to navigate to previous page. */
5656
onPreviousClick?: (event: React.SyntheticEvent<HTMLButtonElement>, page: number) => void;
5757
/** Function called when user inputs page number. */
58-
onPageInput?: (event: React.SyntheticEvent<HTMLButtonElement>, page: number) => void;
58+
onPageInput?: (event: React.KeyboardEvent<HTMLInputElement>, page: number) => void;
5959
/** Function called when page is changed. */
6060
onSetPage: OnSetPage;
6161
}
6262

6363
export interface NavigationState {
64-
userInputPage?: React.ReactText;
64+
userInputPage?: number | string;
6565
}
6666

6767
class Navigation extends React.Component<NavigationProps, NavigationState> {
@@ -93,7 +93,7 @@ class Navigation extends React.Component<NavigationProps, NavigationState> {
9393
onPageInput: () => undefined as any
9494
};
9595

96-
private static parseInteger(input: React.ReactText, lastPage: number): number {
96+
private static parseInteger(input: number | string, lastPage: number): number {
9797
// eslint-disable-next-line radix
9898
let inputPage = Number.parseInt(input as string, 10);
9999
if (!Number.isNaN(inputPage)) {
@@ -105,14 +105,14 @@ class Navigation extends React.Component<NavigationProps, NavigationState> {
105105

106106
private onChange(event: React.FormEvent<HTMLInputElement>, lastPage: number): void {
107107
const inputPage = Navigation.parseInteger(event.currentTarget.value, lastPage);
108-
this.setState({ userInputPage: Number.isNaN(inputPage as number) ? event.currentTarget.value : inputPage });
108+
this.setState({ userInputPage: Number.isNaN(inputPage) ? event.currentTarget.value : inputPage });
109109
}
110110

111111
private onKeyDown(
112112
event: React.KeyboardEvent<HTMLInputElement>,
113-
page: number | string,
113+
page: number,
114114
lastPage: number,
115-
onPageInput: (event: React.SyntheticEvent<HTMLButtonElement>, page: number) => void
115+
onPageInput: (event: React.KeyboardEvent<HTMLInputElement>, page: number) => void
116116
): void {
117117
const allowedKeys = [
118118
'Tab',
@@ -126,9 +126,9 @@ class Navigation extends React.Component<NavigationProps, NavigationState> {
126126
'ArrowDown'
127127
];
128128
if (event.key === KeyTypes.Enter) {
129-
const inputPage = Navigation.parseInteger(this.state.userInputPage, lastPage) as number;
130-
onPageInput(event, Number.isNaN(inputPage) ? (page as number) : inputPage);
131-
this.handleNewPage(event, Number.isNaN(inputPage) ? (page as number) : inputPage);
129+
const inputPage = Navigation.parseInteger(this.state.userInputPage, lastPage);
130+
onPageInput(event, Number.isNaN(inputPage) ? page : inputPage);
131+
this.handleNewPage(event, Number.isNaN(inputPage) ? page : inputPage);
132132
} else if (!/^\d*$/.test(event.key) && !allowedKeys.includes(event.key)) {
133133
event.preventDefault();
134134
}
@@ -206,7 +206,7 @@ class Navigation extends React.Component<NavigationProps, NavigationState> {
206206
isDisabled={isDisabled || page === firstPage || page === 0}
207207
data-action="previous"
208208
onClick={(event) => {
209-
const newPage = (page as number) - 1 >= 1 ? (page as number) - 1 : 1;
209+
const newPage = page - 1 >= 1 ? page - 1 : 1;
210210
onPreviousClick(event, newPage);
211211
this.handleNewPage(event, newPage);
212212
this.setState({ userInputPage: newPage });
@@ -244,7 +244,7 @@ class Navigation extends React.Component<NavigationProps, NavigationState> {
244244
aria-label={toNextPageAriaLabel}
245245
data-action="next"
246246
onClick={(event) => {
247-
const newPage = (page as number) + 1 <= lastPage ? (page as number) + 1 : lastPage;
247+
const newPage = page + 1 <= lastPage ? page + 1 : lastPage;
248248
onNextClick(event, newPage);
249249
this.handleNewPage(event, newPage);
250250
this.setState({ userInputPage: newPage });

0 commit comments

Comments
 (0)