affichage de la liste de musiques

master
Darius BERTRAND 3 years ago
parent 7bfdde400a
commit 76a94aac6c

@ -1,585 +0,0 @@
[
{
"id": 1,
"displayname": "Kyagoro",
"titre": "kyagoro",
"auteur": [
"breakable"
],
"duree": 51.583333333333336,
"genre": [
"oak_planks",
"warped_planks"
],
"datedecreation": "2001-11-01"
},
{
"id": 2,
"displayname": "Steeltab",
"titre": "steeltab",
"auteur": [
"vanishable",
"armor",
"digger",
"armor",
"vanishable"
],
"duree": 14.55,
"genre": [
"dark_oak_planks"
],
"datedecreation": "1953-09-09"
},
{
"id": 3,
"displayname": "Arctiq",
"titre": "arctiq",
"auteur": [
"breakable",
"armor_chest",
"digger",
"breakable",
"breakable"
],
"duree": 26.15,
"genre": [
"dark_oak_planks",
"dark_oak_planks"
],
"datedecreation": "1991-06-21"
},
{
"id": 4,
"displayname": "Zenthall",
"titre": "zenthall",
"auteur": [
"armor",
"vanishable",
"armor",
"breakable",
"breakable"
],
"duree": 80.78333333333333,
"genre": [
"acacia_planks",
"dark_oak_planks"
],
"datedecreation": "1969-06-28"
},
{
"id": 5,
"displayname": "Suretech",
"titre": "suretech",
"auteur": [
"vanishable",
"armor_chest",
"armor_chest",
"digger"
],
"duree": 28.6,
"genre": [
"oak_planks",
"acacia_planks"
],
"datedecreation": "2018-02-05"
},
{
"id": 6,
"displayname": "Polarium",
"titre": "polarium",
"auteur": [
"breakable",
"digger"
],
"duree": 55.03333333333333,
"genre": [
"dark_oak_planks"
],
"datedecreation": "2016-05-02"
},
{
"id": 7,
"displayname": "Tropoli",
"titre": "tropoli",
"auteur": [
"digger"
],
"duree": 103.56666666666666,
"genre": [
"acacia_planks",
"dark_oak_planks"
],
"datedecreation": "1953-09-03"
},
{
"id": 8,
"displayname": "Senmei",
"titre": "senmei",
"auteur": [
"armor_head",
"armor_head"
],
"duree": 159.06666666666666,
"genre": [
"dark_oak_planks"
],
"datedecreation": "2015-11-25"
},
{
"id": 9,
"displayname": "Squish",
"titre": "squish",
"auteur": [
"breakable",
"armor_head"
],
"duree": 114.36666666666666,
"genre": [
"crimson_planks",
"warped_planks"
],
"datedecreation": "1964-04-23"
},
{
"id": 10,
"displayname": "Endicil",
"titre": "endicil",
"auteur": [
"armor_chest",
"digger"
],
"duree": 25.366666666666667,
"genre": [
"spruce_planks"
],
"datedecreation": "1977-03-11"
},
{
"id": 11,
"displayname": "Gorganic",
"titre": "gorganic",
"auteur": [
"digger",
"armor_head",
"armor"
],
"duree": 90.41666666666667,
"genre": [
"crimson_planks",
"birch_planks"
],
"datedecreation": "1990-04-06"
},
{
"id": 12,
"displayname": "Danja",
"titre": "danja",
"auteur": [
"armor_chest",
"weapon",
"armor_chest",
"digger"
],
"duree": 155.13333333333333,
"genre": [
"jungle_planks"
],
"datedecreation": "1978-05-04"
},
{
"id": 13,
"displayname": "Intrawear",
"titre": "intrawear",
"auteur": [
"armor",
"armor_chest",
"vanishable",
"vanishable",
"digger"
],
"duree": 90.91666666666667,
"genre": [
"oak_planks"
],
"datedecreation": "1953-08-21"
},
{
"id": 14,
"displayname": "Multron",
"titre": "multron",
"auteur": [
"vanishable",
"armor_chest",
"breakable"
],
"duree": 76.81666666666666,
"genre": [
"acacia_planks"
],
"datedecreation": "1964-10-23"
},
{
"id": 15,
"displayname": "Talkalot",
"titre": "talkalot",
"auteur": [
"weapon",
"armor_head"
],
"duree": 110.48333333333333,
"genre": [
"jungle_planks",
"crimson_planks"
],
"datedecreation": "2008-12-05"
},
{
"id": 16,
"displayname": "Insource",
"titre": "insource",
"auteur": [
"vanishable",
"breakable",
"armor_chest",
"digger"
],
"duree": 15.316666666666666,
"genre": [
"spruce_planks",
"jungle_planks"
],
"datedecreation": "1987-09-01"
},
{
"id": 17,
"displayname": "Farmex",
"titre": "farmex",
"auteur": [
"digger"
],
"duree": 31.616666666666667,
"genre": [
"birch_planks",
"spruce_planks"
],
"datedecreation": "2020-07-30"
},
{
"id": 18,
"displayname": "Accruex",
"titre": "accruex",
"auteur": [
"breakable"
],
"duree": 22.316666666666666,
"genre": [
"spruce_planks",
"jungle_planks"
],
"datedecreation": "2020-08-11"
},
{
"id": 19,
"displayname": "Calcula",
"titre": "calcula",
"auteur": [
"weapon",
"breakable",
"digger",
"armor",
"weapon"
],
"duree": 106.46666666666667,
"genre": [
"dark_oak_planks",
"oak_planks"
],
"datedecreation": "2009-01-25"
},
{
"id": 20,
"displayname": "Earbang",
"titre": "earbang",
"auteur": [
"digger",
"armor_head",
"armor_chest"
],
"duree": 19.716666666666665,
"genre": [
"dark_oak_planks"
],
"datedecreation": "1956-05-19"
},
{
"id": 21,
"displayname": "Flexigen",
"titre": "flexigen",
"auteur": [
"vanishable"
],
"duree": 50.266666666666666,
"genre": [
"dark_oak_planks",
"dark_oak_planks"
],
"datedecreation": "2019-01-13"
},
{
"id": 22,
"displayname": "Lingoage",
"titre": "lingoage",
"auteur": [
"armor_head",
"weapon"
],
"duree": 151.43333333333334,
"genre": [
"warped_planks",
"jungle_planks"
],
"datedecreation": "1983-11-03"
},
{
"id": 23,
"displayname": "Pyramia",
"titre": "pyramia",
"auteur": [
"breakable",
"digger",
"weapon",
"breakable",
"armor_chest"
],
"duree": 90.38333333333334,
"genre": [
"spruce_planks",
"birch_planks"
],
"datedecreation": "1975-06-24"
},
{
"id": 24,
"displayname": "Zizzle",
"titre": "zizzle",
"auteur": [
"weapon"
],
"duree": 88.73333333333333,
"genre": [
"jungle_planks"
],
"datedecreation": "1962-08-04"
},
{
"id": 25,
"displayname": "Neocent",
"titre": "neocent",
"auteur": [
"armor",
"breakable"
],
"duree": 14.516666666666667,
"genre": [
"warped_planks"
],
"datedecreation": "1958-03-19"
},
{
"id": 26,
"displayname": "Datagen",
"titre": "datagen",
"auteur": [
"weapon",
"weapon"
],
"duree": 35.21666666666667,
"genre": [
"warped_planks",
"dark_oak_planks"
],
"datedecreation": "1991-07-24"
},
{
"id": 27,
"displayname": "Obones",
"titre": "obones",
"auteur": [
"armor_head",
"weapon"
],
"duree": 165.46666666666667,
"genre": [
"birch_planks"
],
"datedecreation": "2022-08-16"
},
{
"id": 28,
"displayname": "Enersave",
"titre": "enersave",
"auteur": [
"armor_head",
"armor",
"weapon",
"weapon",
"weapon"
],
"duree": 6.733333333333333,
"genre": [
"oak_planks"
],
"datedecreation": "1988-12-30"
},
{
"id": 29,
"displayname": "Syntac",
"titre": "syntac",
"auteur": [
"digger",
"armor_head",
"weapon",
"armor_chest"
],
"duree": 27.95,
"genre": [
"acacia_planks"
],
"datedecreation": "1953-12-16"
},
{
"id": 30,
"displayname": "Essensia",
"titre": "essensia",
"auteur": [
"weapon",
"vanishable",
"weapon"
],
"duree": 95.6,
"genre": [
"dark_oak_planks",
"acacia_planks"
],
"datedecreation": "1983-06-11"
},
{
"id": 31,
"displayname": "Norsup",
"titre": "norsup",
"auteur": [
"weapon",
"weapon"
],
"duree": 17.816666666666666,
"genre": [
"oak_planks"
],
"datedecreation": "1957-05-21"
},
{
"id": 32,
"displayname": "Solgan",
"titre": "solgan",
"auteur": [
"armor",
"vanishable"
],
"duree": 149.65,
"genre": [
"acacia_planks",
"spruce_planks"
],
"datedecreation": "2003-05-17"
},
{
"id": 33,
"displayname": "Kinetica",
"titre": "kinetica",
"auteur": [
"breakable",
"armor_head"
],
"duree": 60.81666666666667,
"genre": [
"oak_planks",
"warped_planks"
],
"datedecreation": "1954-08-03"
},
{
"id": 34,
"displayname": "Vortexaco",
"titre": "vortexaco",
"auteur": [
"digger",
"weapon",
"digger",
"armor_chest"
],
"duree": 119.26666666666667,
"genre": [
"acacia_planks"
],
"datedecreation": "2005-02-19"
},
{
"id": 35,
"displayname": "Combogene",
"titre": "combogene",
"auteur": [
"vanishable"
],
"duree": 13.033333333333333,
"genre": [
"birch_planks"
],
"datedecreation": "1994-02-10"
},
{
"id": 36,
"displayname": "Kineticut",
"titre": "kineticut",
"auteur": [
"armor",
"armor"
],
"duree": 56.43333333333333,
"genre": [
"crimson_planks",
"crimson_planks"
],
"datedecreation": "2003-05-22"
},
{
"id": 37,
"displayname": "Comveyer",
"titre": "comveyer",
"auteur": [
"digger",
"armor_head",
"armor",
"breakable"
],
"duree": 63.36666666666667,
"genre": [
"warped_planks",
"crimson_planks"
],
"datedecreation": "1971-12-23"
},
{
"id": 38,
"displayname": "Futurity",
"titre": "futurity",
"auteur": [
"vanishable"
],
"duree": 144.11666666666667,
"genre": [
"birch_planks",
"acacia_planks"
],
"datedecreation": "1953-09-06"
}
]

