using Microsoft.AspNetCore.Components; using WebWindowComplex.Models; namespace WebWindowComplex.Compo { public partial class EditElement { #region Public Properties /// /// Joint corrente /// [Parameter] public ElementDimension CurrRec { get; set; } = null!; /// /// Vocabolario con traduzione lingua corrente /// [CascadingParameter(Name = "Vocabulary")] public Dictionary Vocabulary { get; set; } = null!; [Parameter] public EventCallback EC_Update { get; set; } [Parameter] public bool IsBottomRail { get; set; } = false; /// /// Livello di accesso (utente base) /// [CascadingParameter(Name = "User")] public bool BaseUser { get; set; } = false!; #endregion Public Properties #region Protected Methods protected override void OnParametersSet() { ElementDict = Vocabulary.Where(x => x.Key.Contains("CWElem_")).ToDictionary(x => x.Key, y => y.Value); } #endregion Protected Methods #region Private Fields private Dictionary ElementDict = new(); #endregion Private Fields #region Private Properties /// /// Metodo per aggiornare element corrente /// private double updateVal { get => CurrRec.dDimension; set { if (CurrRec.dDimension != value) { CurrRec.dDimension = value; _ = EC_Update.InvokeAsync(CurrRec); } } } #endregion Private Properties #region Private Methods private string GetImageElementPath(string fileName) => $"_content/Egw.Lux.WebWindowComplex/icone/element/{fileName}.svg"; /// /// Metodo per aggiornare nome element corrente /// private string name() { if (IsBottomRail) { return CurrRec.nIndex.ToString(); } else { int nElement = 0; if (CurrRec.ParentArea is Frame frame) nElement = frame.ElementDimensionList.Count; else if (CurrRec.ParentArea is Sash sash) nElement = sash.SashList.FirstOrDefault()!.ElementDimensionList.Count; switch (CurrRec.nIndex) { case 1: { return "Bottom"; } case 2: { return "Right"; } case 3: { return "Top"; } case 4: case 5: case 6: { return "Left"; } } } return ""; } /// /// Metodo per determinare il titolo /// /// private string Title() { return "Min: " + CurrRec.dMinDim + ", Max: " + CurrRec.dMaxDim; } /// /// Metodo per traduzione in lingua corrente /// /// /// private string Traduci(string lemma) { string ans = lemma; if (ElementDict != null && ElementDict.ContainsKey(lemma)) { ans = ElementDict.GetValueOrDefault(lemma) ?? ""; } return ans; } #endregion Private Methods } }