Files
mapo-mono/MP.MONO.UI/Pages/Parameters.razor.cs
Samuele Locatelli 10ec2a8853 Fix homepage
- cards colors
- spazi
- link allarmi
- titoli vari
- operazioni lettura/rilettura
- click sel all
2022-10-28 18:01:56 +02:00

173 lines
4.2 KiB
C#

using MP.MONO.Core.DTO;
using MP.MONO.UI.Data;
namespace MP.MONO.UI.Pages
{
public partial class Parameters
{
#region Public Properties
public string pcss
{
get
{
string answ = "col-12";
int numPar = selParams.Count;
if (numPar > 6)
{
answ = "col-4";
}
else if (numPar > 3)
{
answ = "col-6";
}
return answ;
}
}
#endregion Public Properties
#region Protected Fields
protected string LVCSSmode = "text-secondary";
protected string RTCSSmode = "fw-bold";
protected double sampleSecMin = 1;
protected int maxDisplay = 16;
#endregion Protected Fields
#region Protected Properties
protected string btnResetCss
{
get => selParams != null && selParams.Count > 0 ? "" : "disabled";
}
protected selectGlobalToggle currFilter { get; set; } = new selectGlobalToggle();
protected string currMode
{
get => isRT ? "RealTime" : "Log View";
}
protected bool isRT
{
get => currFilter.isActive;
}
protected string lastParam
{
get
{
string answ = "";
if (selParams.Count > 0)
{
answ = $"{selParams.LastOrDefault()}";
}
return answ;
}
}
protected bool selectAll { get; set; }
protected DataLogFilter SelFilter { get; set; } = new DataLogFilter();
protected List<string> selParams { get; set; } = new List<string>();
protected List<string> selTools { get; set; } = new List<string>();
#endregion Protected Properties
#region Protected Methods
protected override async Task OnInitializedAsync()
{
ListRecords = await MMDataService.getParameters();
}
protected void paramAdded(string paramName)
{
if (!selParams.Contains(paramName))
{
if (selParams.Count < maxDisplay)
{
selParams.Add(paramName);
}
}
}
protected void paramRemoved(string paramName)
{
if (selParams.Contains(paramName))
{
// controllo se è ultimo rimuovo direttamente
if (paramName == lastParam)
{
selParams.Remove(paramName);
}
}
}
protected void resetSel()
{
selParams = new List<string>();
}
protected async Task selAll()
{
selParams = new List<string>();
await Task.Delay(50);
selectAll = true;
if (ListRecords != null)
{
foreach (var item in ListRecords)
{
if (selParams.Count < maxDisplay)
{
selParams.Add(item.Title);
await Task.Delay(1);
}
}
}
}
#endregion Protected Methods
#region Private Fields
private int maxRecord = 120;
#endregion Private Fields
#region Private Properties
private DateTime DateFrom
{
get => SelFilter.DtStart;
set => SelFilter.DtStart = value;
}
private DateTime DateTo
{
get => SelFilter.DtEnd;
set => SelFilter.DtEnd = value;
}
private List<DisplayDataDTO>? ListRecords { get; set; } = null;
#endregion Private Properties
#region Private Methods
private async Task updateFilter(selectGlobalToggle newParams)
{
await Task.Delay(1);
await Task.Delay(1);
newParams.leftString = "Log View";
newParams.rightString = "Real Time";
await InvokeAsync(() => StateHasChanged());
currFilter = newParams;
}
#endregion Private Methods
}
}