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 SMGen; using SMGen.Shared; using SMGen.Components; using SMGen.Data; namespace SMGen.Components { public partial class FilesList { [Parameter] public Dictionary FilesStatus { get; set; } = new Dictionary(); public Dictionary FilesStatusTemp { get; set; } = new Dictionary(); [Parameter] public Dictionary Files2Download { get; set; } = new Dictionary(); [Parameter] public EventCallback PagerResetReq { get; set; } [Parameter] public EventCallback updateRecordCount { get; set; } [Parameter] public SelectSMIn2EvParams currFilter { get; set; } = null!; private int currPage { get => currFilter.CurrPage; set => currFilter.CurrPage = value; } private int numRecord { get => currFilter.NumRec; set => currFilter.NumRec = value; } private int _totalCount { get; set; } = 0; private int totalCount { get => _totalCount; set { if (_totalCount != value) { _totalCount = value; updateRecordCount.InvokeAsync(value); } } } protected override async Task OnParametersSetAsync() { await ReloadData(); } protected async Task ReloadData() { await Task.Delay(1); FilesStatusTemp = FilesStatus; totalCount = FilesStatusTemp.Count; FilesStatus = FilesStatusTemp.Skip(numRecord * (currPage - 1)).Take(numRecord).ToDictionary(x => x.Key, y => y.Value); await InvokeAsync(() => StateHasChanged()); } } }