From 449518ccc7f7a850fd4880b992c260e0785e5a52 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 17 Feb 2023 16:02:25 +0100 Subject: [PATCH 1/2] Ancora test x animazione --- EgwCoreLib.BlazorTest/Pages/Index.razor | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/EgwCoreLib.BlazorTest/Pages/Index.razor b/EgwCoreLib.BlazorTest/Pages/Index.razor index cda409b..a1d2a2d 100644 --- a/EgwCoreLib.BlazorTest/Pages/Index.razor +++ b/EgwCoreLib.BlazorTest/Pages/Index.razor @@ -18,15 +18,18 @@ - Titolo - testo più lungo - + Titolo + + + + + testo più lungo... 0123456789 + - From 6636d3175523201389c43ebf3b220faf30b5c3bb Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 24 Feb 2023 17:18:48 +0100 Subject: [PATCH 2/2] Aggiunta metodi export x DataPager --- EgwCoreLib.Razor/DataPager.razor | 11 ++ EgwCoreLib.Razor/DataPager.razor.cs | 211 ++++++++++++++++------------ 2 files changed, 130 insertions(+), 92 deletions(-) diff --git a/EgwCoreLib.Razor/DataPager.razor b/EgwCoreLib.Razor/DataPager.razor index b3f6b1a..be517c4 100644 --- a/EgwCoreLib.Razor/DataPager.razor +++ b/EgwCoreLib.Razor/DataPager.razor @@ -36,6 +36,17 @@ { @totalCount records } + @if (exportEnabled && totalCount > 0) + { + if (!fileExist) + { + + } + else + { + Download Data + } + }
@if (totalCount > 0) diff --git a/EgwCoreLib.Razor/DataPager.razor.cs b/EgwCoreLib.Razor/DataPager.razor.cs index e40d08f..9e096e2 100644 --- a/EgwCoreLib.Razor/DataPager.razor.cs +++ b/EgwCoreLib.Razor/DataPager.razor.cs @@ -1,95 +1,9 @@ -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.Forms; -using Microsoft.AspNetCore.Components.Routing; -using Microsoft.AspNetCore.Components.Web; -using Microsoft.AspNetCore.Components.Web.Virtualization; -using Microsoft.JSInterop; namespace EgwCoreLib.Razor { public partial class DataPager : ComponentBase { - #region Protected Fields - - protected bool _showLoading = false; - - #endregion Protected Fields - - #region Private Properties - - private int endPage - { - get - { - int answ = (int)(currPage / numPages) * numPages + numPages; - answ = answ < LastPage ? answ : LastPage; - return answ; - } - } -public void resetCurrPage() - { - //await Task.Delay(1); - currPage = 1; - } - private int LastPage - { - get - { - return Math.Max((int)Math.Ceiling(totalCount / (double)PageSize), 1); - } - } - - private int nextBlock - { - get - { - int answ = currPage + numPages; - answ = answ < LastPage ? answ : LastPage; - return answ; - } - } - - private int numPages { get; set; } = 10; - - private int prevBlock - { - get - { - int answ = currPage - numPages; - answ = answ > 0 ? answ : 1; - return answ; - } - } - - // calcola un set 1 .. numPages centrato sulla pagina corrente... - private int startPage - { - get - { - int answ = (int)(currPage / numPages) * numPages; - answ = answ > 0 ? answ : 1; - return answ; - } - } - - #endregion Private Properties - - #region Protected Properties - - protected int _numPage { get; set; } = 1; - - protected int _numRecord { get; set; } = 10; - - protected int percLoading { get; set; } = 0; - - #endregion Protected Properties - #region Public Properties [Parameter] @@ -110,6 +24,15 @@ public void resetCurrPage() } } + [Parameter] + public bool exportEnabled { get; set; } = false; + + [Parameter] + public EventCallback exportRequested { get; set; } + + [Parameter] + public string fileName { get; set; } = ""; + [Parameter] public EventCallback numPageChanged { get; set; } @@ -161,19 +84,46 @@ public void resetCurrPage() #endregion Public Properties - #region Private Methods + #region Public Methods - private void reportChange() + public void resetCurrPage() { - numRecordChanged.InvokeAsync(PageSize); + //await Task.Delay(1); + currPage = 1; } - private void reportChangePage() + #endregion Public Methods + + #region Protected Fields + + protected bool _showLoading = false; + + protected string exportDir = $"{Directory.GetCurrentDirectory()}\\temp"; + + #endregion Protected Fields + + #region Protected Properties + + protected int _numPage { get; set; } = 1; + + protected int _numRecord { get; set; } = 10; + + protected bool fileExist { - numPageChanged.InvokeAsync(currPage); + get + { + return File.Exists(fullPath); + } } - #endregion Private Methods + protected string fullPath + { + get => $"{exportDir}\\{fileName}"; + } + + protected int percLoading { get; set; } = 0; + + #endregion Protected Properties #region Protected Methods @@ -198,5 +148,82 @@ public void resetCurrPage() } #endregion Protected Methods + + #region Private Properties + + private int endPage + { + get + { + int answ = (int)(currPage / numPages) * numPages + numPages; + answ = answ < LastPage ? answ : LastPage; + return answ; + } + } + + private int LastPage + { + get + { + return Math.Max((int)Math.Ceiling(totalCount / (double)PageSize), 1); + } + } + + private int nextBlock + { + get + { + int answ = currPage + numPages; + answ = answ < LastPage ? answ : LastPage; + return answ; + } + } + + private int numPages { get; set; } = 10; + + private int prevBlock + { + get + { + int answ = currPage - numPages; + answ = answ > 0 ? answ : 1; + return answ; + } + } + + // calcola un set 1 .. numPages centrato sulla pagina corrente... + private int startPage + { + get + { + int answ = (int)(currPage / numPages) * numPages; + answ = answ > 0 ? answ : 1; + return answ; + } + } + + #endregion Private Properties + + #region Private Methods + + private void reportChange() + { + numRecordChanged.InvokeAsync(PageSize); + } + + private void reportChangePage() + { + numPageChanged.InvokeAsync(currPage); + } + + private async Task requestSave() + { + showLoading = true; + await Task.Delay(1); + await exportRequested.InvokeAsync(currPage); + showLoading = false; + } + + #endregion Private Methods } } \ No newline at end of file