From 539221c4560553567c1790a735315c28f17d46fd Mon Sep 17 00:00:00 2001 From: Gary Murphy Date: Thu, 13 Apr 2023 21:04:18 +0100 Subject: [PATCH] dynamic rendering from REST call --- src/PanoptesFrontend/Data/Component.cs | 5 ++--- src/PanoptesFrontend/Data/Schema.cs | 3 +++ src/PanoptesFrontend/Pages/TestRequest.razor | 10 +++++----- 3 files changed, 10 insertions(+), 8 deletions(-) create mode 100644 src/PanoptesFrontend/Data/Schema.cs diff --git a/src/PanoptesFrontend/Data/Component.cs b/src/PanoptesFrontend/Data/Component.cs index 0bd1ef4..ad8b220 100644 --- a/src/PanoptesFrontend/Data/Component.cs +++ b/src/PanoptesFrontend/Data/Component.cs @@ -1,12 +1,11 @@ public class Component { public int Type {get; set;} public string Text {get; set;} - public List Chart {get; set;} + - public Component(int type, string text="", List chart = null){ + public Component(int type, string text){ Type = type; Text = text; - Chart = chart; } } \ No newline at end of file diff --git a/src/PanoptesFrontend/Data/Schema.cs b/src/PanoptesFrontend/Data/Schema.cs new file mode 100644 index 0000000..dfee85c --- /dev/null +++ b/src/PanoptesFrontend/Data/Schema.cs @@ -0,0 +1,3 @@ +public class Schema { + public Component[] components {get; set;} +} \ No newline at end of file diff --git a/src/PanoptesFrontend/Pages/TestRequest.razor b/src/PanoptesFrontend/Pages/TestRequest.razor index 7c561d3..3b611cc 100644 --- a/src/PanoptesFrontend/Pages/TestRequest.razor +++ b/src/PanoptesFrontend/Pages/TestRequest.razor @@ -14,16 +14,16 @@ break; } } - } @code { - public List data; + private Component[] data; protected override async Task OnInitializedAsync() { - var response = await httpClient.GetAsync("http://localhost:8080"); - var json = await response.Content.ReadAsStringAsync(); - data = JsonSerializer.Deserialize>(json); + var response = await httpClient.GetStringAsync("http://localhost:8080/schema"); + var options = new JsonSerializerOptions {PropertyNameCaseInsensitive = true}; + var json = JsonSerializer.Deserialize(response, options); + data = json.components; } } \ No newline at end of file