@ -1,13 +0,0 @@
namespace ProjetBlazor.Data
{
public class WeatherForecast
{
public DateTime Date { get; set; }
public int TemperatureC { get; set; }
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
public string? Summary { get; set; }
}
}

@ -1,20 +0,0 @@
namespace ProjetBlazor.Data
{
public class WeatherForecastService
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
public Task<WeatherForecast[]> GetForecastAsync(DateTime startDate)
{
return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = startDate.AddDays(index),
TemperatureC = Random.Shared.Next(-20, 55),
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
}).ToArray());
}
}
}

@ -0,0 +1,9 @@
using System.ComponentModel.DataAnnotations;
namespace ProjetBlazor.Modeles
{
public class MusiqueModel
{
}
}

@ -1,18 +0,0 @@
@page "/counter"
<PageTitle>Counter</PageTitle>
<h1>Counter</h1>
<p role="status">Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
@code {
private int currentCount = 0;
private void IncrementCount()
{
currentCount++;
}
}

@ -1,48 +0,0 @@
@page "/fetchdata"
<PageTitle>Weather forecast</PageTitle>
@using ProjetBlazor.Data
@inject WeatherForecastService ForecastService
<h1>Weather forecast</h1>
<p>This component demonstrates fetching data from a service.</p>
@if (forecasts == null)
{
<p><em>Loading...</em></p>
}
else
{
<table class="table">
<thead>
<tr>
<th>Date</th>
<th>Temp. (C)</th>
<th>Temp. (F)</th>
<th>Summary</th>
</tr>
</thead>
<tbody>
@foreach (var forecast in forecasts)
{
<tr>
<td>@forecast.Date.ToShortDateString()</td>
<td>@forecast.TemperatureC</td>
<td>@forecast.TemperatureF</td>
<td>@forecast.Summary</td>
</tr>
}
</tbody>
</table>
}
@code {
private WeatherForecast[]? forecasts;
protected override async Task OnInitializedAsync()
{
forecasts = await ForecastService.GetForecastAsync(DateTime.Now);
}
}

