From 82a2161a80f2ca4de5b4174c17ef3d569e31ef7f Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Fri, 29 Sep 2023 13:00:01 +0200 Subject: [PATCH 1/3] aggiunto js per leggere le dimensioni della finestra --- MP-TAB/MP-TAB.Client/Pages/User.razor | 53 +++++++++++++++++++++++ MP-TAB/MP-TAB/Components/App.razor | 1 + MP-TAB/MP-TAB/Components/Pages/User.razor | 2 + MP-TAB/MP-TAB/wwwroot/lib/WindowSize.js | 6 +++ 4 files changed, 62 insertions(+) create mode 100644 MP-TAB/MP-TAB.Client/Pages/User.razor create mode 100644 MP-TAB/MP-TAB/wwwroot/lib/WindowSize.js diff --git a/MP-TAB/MP-TAB.Client/Pages/User.razor b/MP-TAB/MP-TAB.Client/Pages/User.razor new file mode 100644 index 00000000..aeb702b1 --- /dev/null +++ b/MP-TAB/MP-TAB.Client/Pages/User.razor @@ -0,0 +1,53 @@ +@attribute [RenderModeAuto] +@* @attribute [RenderModeServer] *@ + +@inject IJSRuntime JSRuntime +@inject HttpClient Http + +
+
+ USERNAME +
+
+
+
    +
  • @Height
  • +
  • @Width
  • +
  • A third item
  • +
  • A fourth item
  • +
  • And a fifth one
  • +
