diff --git a/ValblazeProject/Pages/Inventaire.razor b/ValblazeProject/Pages/Inventaire.razor
index c074fb7..2062ca9 100644
--- a/ValblazeProject/Pages/Inventaire.razor
+++ b/ValblazeProject/Pages/Inventaire.razor
@@ -15,13 +15,21 @@
-
+
+
+
+
+
diff --git a/ValblazeProject/Pages/Inventaire.razor.cs b/ValblazeProject/Pages/Inventaire.razor.cs
index 557397e..ddad737 100644
--- a/ValblazeProject/Pages/Inventaire.razor.cs
+++ b/ValblazeProject/Pages/Inventaire.razor.cs
@@ -11,6 +11,7 @@ using ValblazeProject.Components;
using System.Collections.ObjectModel;
using System.ComponentModel;
using Microsoft.AspNetCore.Components.Forms;
+using System.Linq;
namespace ValblazeProject.Pages
{
@@ -36,28 +37,38 @@ namespace ValblazeProject.Pages
[CascadingParameter]
public IModalService Modal { get; set; }
+ private DataGrid- dataGrid;
+
+
private string _searchText;
- public string SearchText
+ private int totalSizeByPage = 10;
+
+ public string search
{
get { return _searchText; }
set
{
_searchText = value;
- OnSearch(_searchText);
+ OnSearch();
}
}
- public async Task OnSearch(string _searchText)
+ public async Task OnSearch()
{
- /* foreach(var item in items)
+ List
- maListe = await DataService.List();
+ items.Clear();
+ foreach(var item in maListe)
{
- if(item.Name == rechercheText)
+ if(item.DisplayName == null || string.IsNullOrEmpty(_searchText) || item.DisplayName.Contains(_searchText))
{
- rechercheItems.Add(item);
+ items.Add(item);
}
- }*/
- TODO
+ }
+ totalItem = items.Count;
+ int pageCourante = dataGrid.CurrentPage;
+ items = items.Skip((pageCourante - 1) * totalSizeByPage).Take(totalSizeByPage).ToList();
+ StateHasChanged();
}
@@ -70,10 +81,18 @@ namespace ValblazeProject.Pages
if (!e.CancellationToken.IsCancellationRequested)
{
- items = await DataService.List(e.Page, e.PageSize);
- totalItem = await DataService.Count();
+ if (string.IsNullOrEmpty(_searchText))
+ {
+ items = await DataService.List(e.Page, e.PageSize);
+ totalItem = await DataService.Count();
+ }
+ else
+ {
+ await OnSearch();
+ }
}
}
+
private async void OnDelete(int id)
{
var parameters = new ModalParameters();
diff --git a/ValblazeProject/Pages/Inventaire.razor.css b/ValblazeProject/Pages/Inventaire.razor.css
index 6db3d10..5c0ad96 100644
--- a/ValblazeProject/Pages/Inventaire.razor.css
+++ b/ValblazeProject/Pages/Inventaire.razor.css
@@ -4,17 +4,29 @@
flex-direction: column;
}
-.maList {
+.toolSearch {
+ display: flex;
+ align-items: center;
}
.contentInvent {
display: flex;
}
-
.caseInvent {
gap: 20px;
display: flex;
flex-wrap: wrap;
margin-top: 10px;
}
+
+.filtre {
+ margin-left: 25px;
+ border: none;
+ width: 42px;
+ height: 32px;
+ background-image: url(https://cdn-icons-png.flaticon.com/512/21/21229.png);
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-color: transparent;
+}
\ No newline at end of file
diff --git a/ValblazeProject/Services/DataApiService.cs b/ValblazeProject/Services/DataApiService.cs
index b7bb27c..2744483 100644
--- a/ValblazeProject/Services/DataApiService.cs
+++ b/ValblazeProject/Services/DataApiService.cs
@@ -33,6 +33,11 @@ namespace ValblazeProject.Services
return await _http.GetFromJsonAsync
>($"https://localhost:7234/api/Crafting/?currentPage={currentPage}&pageSize={pageSize}");
}
+ public async Task> List()
+ {
+ return await _http.GetFromJsonAsync>($"https://localhost:7234/api/Crafting/all");
+ }
+
public async Task- GetById(int id)
{
return await _http.GetFromJsonAsync
- ($"https://localhost:7234/api/Crafting/{id}");
diff --git a/ValblazeProject/Services/DataLocalService.cs b/ValblazeProject/Services/DataLocalService.cs
index c983df0..94a1880 100644
--- a/ValblazeProject/Services/DataLocalService.cs
+++ b/ValblazeProject/Services/DataLocalService.cs
@@ -163,6 +163,7 @@ namespace ValblazeProject.Services
// Save the data
await _localStorage.SetItemAsync("data", currentData);
}
+
public Task
> GetRecipes()
{
var items = new List
@@ -181,5 +182,21 @@ namespace ValblazeProject.Services
return Task.FromResult(items);
}
+
+ public async Task> List()
+ {
+ // Load data from the local storage
+ 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
+ var originalData = await _http.GetFromJsonAsync
- ($"{_navigationManager.BaseUri}fake-data.json");
+ await _localStorage.SetItemAsync("data", originalData);
+ }
+
+ return (await _localStorage.GetItemAsync
- ("data")).ToList();
+ }
}
}
diff --git a/ValblazeProject/Services/IDataService.cs b/ValblazeProject/Services/IDataService.cs
index 5118793..37b5321 100644
--- a/ValblazeProject/Services/IDataService.cs
+++ b/ValblazeProject/Services/IDataService.cs
@@ -8,6 +8,7 @@ namespace ValblazeProject.Services
Task Add(ItemModel model);
Task Count();
Task
> List(int currentPage, int pageSize);
+ Task> List();
Task- GetById(int id);
Task Update(int id, ItemModel model);
Task Delete(int id);