@ -1,4 +1,34 @@
<h3>MusiquesListe</h3>
@page "/MusiquesListe"
@using Modeles
<h3>Liste de Musiques</h3>
<div>
<NavLink class="btn btn-primary" href="Add" Match="NavLinkMatch.All">
<i class="fa fa-plus"></i> Ajouter
</NavLink>
</div>
<DataGrid TItem="Musique"
Data="@items"
ReadData="@OnReadData"
TotalItems="@totalItem"
ShowPager
Responsive>
<DataGridColumn Musique="Musique" Field="@nameof(Musique.id)" Caption="#" />
<DataGridColumn Musique="Musique" Field="@nameof(Musique.titre)" Caption="Titre" />
<DataGridColumn Musique="Musique" Field="@nameof(Musique.auteur)" Caption="Auteurs" />
<DataGridColumn Musique="Musique" Field="@nameof(Musique.duree)" Caption="duree" />
<DataGridColumn Musique="Musique" Field="@nameof(Musique.genre)" Caption="Genres"/>
<DataGridColumn Musique="Musique" Field="@nameof(Musique.genre)" Caption="Genres"/>
</DataGrid>

@ -0,0 +1,35 @@
using Blazorise.DataGrid;
using Microsoft.AspNetCore.Components;
using ProjetBlazor.Modeles;
using ProjetBlazor.Services;
namespace ProjetBlazor.Pages
{
public partial class MusiquesListe
{
private List<Musique> items;
private int totalItem;
public IDataService DataService { get; set; }
[Inject]
public IWebHostEnvironment WebHostEnvironment { get; set; }
private async Task OnReadData(DataGridReadDataEventArgs<Musique> e)
{
if (e.CancellationToken.IsCancellationRequested)
{
return;
}
if (!e.CancellationToken.IsCancellationRequested)
{
items = await DataService.List(e.Page, e.PageSize);
totalItem = items.Count();
}
}
}
}

