TraitList.razor 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. @page "/trait-list"
  2. @using DataLayer.Interfaces
  3. @using Domain.XML_Model
  4. @attribute [StreamRendering(true)]
  5. <div>
  6. <h3>Trait</h3>
  7. </div>
  8. <div>
  9. @if (Traits == null)
  10. {
  11. <p><em>Loading...</em></p>
  12. }
  13. else
  14. {
  15. <table class="table table-striped">
  16. <thead>
  17. <tr>
  18. <th>Nom</th>
  19. <th>Effet</th>
  20. <th>Multiple</th>
  21. <th>Description</th>
  22. </tr>
  23. </thead>
  24. <tbody>
  25. @foreach (var trait in Traits)
  26. {
  27. <tr>
  28. <td>@trait.Nom</td>
  29. <td>@trait.Effet</td>
  30. <td>@trait.Multiple</td>
  31. <td>@trait.Description</td>
  32. </tr>
  33. }
  34. </tbody>
  35. </table>
  36. }
  37. </div>
  38. @code {
  39. [Inject]
  40. public IAbstractRepository<Trait> _traitRepository { get; set; }
  41. private List<Trait> Traits { get; set; }
  42. protected override async Task OnInitializedAsync()
  43. {
  44. // Load the traits data here
  45. Traits = await LoadTraitsAsync();
  46. }
  47. private async Task<List<Trait>> LoadTraitsAsync()
  48. {
  49. // Implement the logic to load traits data
  50. var traits = await _traitRepository.GetAll();
  51. return traits.OrderBy(t => t.Nom).ToList();
  52. }
  53. }