using InABox.Clients; using InABox.Core; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace InABox.DynamicGrid; public interface IDynamicGridDataComponent where T : BaseObject, new() { DynamicGrid Grid { get; set; } /// /// Do any required updates when the options list is changed. /// /// Whether the columns need to be reloaded. bool OptionsChanged(); void Reload(Filters criteria, Columns columns, SortOrder? sort, CancellationToken token, Action action); T LoadItem(CoreRow row); T[] LoadItems(CoreRow[] rows); void SaveItem(T item); void SaveItems(T[] items); void DeleteItems(CoreRow[] rows); }