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 selParams { get; set; } = new List(); protected List selTools { get; set; } = new List(); #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(); } protected async Task selAll() { selParams = new List(); 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? 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 } }