diff options
author | Ambroise C <ambroise.christea@sonarsource.com> | 2024-11-27 12:04:05 +0100 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2024-11-28 20:02:58 +0000 |
commit | 9cfcffcb9d9301a1fcdf939fcd806336c14a1568 (patch) | |
tree | 5ce4ba5d9037f50fec29fb4d9a311c7b195f5b86 /server/sonar-web/src/main/js/apps | |
parent | 91a67e7a3e601e7dd5f572e2f59e232f3ec0fd2a (diff) | |
download | sonarqube-9cfcffcb9d9301a1fcdf939fcd806336c14a1568.tar.gz sonarqube-9cfcffcb9d9301a1fcdf939fcd806336c14a1568.zip |
SONAR-21116 Fix projects management list resetting selection when loading more items
Diffstat (limited to 'server/sonar-web/src/main/js/apps')
-rw-r--r-- | server/sonar-web/src/main/js/apps/projectsManagement/ProjectManagementApp.tsx | 8 | ||||
-rw-r--r-- | server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ProjectManagementApp-it.tsx | 4 |
2 files changed, 9 insertions, 3 deletions
diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/ProjectManagementApp.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/ProjectManagementApp.tsx index 2b2679cd825..c2f165282c3 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/ProjectManagementApp.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/ProjectManagementApp.tsx @@ -125,7 +125,7 @@ class ProjectManagementApp extends React.PureComponent<Props, State> { if (this.state.page > 1) { projects = [...this.state.projects, ...projects]; } - this.setState({ ready: true, projects, selection: [], total: r.paging.total }); + this.setState({ ready: true, projects, total: r.paging.total }); } }) .catch(throwGlobalError); @@ -199,6 +199,10 @@ class ProjectManagementApp extends React.PureComponent<Props, State> { this.setState({ selection: [] }); }; + onProjectsDeleted = () => { + this.setState({ ready: false, page: 1, selection: [] }, this.requestProjects); + }; + render() { const { currentUser } = this.props; const { defaultProjectVisibility } = this.state; @@ -218,7 +222,7 @@ class ProjectManagementApp extends React.PureComponent<Props, State> { onAllDeselected={this.onAllDeselected} onAllSelected={this.onAllSelected} onDateChanged={this.handleDateChanged} - onDeleteProjects={this.requestProjects} + onDeleteProjects={this.onProjectsDeleted} onProvisionedChanged={this.onProvisionedChanged} onQualifierChanged={this.onQualifierChanged} onSearch={this.onSearch} diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ProjectManagementApp-it.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ProjectManagementApp-it.tsx index 32086b4de29..1b240684b9f 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ProjectManagementApp-it.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ProjectManagementApp-it.tsx @@ -289,7 +289,9 @@ it('should delete projects, but not Portfolios or Applications', async () => { ui.deleteDialog.byText('projects_management.delete_selected_warning.2').get(), ).toBeInTheDocument(); await user.click(ui.deleteDialog.by(ui.delete).get()); - expect(ui.row.getAll()).toHaveLength(3); + await waitFor(() => { + expect(ui.row.getAll()).toHaveLength(3); + }); }); describe('Bulk permission templates', () => { |