+
+
+ + + +
+ +@code { + public int Height { get; set; } = 0; + public int Width { get; set; } = 0; + + public class WindowDimension + { + public int Width { get; set; } + public int Height { get; set; } + } + // protected async override Task OnAfterRenderAsync(bool firstRender) + // { + + // } + // protected async override Task OnInitializedAsync() + // { + // await getWDim(); + // } + + protected async Task getWDim() + { + var dimension = await JSRuntime.InvokeAsync("getWindowDimensions"); + Height = dimension.Height; + Width = dimension.Width; + } +} diff --git a/MP-TAB/MP-TAB/Components/App.razor b/MP-TAB/MP-TAB/Components/App.razor index 965b0d4e..040d30a9 100644 --- a/MP-TAB/MP-TAB/Components/App.razor +++ b/MP-TAB/MP-TAB/Components/App.razor @@ -25,6 +25,7 @@ + diff --git a/MP-TAB/MP-TAB/Components/Pages/User.razor b/MP-TAB/MP-TAB/Components/Pages/User.razor index 985c4da4..79f07354 100644 --- a/MP-TAB/MP-TAB/Components/Pages/User.razor +++ b/MP-TAB/MP-TAB/Components/Pages/User.razor @@ -3,6 +3,8 @@

User

+ + @code { } diff --git a/MP-TAB/MP-TAB/wwwroot/lib/WindowSize.js b/MP-TAB/MP-TAB/wwwroot/lib/WindowSize.js new file mode 100644 index 00000000..a8d2d770 --- /dev/null +++ b/MP-TAB/MP-TAB/wwwroot/lib/WindowSize.js @@ -0,0 +1,6 @@ +window.getWindowDimensions = function () { + return { + width: window.innerWidth, + height: window.innerHeight + }; +}; \ No newline at end of file From 9fda1f83dce7f4b6a74ae435510a4c0ed4d38ba3 Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Fri, 29 Sep 2023 14:57:03 +0200 Subject: [PATCH 2/3] fix calcolo dimensioni schermo --- MP-TAB/MP-TAB.Client/Pages/User.razor | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/MP-TAB/MP-TAB.Client/Pages/User.razor b/MP-TAB/MP-TAB.Client/Pages/User.razor index aeb702b1..8ec5cb5f 100644 --- a/MP-TAB/MP-TAB.Client/Pages/User.razor +++ b/MP-TAB/MP-TAB.Client/Pages/User.razor @@ -1,4 +1,5 @@ -@attribute [RenderModeAuto] +@using NLog; +@attribute [RenderModeAuto] @* @attribute [RenderModeServer] *@ @inject IJSRuntime JSRuntime @@ -20,10 +21,6 @@ - - @code { @@ -35,10 +32,16 @@ public int Width { get; set; } public int Height { get; set; } } - // protected async override Task OnAfterRenderAsync(bool firstRender) - // { - - // } + protected async override Task OnAfterRenderAsync(bool firstRender) + { + //await Task.Delay(500); + if (firstRender) + { + await getWDim(); + StateHasChanged(); + Log.Debug($"Dimensioni schermo: {Width}x{Height}"); + } + } // protected async override Task OnInitializedAsync() // { // await getWDim(); @@ -50,4 +53,7 @@ Height = dimension.Height; Width = dimension.Width; } + + + private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); } From 3dd7fd664d44bd3b562268d8797b7af5fa282e7a Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Fri, 29 Sep 2023 16:01:03 +0200 Subject: [PATCH 3/3] fix calcolo ip --- MP-TAB/MP-TAB.Client/Pages/User.razor | 60 +-------------- MP-TAB/MP-TAB.Client/Program.cs | 1 + MP-TAB/MP-TAB/Components/Pages/User.razor | 89 ++++++++++++++++++++++- MP-TAB/MP-TAB/Program.cs | 3 + 4 files changed, 93 insertions(+), 60 deletions(-) diff --git a/MP-TAB/MP-TAB.Client/Pages/User.razor b/MP-TAB/MP-TAB.Client/Pages/User.razor index 8ec5cb5f..5f282702 100644 --- a/MP-TAB/MP-TAB.Client/Pages/User.razor +++ b/MP-TAB/MP-TAB.Client/Pages/User.razor @@ -1,59 +1 @@ -@using NLog; -@attribute [RenderModeAuto] -@* @attribute [RenderModeServer] *@ - -@inject IJSRuntime JSRuntime -@inject HttpClient Http - -
-
- USERNAME -
-
-
-
    -
  • @Height
  • -
  • @Width
  • -
  • A third item
  • -
  • A fourth item
  • -
  • And a fifth one
  • -
-
-
- -
- -@code { - public int Height { get; set; } = 0; - public int Width { get; set; } = 0; - - public class WindowDimension - { - public int Width { get; set; } - public int Height { get; set; } - } - protected async override Task OnAfterRenderAsync(bool firstRender) - { - //await Task.Delay(500); - if (firstRender) - { - await getWDim(); - StateHasChanged(); - Log.Debug($"Dimensioni schermo: {Width}x{Height}"); - } - } - // protected async override Task OnInitializedAsync() - // { - // await getWDim(); - // } - - protected async Task getWDim() - { - var dimension = await JSRuntime.InvokeAsync("getWindowDimensions"); - Height = dimension.Height; - Width = dimension.Width; - } - - - private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); -} + \ No newline at end of file diff --git a/MP-TAB/MP-TAB.Client/Program.cs b/MP-TAB/MP-TAB.Client/Program.cs index 7eeaa159..7dd4a88c 100644 --- a/MP-TAB/MP-TAB.Client/Program.cs +++ b/MP-TAB/MP-TAB.Client/Program.cs @@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Components.WebAssembly.Hosting; var builder = WebAssemblyHostBuilder.CreateDefault(args); + // aggiunto x gestione chiamate WebAPI builder.Services.AddScoped(sp => new HttpClient diff --git a/MP-TAB/MP-TAB/Components/Pages/User.razor b/MP-TAB/MP-TAB/Components/Pages/User.razor index 79f07354..b34d9c81 100644 --- a/MP-TAB/MP-TAB/Components/Pages/User.razor +++ b/MP-TAB/MP-TAB/Components/Pages/User.razor @@ -1,10 +1,97 @@ @page "/user" +@* *@ +@using NLog; +@* @attribute [RenderModeAuto] *@ +@attribute [RenderModeServer] + +@inject IJSRuntime JSRuntime +@inject HttpClient Http +@inject IHttpContextAccessor httpContextAccessor

User

- + +
+
+
+
+
+ +
+
+ USER DATA +
+
+
+
+
    +
  • +
    User
    +
    USERNAME[999]
    +
  • +
  • +
    Server Time
    +
    @($"{DateTime.Now.ToString("dddd d.M.yyyy HH:mm.ss")}")
    +
  • +
  • +
    Client IP
    +
    @currIpv4
    +
  • +
  • +
    Browser Size
    +
    @($"{Width}x{Height}")
    +
  • +
+
+
+ +
+
+
@code { + public int Height { get; set; } = 0; + public int Width { get; set; } = 0; + public string currIpv4 { get; set; } = ""; + public class WindowDimension + { + public int Width { get; set; } + public int Height { get; set; } + } + protected async override Task OnAfterRenderAsync(bool firstRender) + { + //await Task.Delay(500); + if (firstRender) + { + await getWDim(); + StateHasChanged(); + Log.Debug($"Dimensioni schermo: {Width}x{Height}"); + } + } + protected async override Task OnInitializedAsync() + { + await Task.Delay(1); + if (string.IsNullOrEmpty(currIpv4)) + { + // ricalcolo e salvo... + if (httpContextAccessor.HttpContext != null) + { + var remoteIp = $"{httpContextAccessor.HttpContext.Connection?.RemoteIpAddress}"; + // provo a recuperare ipV4... + currIpv4 = EgwCoreLib.Razor.Data.IpUtils.getLocalIpv4(remoteIp); + } + } + } + protected async Task getWDim() + { + var dimension = await JSRuntime.InvokeAsync("getWindowDimensions"); + Height = dimension.Height; + Width = dimension.Width; + } + + + private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); } + diff --git a/MP-TAB/MP-TAB/Program.cs b/MP-TAB/MP-TAB/Program.cs index 8228ff64..3f6b191e 100644 --- a/MP-TAB/MP-TAB/Program.cs +++ b/MP-TAB/MP-TAB/Program.cs @@ -20,6 +20,9 @@ builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddScoped(); + +builder.Services.AddHttpContextAccessor(); + // nuova versione contenuti... builder.Services.AddRazorComponents() .AddServerComponents()