fix(endpoints): show toaster on delete [EE-7170] (#11888)

pull/11972/head
Chaim Lev-Ari 2024-06-14 00:32:23 +03:00 committed by GitHub
parent 69f9a509c8
commit 9d7173fb5f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 13 additions and 4 deletions

View File

@ -1,5 +1,6 @@
import { useStore } from 'zustand'; import { useStore } from 'zustand';
import { notifySuccess } from '@/portainer/services/notifications';
import { environmentStore } from '@/react/hooks/current-environment-store'; import { environmentStore } from '@/react/hooks/current-environment-store';
import { PageHeader } from '@@/PageHeader'; import { PageHeader } from '@@/PageHeader';
@ -26,7 +27,7 @@ export function ListView() {
</> </>
); );
async function handleRemove(environments: Array<Environment>) { async function handleRemove(environmentsToDelete: Array<Environment>) {
const confirmed = await confirmDelete( const confirmed = await confirmDelete(
'This action will remove all configurations associated to your environment(s). Continue?' 'This action will remove all configurations associated to your environment(s). Continue?'
); );
@ -37,16 +38,24 @@ export function ListView() {
const id = constCurrentEnvironmentStore.environmentId; const id = constCurrentEnvironmentStore.environmentId;
// If the current endpoint was deleted, then clean endpoint store // If the current endpoint was deleted, then clean endpoint store
if (environments.some((e) => e.Id === id)) { if (environmentsToDelete.some((e) => e.Id === id)) {
constCurrentEnvironmentStore.clear(); constCurrentEnvironmentStore.clear();
} }
deletionMutation.mutate( deletionMutation.mutate(
environments.map((e) => ({ environmentsToDelete.map((e) => ({
id: e.Id, id: e.Id,
deleteCluster: false, deleteCluster: false,
name: e.Name, name: e.Name,
})) })),
{
onSuccess() {
notifySuccess(
'Environments successfully removed',
environmentsToDelete.map((e) => e.Name).join(', ')
);
},
}
); );
} }
} }