aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src/main/js/apps
diff options
context:
space:
mode:
authorAmbroise C <ambroise.christea@sonarsource.com>2024-11-27 12:04:05 +0100
committersonartech <sonartech@sonarsource.com>2024-11-28 20:02:58 +0000
commit9cfcffcb9d9301a1fcdf939fcd806336c14a1568 (patch)
tree5ce4ba5d9037f50fec29fb4d9a311c7b195f5b86 /server/sonar-web/src/main/js/apps
parent91a67e7a3e601e7dd5f572e2f59e232f3ec0fd2a (diff)
downloadsonarqube-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.tsx8
-rw-r--r--server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ProjectManagementApp-it.tsx4
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', () => {