diff --git a/Blazor/Blazor/Blazor.csproj b/Blazor/Blazor/Blazor.csproj index 4c2bb77..47b71bb 100644 --- a/Blazor/Blazor/Blazor.csproj +++ b/Blazor/Blazor/Blazor.csproj @@ -6,4 +6,11 @@ enable + + + + + + + diff --git a/Blazor/Blazor/Models/Administrator.cs b/Blazor/Blazor/Models/Administrator.cs new file mode 100644 index 0000000..1fbe03e --- /dev/null +++ b/Blazor/Blazor/Models/Administrator.cs @@ -0,0 +1,6 @@ +namespace Blazor.Models +{ + public class Administrator + { + } +} diff --git a/Blazor/Blazor/Models/Answer.cs b/Blazor/Blazor/Models/Answer.cs new file mode 100644 index 0000000..3922505 --- /dev/null +++ b/Blazor/Blazor/Models/Answer.cs @@ -0,0 +1,6 @@ +namespace Blazor.Models +{ + public class Answer + { + } +} diff --git a/Blazor/Blazor/Models/Chapter.cs b/Blazor/Blazor/Models/Chapter.cs new file mode 100644 index 0000000..1ec4853 --- /dev/null +++ b/Blazor/Blazor/Models/Chapter.cs @@ -0,0 +1,8 @@ +namespace Blazor.Models +{ + public class Chapter + { + public int Id { get; set; } + public string Name { get; set; } + } +} diff --git a/Blazor/Blazor/Models/Player.cs b/Blazor/Blazor/Models/Player.cs new file mode 100644 index 0000000..2cd44ce --- /dev/null +++ b/Blazor/Blazor/Models/Player.cs @@ -0,0 +1,6 @@ +namespace Blazor.Models +{ + public class Player + { + } +} diff --git a/Blazor/Blazor/Pages/Administrators.razor b/Blazor/Blazor/Pages/Administrators.razor new file mode 100644 index 0000000..1cd98cd --- /dev/null +++ b/Blazor/Blazor/Pages/Administrators.razor @@ -0,0 +1,7 @@ +@page "/Administrators" + +

Component

+ +@code { + +} diff --git a/Blazor/Blazor/Pages/Administrators.razor.cs b/Blazor/Blazor/Pages/Administrators.razor.cs new file mode 100644 index 0000000..05cd3a7 --- /dev/null +++ b/Blazor/Blazor/Pages/Administrators.razor.cs @@ -0,0 +1,6 @@ +namespace Blazor.Pages +{ + public class ListAdministrators + { + } +} diff --git a/Blazor/Blazor/Pages/Chapters.razor b/Blazor/Blazor/Pages/Chapters.razor new file mode 100644 index 0000000..bdf3267 --- /dev/null +++ b/Blazor/Blazor/Pages/Chapters.razor @@ -0,0 +1,16 @@ +@page "/chapters" +@using Blazor.Models; +@using Blazorise.DataGrid +

Chapters

+ + + + + + diff --git a/Blazor/Blazor/Pages/Chapters.razor.cs b/Blazor/Blazor/Pages/Chapters.razor.cs new file mode 100644 index 0000000..a893535 --- /dev/null +++ b/Blazor/Blazor/Pages/Chapters.razor.cs @@ -0,0 +1,37 @@ +using Microsoft.AspNetCore.Components; +using Blazor.Models; +using Blazorise.DataGrid; + +namespace Blazor.Pages +{ + public partial class Chapters + { + public List chapters; + + private int totalItem; + + [Inject] + public HttpClient Http { get; set; } + + [Inject] + public NavigationManager NavigationManager { get; set; } + + private async Task OnReadData(DataGridReadDataEventArgs e) + { + if (e.CancellationToken.IsCancellationRequested) + { + return; + } + + // When you use a real API, we use this follow code + //var response = await Http.GetJsonAsync( $"http://my-api/api/data?page={e.Page}&pageSize={e.PageSize}" ); + var response = (await Http.GetFromJsonAsync($"{NavigationManager.BaseUri}fake-data.json")).Skip((e.Page - 1) * e.PageSize).Take(e.PageSize).ToList(); + + if (!e.CancellationToken.IsCancellationRequested) + { + totalItem = (await Http.GetFromJsonAsync>($"{NavigationManager.BaseUri}fake-data.json")).Count; + chapters = new List(response); // an actual data for the current page + } + } + } +} diff --git a/Blazor/Blazor/Program.cs b/Blazor/Blazor/Program.cs index 5195276..f886838 100644 --- a/Blazor/Blazor/Program.cs +++ b/Blazor/Blazor/Program.cs @@ -1,4 +1,8 @@ using Blazor.Data; +using Blazored.LocalStorage; +using Blazorise; +using Blazorise.Bootstrap; +using Blazorise.Icons.FontAwesome; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Web; @@ -9,6 +13,15 @@ builder.Services.AddRazorPages(); builder.Services.AddServerSideBlazor(); builder.Services.AddSingleton(); +builder.Services.AddHttpClient(); + +builder.Services + .AddBlazorise() + .AddBootstrapProviders() + .AddFontAwesomeIcons(); + +builder.Services.AddBlazoredLocalStorage(); + var app = builder.Build(); // Configure the HTTP request pipeline. diff --git a/Blazor/Blazor/Shared/NavMenu.razor b/Blazor/Blazor/Shared/NavMenu.razor index 5553e13..4b47f82 100644 --- a/Blazor/Blazor/Shared/NavMenu.razor +++ b/Blazor/Blazor/Shared/NavMenu.razor @@ -15,8 +15,8 @@