From fa2ab082812a0a5865caa447ef88cdc3747a216b Mon Sep 17 00:00:00 2001
From: Thomas Chazot
Date: Fri, 11 Nov 2022 18:23:23 +0100
Subject: [PATCH] =?UTF-8?q?Avanc=C3=A9e=20jusqu=E2=80=99=C3=A0=20la=20part?=
=?UTF-8?q?ie=20DI=20&=20IOC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
BlazorApp/BlazorApp/App.razor | 8 +-
BlazorApp/BlazorApp/BlazorApp.csproj | 4 +
BlazorApp/BlazorApp/Models/ItemModel.cs | 39 ++++++
BlazorApp/BlazorApp/Pages/Add.razor | 70 ++++++++++
BlazorApp/BlazorApp/Pages/Add.razor.cs | 129 ++++++++++++++++++
BlazorApp/BlazorApp/Pages/BlazorRoute.razor | 5 +
BlazorApp/BlazorApp/Pages/List.razor | 55 +++++++-
BlazorApp/BlazorApp/Pages/List.razor.cs | 70 ++++++++--
BlazorApp/BlazorApp/Program.cs | 3 +
.../BlazorApp/Properties/launchSettings.json | 55 ++++----
.../BlazorApp/wwwroot/images/bel objet.png | Bin 0 -> 167435 bytes
.../BlazorApp/wwwroot/images/default.png | Bin 0 -> 2267 bytes
BlazorApp/BlazorApp/wwwroot/images/zqds.png | Bin 0 -> 88868 bytes
13 files changed, 389 insertions(+), 49 deletions(-)
create mode 100644 BlazorApp/BlazorApp/Models/ItemModel.cs
create mode 100644 BlazorApp/BlazorApp/Pages/Add.razor
create mode 100644 BlazorApp/BlazorApp/Pages/Add.razor.cs
create mode 100644 BlazorApp/BlazorApp/Pages/BlazorRoute.razor
create mode 100644 BlazorApp/BlazorApp/wwwroot/images/bel objet.png
create mode 100644 BlazorApp/BlazorApp/wwwroot/images/default.png
create mode 100644 BlazorApp/BlazorApp/wwwroot/images/zqds.png
diff --git a/BlazorApp/BlazorApp/App.razor b/BlazorApp/BlazorApp/App.razor
index 623580d..60ab6f5 100644
--- a/BlazorApp/BlazorApp/App.razor
+++ b/BlazorApp/BlazorApp/App.razor
@@ -1,12 +1,8 @@
-
+
-
- Not found
-
- Sorry, there's nothing at this address.
-
+ Sorry, there's nothing at this address.
diff --git a/BlazorApp/BlazorApp/BlazorApp.csproj b/BlazorApp/BlazorApp/BlazorApp.csproj
index 6033f3c..52bf0b1 100644
--- a/BlazorApp/BlazorApp/BlazorApp.csproj
+++ b/BlazorApp/BlazorApp/BlazorApp.csproj
@@ -10,6 +10,10 @@
+
+
+
+
diff --git a/BlazorApp/BlazorApp/Models/ItemModel.cs b/BlazorApp/BlazorApp/Models/ItemModel.cs
new file mode 100644
index 0000000..59ecd50
--- /dev/null
+++ b/BlazorApp/BlazorApp/Models/ItemModel.cs
@@ -0,0 +1,39 @@
+using System;
+using System.ComponentModel.DataAnnotations;
+
+namespace BlazorApp.Models
+{
+ public class ItemModel
+ {
+ public int Id { get; set; }
+
+ [Required]
+ [StringLength(50, ErrorMessage = "The display name must not exceed 50 characters.")]
+ public string DisplayName { get; set; }
+
+ [Required]
+ [StringLength(50, ErrorMessage = "The name must not exceed 50 characters.")]
+ [RegularExpression(@"^[a-z''-'\s]{1,40}$", ErrorMessage = "Only lowercase characters are accepted.")]
+ public string Name { get; set; }
+
+ [Required]
+ [Range(1, 64)]
+ public int StackSize { get; set; }
+
+ [Required]
+ [Range(1, 125)]
+ public int MaxDurability { get; set; }
+
+ public List EnchantCategories { get; set; }
+
+ public List RepairWith { get; set; }
+
+ [Required]
+ [Range(typeof(bool), "true", "true", ErrorMessage = "You must agree to the terms.")]
+ public bool AcceptCondition { get; set; }
+
+ [Required(ErrorMessage = "The image of the item is mandatory!")]
+ public byte[] ImageContent { get; set; }
+ }
+}
+
diff --git a/BlazorApp/BlazorApp/Pages/Add.razor b/BlazorApp/BlazorApp/Pages/Add.razor
new file mode 100644
index 0000000..4dfae41
--- /dev/null
+++ b/BlazorApp/BlazorApp/Pages/Add.razor
@@ -0,0 +1,70 @@
+@page "/add"
+@using BlazorApp.Models;
+
+Add
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enchant categories:
+
+ @foreach (var item in enchantCategories)
+ {
+
+ }
+
+
+
+ Repair with:
+
+ @foreach (var item in repairWith)
+ {
+
+ }
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BlazorApp/BlazorApp/Pages/Add.razor.cs b/BlazorApp/BlazorApp/Pages/Add.razor.cs
new file mode 100644
index 0000000..75073fe
--- /dev/null
+++ b/BlazorApp/BlazorApp/Pages/Add.razor.cs
@@ -0,0 +1,129 @@
+using System;
+using BlazorApp.Models;
+using Blazored.LocalStorage;
+using Microsoft.AspNetCore.Components;
+using Microsoft.AspNetCore.Components.Forms;
+
+namespace BlazorApp.Pages
+{
+ public partial class Add
+ {
+ [Inject]
+ public ILocalStorageService LocalStorage { get; set; }
+
+ [Inject]
+ public IWebHostEnvironment WebHostEnvironment { get; set; }
+
+ [Inject]
+ public NavigationManager NavigationManager { get; set; }
+
+ ///
+ /// The default enchant categories.
+ ///
+ private List enchantCategories = new List() { "armor", "armor_head", "armor_chest", "weapon", "digger", "breakable", "vanishable" };
+
+ ///
+ /// The default repair with.
+ ///
+ private List repairWith = new List() { "oak_planks", "spruce_planks", "birch_planks", "jungle_planks", "acacia_planks", "dark_oak_planks", "crimson_planks", "warped_planks" };
+
+ ///
+ /// The current item model
+ ///
+ private ItemModel itemModel = new()
+ {
+ EnchantCategories = new List(),
+ RepairWith = new List()
+ };
+
+ private async void HandleValidSubmit()
+ {
+ // Get the current data
+ var currentData = await LocalStorage.GetItemAsync>("data");
+
+ // Simulate the Id
+ itemModel.Id = currentData.Max(s => s.Id) + 1;
+
+ // Add the item to the current data
+ currentData.Add(new Item
+ {
+ Id = itemModel.Id,
+ DisplayName = itemModel.DisplayName,
+ Name = itemModel.Name,
+ RepairWith = itemModel.RepairWith,
+ EnchantCategories = itemModel.EnchantCategories,
+ MaxDurability = itemModel.MaxDurability,
+ StackSize = itemModel.StackSize,
+ CreatedDate = DateTime.Now
+ });
+
+ // Save the image
+ var imagePathInfo = new DirectoryInfo($"{WebHostEnvironment.WebRootPath}/images");
+
+ // Check if the folder "images" exist
+ if (!imagePathInfo.Exists)
+ {
+ imagePathInfo.Create();
+ }
+
+ // Determine the image name
+ var fileName = new FileInfo($"{imagePathInfo}/{itemModel.Name}.png");
+
+ // Write the file content
+ await File.WriteAllBytesAsync(fileName.FullName, itemModel.ImageContent);
+
+ // Save the data
+ await LocalStorage.SetItemAsync("data", currentData);
+
+ NavigationManager.NavigateTo("list");
+ NavigationManager.NavigateTo("list");
+ }
+
+ private async Task LoadImage(InputFileChangeEventArgs e)
+ {
+ // Set the content of the image to the model
+ using (var memoryStream = new MemoryStream())
+ {
+ await e.File.OpenReadStream().CopyToAsync(memoryStream);
+ itemModel.ImageContent = memoryStream.ToArray();
+ }
+ }
+
+ private void OnEnchantCategoriesChange(string item, object checkedValue)
+ {
+ if ((bool)checkedValue)
+ {
+ if (!itemModel.EnchantCategories.Contains(item))
+ {
+ itemModel.EnchantCategories.Add(item);
+ }
+
+ return;
+ }
+
+ if (itemModel.EnchantCategories.Contains(item))
+ {
+ itemModel.EnchantCategories.Remove(item);
+ }
+ }
+
+ private void OnRepairWithChange(string item, object checkedValue)
+ {
+ if ((bool)checkedValue)
+ {
+ if (!itemModel.RepairWith.Contains(item))
+ {
+ itemModel.RepairWith.Add(item);
+ }
+
+ return;
+ }
+
+ if (itemModel.RepairWith.Contains(item))
+ {
+ itemModel.RepairWith.Remove(item);
+ }
+ }
+ }
+}
+
diff --git a/BlazorApp/BlazorApp/Pages/BlazorRoute.razor b/BlazorApp/BlazorApp/Pages/BlazorRoute.razor
new file mode 100644
index 0000000..ed09d57
--- /dev/null
+++ b/BlazorApp/BlazorApp/Pages/BlazorRoute.razor
@@ -0,0 +1,5 @@
+@page "/BlazorRoute"
+@page "/DifferentBlazorRoute"
+
+Blazor routing
+
diff --git a/BlazorApp/BlazorApp/Pages/List.razor b/BlazorApp/BlazorApp/Pages/List.razor
index 2acfb82..0fba8df 100644
--- a/BlazorApp/BlazorApp/Pages/List.razor
+++ b/BlazorApp/BlazorApp/Pages/List.razor
@@ -4,13 +4,66 @@
List
+
+
+
+
+ Ajouter
+
+
+
+
+ @if (File.Exists($"{WebHostEnvironment.WebRootPath}/images/{context.Name}.png"))
+ {
+
+ }
+ else
+ {
+
+ }
+
+
diff --git a/BlazorApp/BlazorApp/Pages/List.razor.cs b/BlazorApp/BlazorApp/Pages/List.razor.cs
index 601a050..aeab560 100644
--- a/BlazorApp/BlazorApp/Pages/List.razor.cs
+++ b/BlazorApp/BlazorApp/Pages/List.razor.cs
@@ -1,21 +1,63 @@
using BlazorApp.Models;
+using Blazored.LocalStorage;
+using Blazorise.DataGrid;
using Microsoft.AspNetCore.Components;
namespace BlazorApp.Pages
{
- public partial class List
- {
- private Item[] items;
-
- [Inject]
- public HttpClient Http { get; set; }
-
- [Inject]
- public NavigationManager NavigationManager { get; set; }
-
- protected override async Task OnInitializedAsync()
- {
- items = await Http.GetFromJsonAsync- ($"{NavigationManager.BaseUri}fake-data.json");
- }
+ public partial class List
+ {
+ private List
- items;
+
+ private int totalItem;
+
+ [Inject]
+ public HttpClient Http { get; set; }
+
+ [Inject]
+ public ILocalStorageService LocalStorage { get; set; }
+
+ [Inject]
+ public NavigationManager NavigationManager { get; set; }
+
+ [Inject]
+ public IWebHostEnvironment WebHostEnvironment { get; set; }
+
+ protected override async Task OnAfterRenderAsync(bool firstRender)
+ {
+ // Do not treat this action if is not the first render
+ if (!firstRender)
+ {
+ return;
+ }
+
+ var currentData = await LocalStorage.GetItemAsync
- ("data");
+
+ // Check if data exist in the local storage
+ if (currentData == null)
+ {
+ // this code add in the local storage the fake data (we load the data sync for initialize the data before load the OnReadData method)
+ var originalData = Http.GetFromJsonAsync
- ($"{NavigationManager.BaseUri}fake-data.json").Result;
+ await LocalStorage.SetItemAsync("data", originalData);
+ }
+ }
+
+ 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 LocalStorage.GetItemAsync
- ("data")).Skip((e.Page - 1) * e.PageSize).Take(e.PageSize).ToList();
+
+ if (!e.CancellationToken.IsCancellationRequested)
+ {
+ totalItem = (await LocalStorage.GetItemAsync
>("data")).Count;
+ items = new List- (response); // an actual data for the current page
+ }
+ }
}
}
diff --git a/BlazorApp/BlazorApp/Program.cs b/BlazorApp/BlazorApp/Program.cs
index 51eed30..e18b8e2 100644
--- a/BlazorApp/BlazorApp/Program.cs
+++ b/BlazorApp/BlazorApp/Program.cs
@@ -1,4 +1,5 @@
using BlazorApp.Data;
+using Blazored.LocalStorage;
using Blazorise;
using Blazorise.Bootstrap;
using Blazorise.Icons.FontAwesome;
@@ -17,6 +18,8 @@ builder.Services
.AddBootstrapProviders()
.AddFontAwesomeIcons();
+builder.Services.AddBlazoredLocalStorage();
+
var app = builder.Build();
// Configure the HTTP request pipeline.
diff --git a/BlazorApp/BlazorApp/Properties/launchSettings.json b/BlazorApp/BlazorApp/Properties/launchSettings.json
index daac30a..3422f38 100644
--- a/BlazorApp/BlazorApp/Properties/launchSettings.json
+++ b/BlazorApp/BlazorApp/Properties/launchSettings.json
@@ -1,28 +1,27 @@
-{
- "iisSettings": {
- "windowsAuthentication": false,
- "anonymousAuthentication": true,
- "iisExpress": {
- "applicationUrl": "http://localhost:45101",
- "sslPort": 44367
- }
- },
- "profiles": {
- "BlazorApp": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "applicationUrl": "https://localhost:7204;http://localhost:5204",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- },
- "IIS Express": {
- "commandName": "IISExpress",
- "launchBrowser": true,
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- }
- }
-}
+{
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:45101",
+ "sslPort": 44367
+ }
+ },
+ "profiles": {
+ "BlazorApp": {
+ "commandName": "Project",
+ "launchBrowser": true,
+ "applicationUrl": "https://localhost:7204;http://localhost:5204",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/BlazorApp/BlazorApp/wwwroot/images/bel objet.png b/BlazorApp/BlazorApp/wwwroot/images/bel objet.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a6eed4deb58856577e5008f9a302555d03db0a5
GIT binary patch
literal 167435
zcma&M1z1$?`Yue2(%s#iQqmyZokKU$-5@C4B}gNJba!{B($cMTNQY+){{DOKZ-3`p
z=gc+33~Rml#C<={^R5ULC215yLPRJiC=^*42{kAv*cvFP7ZUI6Vg#L7*83
z&NXF=Laca!p<4EnG2B!Sy4p+|w|^B6iE*T*C<^7{YYJ$C>yIZ{CmFtfGWjlYT&!G9
zphYiWwJC?i>!F75@MN%h-s78n|4xu!2n9_o3fBvrFq$N*F4SdK
zw)=AO_75Y!Ur;n06bI_2LPvBe+L<%dsk>lA9TZfam?K|-XkM2q`P|1IC<<2Xbvv30
z)pZ3LVL{`hWnO@*Nl
zYkcMse3Kwjwo$$;n}Dbg(xjJ3fK^(=-A5+jXR!h;${^t_u7hd*h^1RXJPD^Y)kiw|
z&Bphr2&vbUqEotEsWLr^PkR9JG@J5wK}g)#HNhA;^PNAetNIr3bQY54f5NQLwHx
z8~L!}jUxi=*|r$zH<1TtO<|mm$;~s(Zq0sL6FBf+ap_S>eG|>oHIiAFjjPs|-gK>p
zdrwf|SFl!8K+&&qk91Zxp241=OLSglI6R#|-H;rdoQV8Z#B)XtY&Sf;A$#~*YX*~B
zj@s4yL9n?_rMMRd59T3tDwu8@{S%D5G2Dgoi|j5u(0g=rXwx^CGO$?2A48mSm)zL(Sw7h(D_Zn
zKT*tuQ*B1FW4xmVMTlX>b5X+%OZ9~lrv;5k%O!A_v(yk2OI}gJC14GC=aV$Y2uifX
zzaFB)7B4PhwR!&|mr9j(M2zYiwVPmijFME;)Qg{Lb(rN+o_Q!g5q?wpkQ|8`<+bB?
z&Ajp-BX;figijRJ|Gk=7A#%J&t_rb?uyine!?h#Q-FRg|Ix~FQ`Q
r>
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