From d1775666b137410586de59401d10f14e4721e9db Mon Sep 17 00:00:00 2001 From: Louis DUFOUR Date: Wed, 28 Dec 2022 12:55:25 +0100 Subject: [PATCH] Update searchBare --- ValblazeProject/Pages/Inventaire.razor | 12 +++++- ValblazeProject/Pages/Inventaire.razor.cs | 39 +++++++++++++++----- ValblazeProject/Pages/Inventaire.razor.css | 16 +++++++- ValblazeProject/Services/DataApiService.cs | 5 +++ ValblazeProject/Services/DataLocalService.cs | 17 +++++++++ ValblazeProject/Services/IDataService.cs | 1 + 6 files changed, 76 insertions(+), 14 deletions(-) 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);