using Microsoft.AspNetCore.Components; using System.Runtime.CompilerServices; using System.Threading.Tasks; using WebWindowComplex.Models; using static WebWindowComplex.Json.WindowConst; namespace WebWindowComplex.Compo { public partial class AreaHwOption { /// /// Sash corrente rispetto alla lista Sash /// [Parameter] public Sash CurrSash { get; set; } = null!; /// /// Evento per aggiornare gli hardware option di tipo combo /// [Parameter] public EventCallback EC_UpdateHwOptCombo { get; set; } /// /// Evento per aggiornare gli hardware option di tipo text /// [Parameter] public EventCallback EC_UpdateHwOptText { get; set; } /// /// Evento per chiamare la prima volta la lista delle opzioni /// [Parameter] public EventCallback EC_FirstHwOptionList { get; set; } [CascadingParameter(Name = "IsLoading")] public List IsLoading { get; set; } = new List(); private bool hwOptCollapsed { get; set; } = false; //protected override void OnAfterRender(bool firstRender) //{ // if(firstRender) // { // hwOptCollapsed = true; // } //} private async Task changeCollapsed() { //hwOptCollapsed = !hwOptCollapsed; if (CurrSash.HwOptionList.Count == 0) { //IsLoadingHwOpt = true; await EC_FirstHwOptionList.InvokeAsync(CurrSash.GroupId); } } private string hwIcon { get => hwOptCollapsed ? "↓" : "↑"; } /// /// Report aggiornamento Option Combo /// /// /// private async Task RaiseOptCombo(AGBOptionCombo updRec) { await EC_UpdateHwOptCombo.InvokeAsync(updRec); } /// /// Report aggiornamento Option Text /// /// /// private async Task RaiseOptText(AGBOptionText updRec) { await EC_UpdateHwOptText.InvokeAsync(updRec); } private bool IsLoadingHwOpt { get => IsLoading != null && IsLoading.Count > 0 && IsLoading.Contains("LoadHwOpt"); } } }