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");
}
}
}