fix: prevent click event on disabled next page button of table widget (#25119)

## Description
This PR fixes the issue mentioned below by preventing the click event
when the next page button is disabled and when it is table's last page.

#### PR fixes following issue(s)
Fixes #22477

#### Type of change
- Bug fix (non-breaking change which fixes an issue)

## Testing
#### How Has This Been Tested?

- [x] Manual
- [ ] Jest
- [ ] Cypress
- should check whether the next page button is disabled and not
clickable when last page is reached

#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## Checklist:
#### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
This commit is contained in:
Keyur Paralkar 2023-07-07 12:16:48 +05:30 committed by GitHub
parent 721ea41551
commit f898461f07
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 1 deletions

View File

@ -4,6 +4,7 @@ import {
entityExplorer,
propPane,
apiPage,
table,
} from "../../../../support/Objects/ObjectsCore";
describe("Test Create Api and Bind to Table widget V2", function () {
@ -34,4 +35,18 @@ describe("Test Create Api and Bind to Table widget V2", function () {
.first()
.should("contain", "2");
});
it("2. Bug #22477: should check whether the next page button is disabled and not clickable when last page is reached", () => {
/**
* Flow:
* Update total records count to 20
* Click next page
*/
propPane.UpdatePropertyFieldValue("Total Records", "20");
agHelper.GetNClick(table._nextPage("v2"));
agHelper.AssertAttribute(table._nextPage("v2"), "disabled", "disabled");
agHelper.AssertElementAbsence(commonlocators._toastMsg);
});
});

View File

@ -237,7 +237,13 @@ function Actions(props: ActionsPropsType) {
props.pageNo === props.pageCount - 1
}
onClick={() => {
props.nextPageClick();
if (
!(
!!props.totalRecordsCount &&
props.pageNo === props.pageCount - 1
)
)
props.nextPageClick();
}}
>
<Icon