From 5d9f0e59dfd146ee71b4f16319a9b1689a2f55af Mon Sep 17 00:00:00 2001 From: "marco.salvi" Date: Thu, 24 Mar 2022 16:46:52 +0100 Subject: [PATCH] Componente detailOverview --- MP.MONO.ALL.sln | 2 +- MP.MONO.UI/Components/ActivityOverview.razor | 5 +- MP.MONO.UI/Components/DetailOverview.razor | 43 +++++++++++++ MP.MONO.UI/Components/DetailOverview.razor.cs | 64 +++++++++++++++++++ MP.MONO.UI/Components/ToolsOverview.razor | 36 ++++++++--- MP.MONO.UI/Components/ToolsOverview.razor.cs | 8 +++ 6 files changed, 147 insertions(+), 11 deletions(-) create mode 100644 MP.MONO.UI/Components/DetailOverview.razor create mode 100644 MP.MONO.UI/Components/DetailOverview.razor.cs diff --git a/MP.MONO.ALL.sln b/MP.MONO.ALL.sln index 61dde02..3a89628 100644 --- a/MP.MONO.ALL.sln +++ b/MP.MONO.ALL.sln @@ -15,7 +15,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MP.MONO.DECODER", "MP.MONO. EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MP.MONO.ANALYZER", "MP.MONO.ANALYZER\MP.MONO.ANALYZER.csproj", "{4C9BEAED-1A33-41A7-B9D6-7C173A43FDB8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MP.MONO.ADAPTER", "MP.MONO.ADAPTER\MP.MONO.ADAPTER.csproj", "{873736BA-CDB6-4CE5-A340-6D904C11C07C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MP.MONO.ADAPTER", "MP.MONO.ADAPTER\MP.MONO.ADAPTER.csproj", "{873736BA-CDB6-4CE5-A340-6D904C11C07C}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/MP.MONO.UI/Components/ActivityOverview.razor b/MP.MONO.UI/Components/ActivityOverview.razor index 022f42b..cf419a5 100644 --- a/MP.MONO.UI/Components/ActivityOverview.razor +++ b/MP.MONO.UI/Components/ActivityOverview.razor @@ -6,7 +6,7 @@ @if (ListRecords != null && ListRecords.Count > 0) { - *@ + } else diff --git a/MP.MONO.UI/Components/DetailOverview.razor b/MP.MONO.UI/Components/DetailOverview.razor new file mode 100644 index 0000000..a5a9612 --- /dev/null +++ b/MP.MONO.UI/Components/DetailOverview.razor @@ -0,0 +1,43 @@ +@using MP.MONO.UI.Components +@using MP.MONO.Core.DTO +@using MP.MONO.UI.Data + +@inject CurrentDataService MMDataService + +@if (ListRecords != null && ListRecords.Count > 0) +{ + + +} \ No newline at end of file diff --git a/MP.MONO.UI/Components/DetailOverview.razor.cs b/MP.MONO.UI/Components/DetailOverview.razor.cs new file mode 100644 index 0000000..68e9515 --- /dev/null +++ b/MP.MONO.UI/Components/DetailOverview.razor.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Components; +using System.Net.Http; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Components.Authorization; +using Microsoft.AspNetCore.Components.Forms; +using Microsoft.AspNetCore.Components.Routing; +using Microsoft.AspNetCore.Components.Web; +using Microsoft.AspNetCore.Components.Web.Virtualization; +using Microsoft.JSInterop; +using MP.MONO.UI; +using MP.MONO.UI.Shared; +using MP.MONO.UI.Components; +using MP.MONO.Core.DTO; +using MP.MONO.UI.Data; +using Newtonsoft.Json; +using MP.MONO.Data; + +namespace MP.MONO.UI.Components +{ + public partial class DetailOverview + { + private List? ListRecords { get; set; } = null; + protected override async Task OnInitializedAsync() + { + await ReloadData(); + MMDataService.toolsPipe.EA_NewMessage += ToolsPipe_EA_NewMessage; + } + + private void ToolsPipe_EA_NewMessage(object? sender, EventArgs e) + { + PubSubEventArgs currArgs = (PubSubEventArgs)e; + if (!string.IsNullOrEmpty(currArgs.newMessage)) + { + try + { + ListRecords = JsonConvert.DeserializeObject>(currArgs.newMessage); + } + catch + { } + } + InvokeAsync(() => + { + StateHasChanged(); + }); + } + + protected string percProgress(double num, double minVal, double maxVal) + { + string answ = "width: 0%;"; + double den = (maxVal - minVal) != 0 ? (maxVal - minVal) : 1; + double ratio = ((double)num) / den; + answ = $"width: {ratio:P0};"; + return answ; + } + protected async Task ReloadData() + { + ListRecords = await MMDataService.getTools(); + } + } +} \ No newline at end of file diff --git a/MP.MONO.UI/Components/ToolsOverview.razor b/MP.MONO.UI/Components/ToolsOverview.razor index 7a31dac..f5e7678 100644 --- a/MP.MONO.UI/Components/ToolsOverview.razor +++ b/MP.MONO.UI/Components/ToolsOverview.razor @@ -6,20 +6,40 @@ @if (ListRecords != null && ListRecords.Count > 0) { -
    + @*
      @foreach (var item in ListRecords) {
    • -
      -
      @item.Title
      -
      -
      @item.Value
      +
      + @if (!string.IsNullOrEmpty(item.CssIcon)) + { +
      +
      @item.Title
      +
      +
      + } + else + { +
      @item.Title
      + } +
      +
      +
      +
      @item.Value
      + @if (item.ShowBar) + { +
      +
      +
      +
      +
      + } +
      -
    • } -
    - +
*@ + } else { diff --git a/MP.MONO.UI/Components/ToolsOverview.razor.cs b/MP.MONO.UI/Components/ToolsOverview.razor.cs index 14a4651..83e39ab 100644 --- a/MP.MONO.UI/Components/ToolsOverview.razor.cs +++ b/MP.MONO.UI/Components/ToolsOverview.razor.cs @@ -48,6 +48,14 @@ namespace MP.MONO.UI.Components }); } + protected string percProgress(double num, double minVal, double maxVal) + { + string answ = "width: 0%;"; + double den = (maxVal - minVal) != 0 ? (maxVal - minVal) : 1; + double ratio = ((double)num) / den; + answ = $"width: {ratio:P0};"; + return answ; + } protected async Task ReloadData() { ListRecords = await MMDataService.getTools();