@ -27,6 +27,10 @@
<a class="dismiss">🗙</a>
</div>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css">
<link href="_content/Blazorise/blazorise.css" rel="stylesheet" />
<link href="_content/Blazorise.Bootstrap/blazorise.bootstrap.css" rel="stylesheet" />
<script src="_framework/blazor.server.js"></script>
</body>
</html>

@ -1,12 +1,19 @@
using Blazorise;
using Blazorise.Bootstrap;
using Blazorise.Icons.FontAwesome;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Web;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
builder.Services.AddServerSideBlazor();
builder.Services.AddSingleton<WeatherForecastService>();
builder.Services
.AddBlazorise()
.AddBootstrapProviders()
.AddFontAwesomeIcons();
var app = builder.Build();

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
@ -6,4 +6,10 @@
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Blazorise.Bootstrap" Version="1.1.4.1" />
<PackageReference Include="Blazorise.DataGrid" Version="1.1.4.1" />
<PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.1.4.1" />
</ItemGroup>
</Project>

@ -15,13 +15,8 @@
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="counter">
<span class="oi oi-plus" aria-hidden="true"></span> Counter
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="fetchdata">
<span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
<NavLink class="nav-link" href="MusiquesListe">
<span class="oi oi-plus" aria-hidden="true"></span> MusiquesListe
</NavLink>
</div>
</nav>

@ -8,3 +8,4 @@
@using Microsoft.JSInterop
@using ProjetBlazor
@using ProjetBlazor.Shared
@using Blazorise.DataGrid;

Loading…
Cancel
Save