From a71b3ffe35f070d58324401829771877542f96be Mon Sep 17 00:00:00 2001 From: aujault Date: Tue, 15 Nov 2022 12:00:31 +0100 Subject: [PATCH] Fonctionnement du display de plusieurs types --- Component/Card.razor | 4 +- Component/Card.razor.cs | 23 ++++++----- Component/ShowItems.razor | 12 ++++++ Component/ShowItems.razor.cs | 13 +++++++ .../CultureController.cs | 0 Pages/Index.razor | 39 ++++++++++--------- Pages/Index.razor.cs | 31 ++++++++++++++- Pages/List.razor | 12 +++--- 8 files changed, 96 insertions(+), 38 deletions(-) create mode 100644 Component/ShowItems.razor create mode 100644 Component/ShowItems.razor.cs rename {Controller => Controllers}/CultureController.cs (100%) diff --git a/Component/Card.razor b/Component/Card.razor index 69ded92..422077c 100644 --- a/Component/Card.razor +++ b/Component/Card.razor @@ -1,6 +1,6 @@ -@*@typeparam TItem +@typeparam TItem
@CardHeader(Item) @CardBody(Item) @CardFooter -
*@ \ No newline at end of file + \ No newline at end of file diff --git a/Component/Card.razor.cs b/Component/Card.razor.cs index 86dae2d..9d4636b 100644 --- a/Component/Card.razor.cs +++ b/Component/Card.razor.cs @@ -1,16 +1,19 @@ using Microsoft.AspNetCore.Components; -public partial class Card +namespace Blazor.Component { - [Parameter] - public RenderFragment CardBody { get; set; } + public partial class Card + { + [Parameter] + public RenderFragment CardBody { get; set; } - [Parameter] - public RenderFragment CardFooter { get; set; } + [Parameter] + public RenderFragment CardFooter { get; set; } - [Parameter] - public RenderFragment CardHeader { get; set; } + [Parameter] + public RenderFragment CardHeader { get; set; } - [Parameter] - public TItem Item { get; set; } -} \ No newline at end of file + [Parameter] + public TItem Item { get; set; } + } +} diff --git a/Component/ShowItems.razor b/Component/ShowItems.razor new file mode 100644 index 0000000..7739061 --- /dev/null +++ b/Component/ShowItems.razor @@ -0,0 +1,12 @@ +@typeparam TItem + +
+ @if ((Items?.Count ?? 0) != 0) + { + @foreach (var item in Items) + { + @ShowTemplate(item) + ; + } + } +
\ No newline at end of file diff --git a/Component/ShowItems.razor.cs b/Component/ShowItems.razor.cs new file mode 100644 index 0000000..086f2c9 --- /dev/null +++ b/Component/ShowItems.razor.cs @@ -0,0 +1,13 @@ +using Microsoft.AspNetCore.Components; + +namespace Blazor.Component +{ + public partial class ShowItems + { + [Parameter] + public List Items { get; set; } + + [Parameter] + public RenderFragment ShowTemplate { get; set; } + } +} diff --git a/Controller/CultureController.cs b/Controllers/CultureController.cs similarity index 100% rename from Controller/CultureController.cs rename to Controllers/CultureController.cs diff --git a/Pages/Index.razor b/Pages/Index.razor index b51382a..47f10bb 100644 --- a/Pages/Index.razor +++ b/Pages/Index.razor @@ -1,6 +1,10 @@ @page "/" @using System.Globalization +@using Blazor.Component @using Blazor.Models; +@using Component; +@using Models; +@using Blazor.Pages; Index @@ -10,24 +14,21 @@ Welcome to your new app.

CurrentCulture: @CultureInfo.CurrentCulture -

@* - - -
- Cake Token Number - @context.Id +

+ + +
+
+ Cake Token Id - @CakeContext.Id +
+
+
@CakeContext.Name
+

Price $@CakeContext.Cost

+
+
- - -
-
@context.Name
-
$ @context.Cost
-
-
- - - -*@ - +
+
diff --git a/Pages/Index.razor.cs b/Pages/Index.razor.cs index db6aa01..2f8c5a6 100644 --- a/Pages/Index.razor.cs +++ b/Pages/Index.razor.cs @@ -1,7 +1,7 @@ using Blazor.Models; namespace Blazor.Pages -{ +{ public partial class Index { private Cake CakeItem = new Cake @@ -10,5 +10,34 @@ namespace Blazor.Pages Name = "Black Forest", Cost = 50 }; + public List Cakes { get; set; } + + protected override Task OnAfterRenderAsync(bool firstRender) + { + LoadCakes(); + StateHasChanged(); + return base.OnAfterRenderAsync(firstRender); + } + + public void LoadCakes() + { + Cakes = new List + { + // items hidden for display purpose + new Cake + { + Id = 1, + Name = "Red Velvet", + Cost = 60 + }, + new Cake + { + Id = 2, + Name = "Tiramisu", + Cost= 1000000, + } + }; + } } + } diff --git a/Pages/List.razor b/Pages/List.razor index 440fcb3..e44b71f 100644 --- a/Pages/List.razor +++ b/Pages/List.razor @@ -29,12 +29,6 @@ } - - - Editer - - - @@ -48,4 +42,10 @@ @(string.Join(", ", ((Item)context).RepairWith)) + + + Editer + + + \ No newline at end of file