Files
webwindowconfigurator/WebWindowComplex/Compo/AreaHwOption.razor.cs
T
Annamaria Sassi 73a338e599 - Modificati nomi metodi sottocomponenti
- Aggiornato readme
2025-12-23 12:00:51 +01:00

98 lines
2.8 KiB
C#

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
{
/// <summary>
/// Sash corrente rispetto alla lista Sash
/// </summary>
[CascadingParameter(Name = "CurrSashGroup")]
public Sash CurrSashGroup { get; set; } = null!;
/// <summary>
/// Evento per aggiornare gli hardware option
/// </summary>
[Parameter]
public EventCallback<DataUpdateHwOption> EC_UpdateHwOpt { get; set; }
/// <summary>
/// Evento per chiamare la prima volta la lista delle opzioni
/// </summary>
[Parameter]
public EventCallback<int> EC_FirstHwOptionList { get; set; }
[CascadingParameter(Name = "IsLoading")]
public List<string> IsLoading { get; set; } = new List<string>();
private bool hwOptCollapsed { get; set; } = true;
protected override void OnAfterRender(bool firstRender)
{
if (firstRender)
{
hwOptCollapsed = true;
}
}
private async Task changeCollapsed()
{
hwOptCollapsed = !hwOptCollapsed;
if (CurrSashGroup.HwOptionList.Count == 0)
{
await EC_FirstHwOptionList.InvokeAsync();
}
}
private string hwIcon
{
get => hwOptCollapsed ? "fa-solid fa-chevron-down" : "fa-solid fa-chevron-up";
}
/// <summary>
/// Report aggiornamento Option Combo
/// </summary>
/// <param name="updRec"></param>
/// <returns></returns>
private async Task RaiseOptCombo(AGBOptionCombo updRec)
{
var args = new DataUpdateHwOption
{
AGBOptCombo = updRec
};
await EC_UpdateHwOpt.InvokeAsync(args);
}
/// <summary>
/// Report aggiornamento Option Text
/// </summary>
/// <param name="updRec"></param>
/// <returns></returns>
private async Task RaiseOptText(AGBOptionText updRec)
{
var args = new DataUpdateHwOption
{
AGBOptText = updRec
};
await EC_UpdateHwOpt.InvokeAsync(args);
}
private bool IsLoadingHwOpt
{
get => IsLoading != null && IsLoading.Count > 0 && IsLoading.Contains("LoadHwOpt");
}
}
/// <summary>
/// Classe per oggetto di aggiornamento delle opzioni
/// </summary>
public class DataUpdateHwOption
{
public AGBOptionText AGBOptText { get; set; } = null!;
public AGBOptionCombo AGBOptCombo { get; set; } = null!;
}
}