reparation de la suppression !

vueConnexion
Siwa12100 1 year ago
parent 289aaef1be
commit 5a9b425178

@ -3,19 +3,19 @@
@page "/utilisateurs/liste"
<h1>Utilisateurs de Verax</h1>
<DataGrid TItem="Utilisateur"
Data="@Utilisateurs"
@bind-SelectedRow="@utilisateurSelectionne"
Responsive
ShowPager
ShowPageSizes
PagerPosition="DataGridPagerPosition.TopAndBottom"
PagerOptions="new(){ ButtonSize=Size.Small }"
OnUtilisateurSupprime="HandleUtilisateurSupprime">
<DataGrid TItem="Utilisateur"
Data="@Utilisateurs"
@bind-SelectedRow="@utilisateurSelectionne"
Responsive
ShowPager
ShowPageSizes
PagerPosition="DataGridPagerPosition.TopAndBottom"
PagerOptions="new(){ ButtonSize=Size.Small }"
OnUtilisateurSupprime="HandleUtilisateurSupprime">
<DataGridColumns>
<DataGridColumns>
<DataGridCommandColumn />
<DataGridCommandColumn />
<DataGridColumn Field="@nameof(Utilisateur.Pseudo)" Caption="Pseudo" Sortable="false" />
<DataGridColumn Field="@nameof(Utilisateur.Prenom)" Caption="Prenom" Editable />
@ -31,15 +31,10 @@
</PageButtonTemplate>
<NextPageButtonTemplate><Icon Name="IconName.StepForward" TextColor="TextColor.Success" /></NextPageButtonTemplate>
<PreviousPageButtonTemplate><Icon Name="IconName.StepBackward" TextColor="TextColor.Success" /></PreviousPageButtonTemplate>
<LastPageButtonTemplate><Icon Name="IconName.Forward" TextColor="TextColor.Success" /></LastPageButtonTemplate>
<FirstPageButtonTemplate><Icon Name="IconName.Backward" TextColor="TextColor.Success" /></FirstPageButtonTemplate>
<TotalItemsTemplate><Badge Color="Color.Success">@context.TotalItems total items</Badge></TotalItemsTemplate>
<TotalItemsShortTemplate><Badge Color="Color.Success">@context.TotalItems</Badge></TotalItemsShortTemplate>
<ItemsPerPageTemplate></ItemsPerPageTemplate>
@ -48,20 +43,20 @@
<Select TextColor="TextColor.Success" @bind-SelectedValue="@context.CurrentPage" Size="Size.Small">
@for (int i = context.FirstVisiblePage; i <= context.LastVisiblePage; ++i)
{
var pageNumber = i;
<SelectItem Value="@pageNumber">@pageNumber</SelectItem>
}
</Select>
</PageSelectorTemplate>
<PageSizesTemplate>
<Select TextColor="TextColor.Success" @bind-SelectedValue="@context.CurrentPageSize" Size="Size.Small">
{
var pageNumber = i;
<SelectItem Value="@pageNumber">@pageNumber</SelectItem>
}
</Select>
</PageSelectorTemplate>
<PageSizesTemplate>
<Select TextColor="TextColor.Success" @bind-SelectedValue="@context.CurrentPageSize" Size="Size.Small">
@foreach (var curPageSize in context.PageSizes)
{
<SelectItem Value="@curPageSize">@curPageSize</SelectItem>
}
</Select>
</Select>
</PageSizesTemplate>
</DataGrid>
@ -72,11 +67,14 @@
</div>
<div>
<ConfirmationSuppressionUtilisateur
utilisateur="@utilisateurSelectionne"
listeVueUtilisateurs="@Utilisateurs">
<Button Color="Color.Primary" Clicked="@afficherModal">Supprimer</Button>
</div>
</ConfirmationSuppressionUtilisateur>
<div>
<ModalSuppressionUtilisateur
@ref ="modal"
utilisateur="@utilisateurSelectionne"
modalFerme="fermetureModal"/>
</div>

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Components;
using VeraxShield.composants.modals;
using VeraxShield.modele.utilisateurs;
using VeraxShield.services.UtilisateursDataService;
@ -12,14 +13,18 @@ namespace VeraxShield.Pages.utilisateurs
public List<Utilisateur> Utilisateurs { get; set; }
[Inject]
private NavigationManager NavgaManager { get; set; }
private NavigationManager NavigationManager { get; set; }
private Utilisateur utilisateurSelectionne;
private Utilisateur? utilisateurSelectionne;
[Parameter]
public ModalSuppressionUtilisateur Modal {get; set;}
protected override async Task OnInitializedAsync()
{
//await this.utilisateursDataService.resetDataUtilisateurs();
this.utilisateurSelectionne = null;
this.Utilisateurs = await this.utilisateursDataService.getAllUtilisateurs();
await base.OnInitializedAsync();
}
@ -29,5 +34,27 @@ namespace VeraxShield.Pages.utilisateurs
this.Utilisateurs = await this.utilisateursDataService.getAllUtilisateurs();
StateHasChanged(); // Actualiser la vue
}
public async Task fermetureModal(bool val) {
if (val) {
await this.supprimerUtilisateur(this.utilisateurSelectionne);
}
}
public async Task supprimerUtilisateur(Utilisateur u)
{
await this.utilisateursDataService.SupprimerUtilisateur(u);
this.Utilisateurs = await this.utilisateursDataService.getAllUtilisateurs();
this.NavigationManager.NavigateTo("/utilisateurs/liste");
}
public async Task afficherModal()
{
if (this.Modal != null) {
await this.Modal.afficher();
}
}
}
}

