namespace Lux.UI.Components.Compo.Offer { public partial class AddFromTemplate { #region Public Properties [Parameter] public string BaseImgUrl { get; set; } = ""; [Parameter] public EventCallback EC_Close { get; set; } [Parameter] public EventCallback EC_ReqAdd { get; set; } [Parameter] public List ListCataloghi { get; set; } = null!; [Parameter] public List ListTemplateAll { get; set; } = null!; #endregion Public Properties #region Private Fields private int _selTemplateID = 0; private int currPage = 1; private List ListTemplateCurr = new(); private List ListTemplatePaged = new(); private int numRecord = 12; private List pageSizes = new List() { 6, 12 }; private int totalCount = 0; #endregion Private Fields #region Private Properties [Inject] private IImageCacheService ICService { get; set; } = null!; private int SelTemplateID { get => _selTemplateID; set { if (_selTemplateID != value) { _selTemplateID = value; UpdateTable(); } } } #endregion Private Properties #region Private Methods private Task ClosePopup() { return EC_Close.InvokeAsync(true); } /// /// Solleva evento richeista aggiunta da template /// /// /// private Task DoAddOrderRow(TemplateRowModel selTemplate) { return EC_ReqAdd.InvokeAsync(selTemplate); } /// /// Calcola src immagine direttamente da modello dati + base path /// /// /// private string imgSrc(string imgUrl) { return $"{BaseImgUrl}/{imgUrl}"; } private void SaveNumRec(int newNum) { numRecord = newNum; UpdateTable(); } private void SavePage(int newNum) { currPage = newNum; UpdateTable(); } private void UpdateTable() { // imposto template relativi ListTemplateCurr = ListTemplateAll .Where(x => x.TemplateID == SelTemplateID) .ToList(); totalCount = ListTemplateCurr.Count; ListTemplatePaged = ListTemplateCurr .Skip(numRecord * (currPage - 1)) .Take(numRecord) .ToList(); } #endregion Private Methods } }