63 lines
1.3 KiB
Plaintext
63 lines
1.3 KiB
Plaintext
@inject TemplateService Templates;
|
|
|
|
|
|
<button @onclick="ShowNewModal">Créer une grille</button>
|
|
|
|
|
|
@foreach(var i in Grids)
|
|
{
|
|
<div class="row align-items-center">
|
|
<a href=@("/model/"+i.Identifier)>@i.Name</a>
|
|
</div>
|
|
}
|
|
|
|
<Modal @ref="modal" Title="Modal title">
|
|
<BodyTemplate>
|
|
<label>
|
|
Nom de la grille
|
|
<InputText @bind-Value=@Name />
|
|
</label>
|
|
</BodyTemplate>
|
|
<FooterTemplate>
|
|
<Button Color="ButtonColor.Primary" @onclick="CreateNewModal">✔️ Confirmer la création de la grille</Button>
|
|
</FooterTemplate>
|
|
</Modal>
|
|
|
|
@code {
|
|
private Modal modal = default!;
|
|
|
|
[Parameter]
|
|
public string Name { get; set; } = String.Empty;
|
|
|
|
public List<TemplateGrid> Grids { get; set; } = [];
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
await base.OnInitializedAsync();
|
|
await Refresh();
|
|
}
|
|
|
|
|
|
public async Task ShowNewModal()
|
|
{
|
|
await modal.ShowAsync();
|
|
}
|
|
|
|
async Task CreateNewModal()
|
|
{
|
|
await modal.HideAsync();
|
|
var n = await Templates.Create(Name);
|
|
//todo: switch to correct page
|
|
await Refresh();
|
|
}
|
|
|
|
public async Task Refresh()
|
|
{
|
|
Grids.Clear();
|
|
await foreach (var i in Templates.Get())
|
|
Grids.Add(i);
|
|
|
|
StateHasChanged();
|
|
}
|
|
}
|