@ -1,55 +0,0 @@
using Blazorise;
using Microsoft.AspNetCore.Components;
using VeraxShield.modele.utilisateurs;
using VeraxShield.services.UtilisateursDataService;
namespace VeraxShield.composants.modals
{
public partial class ConfirmationSuppressionUtilisateur
{
private Modal modalRef;
[Inject]
private IUtilisateursDataService utilisateursDataService { get; set; }
[Inject]
private NavigationManager NavigationManager { get; set; }
[Parameter]
public Utilisateur utilisateur { get; set; }
[Parameter]
public List<Utilisateur> listeVueUtilisateurs { get; set; }
[Parameter]
public EventCallback OnUtilisateurSupprime { get; set; }
public async Task fermetureModal(ModalClosingEventArgs e)
{
//this.NavigationManager.NavigateTo("/utilisateurs/liste");
}
protected async Task suppressionConfirmee()
{
await this.utilisateursDataService.SupprimerUtilisateur(this.utilisateur);
this.listeVueUtilisateurs = await this.utilisateursDataService.getAllUtilisateurs();
await this.HideModal();
await OnUtilisateurSupprime.InvokeAsync(); // Notifier le composant de niveau supérieur
}
protected async Task suppressionAnnulee()
{
await this.HideModal();
}
private async Task ShowModal()
{
await modalRef.Show();
}
private Task HideModal()
{
return modalRef.Hide();
}
}
}

@ -1,4 +1,4 @@
<Modal @ref="modalRef" Closing="@fermetureModal">
<Modal @ref="modalRef">
<ModalContent Centered>
@ -7,16 +7,18 @@
</ModalHeader>
<ModalBody>
Souhaitez-vous supprimer l'utilisateur ?
Souhaitez-vous supprimer l'Utilisateur
@if (utilisateur != null)
{
@utilisateur.Pseudo
}
?
</ModalBody>
<ModalFooter>
<Button Color="Color.Secondary" Clicked="@suppressionAnnulee">Annuler</Button>
<Button Color="Color.Primary" Clicked="@suppressionConfirmee">Supprimer</Button>
</ModalFooter>
</ModalContent>
</Modal>
<Button Color="Color.Primary" Clicked="@ShowModal">Supprimer</Button>

@ -0,0 +1,43 @@
using Blazorise;
using Microsoft.AspNetCore.Components;
using VeraxShield.modele.utilisateurs;
using VeraxShield.services.UtilisateursDataService;
namespace VeraxShield.composants.modals
{
public partial class ModalSuppressionUtilisateur
{
private Modal modalRef;
[Parameter]
public Utilisateur? utilisateur { get; set; }
[Parameter]
public EventCallback<bool> modalFerme {get; set;}
protected async Task suppressionAnnulee()
{
await this.fermer();
await this.modalFerme.InvokeAsync(false);
}
protected async Task suppressionConfirmee()
{
await this.fermer();
await this.modalFerme.InvokeAsync(true);
}
public async Task afficher()
{
if (this.utilisateur != null)
{
await modalRef.Show();
}
}
private Task fermer()
{
return modalRef.Hide();
}
}
}

@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("VeraxShield")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+3d717f1809a5111ebae261075a8f378f4039971e")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+289aaef1beb059a2f414fefc074f13b1e2f23fe7")]
[assembly: System.Reflection.AssemblyProductAttribute("VeraxShield")]
[assembly: System.Reflection.AssemblyTitleAttribute("VeraxShield")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
90472af8f4064ccb58bab9f1de1949a8ed7ae526a4d30c720916f6885dae461d
e5084db0badd53379098814e6b48963b76c16f5bcfb70eb45b38ace6d4ca9ded

@ -30,8 +30,8 @@ build_metadata.AdditionalFiles.CssScope =
build_metadata.AdditionalFiles.TargetPath = Y29tcG9zYW50c1xmb3JtdWxhaXJlc1xfSW1wb3J0cy5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
[c:/Users/jeanm/OneDrive/Documents/BUT/Blazor_SAE/VeraxShield/VeraxShield/composants/modals/ConfirmationSuppressionUtilisateur.razor]
build_metadata.AdditionalFiles.TargetPath = Y29tcG9zYW50c1xtb2RhbHNcQ29uZmlybWF0aW9uU3VwcHJlc3Npb25VdGlsaXNhdGV1ci5yYXpvcg==
[c:/Users/jeanm/OneDrive/Documents/BUT/Blazor_SAE/VeraxShield/VeraxShield/composants/modals/ModalSuppressionUtilisateur.razor]
build_metadata.AdditionalFiles.TargetPath = Y29tcG9zYW50c1xtb2RhbHNcTW9kYWxTdXBwcmVzc2lvblV0aWxpc2F0ZXVyLnJhem9y
build_metadata.AdditionalFiles.CssScope =
[c:/Users/jeanm/OneDrive/Documents/BUT/Blazor_SAE/VeraxShield/VeraxShield/composants/modals/_Imports.razor]

@ -1 +1 @@
c8127aa121574b52dba77ac8befc4002e3054ff43d495a19953b0a6402b9a71a
93e1c9232111223b05115fd1d9ae73ec628ba0ee89fcc886f90e3413eb2ef36b

Loading…
Cancel
Save