using Comal.Classes; using InABox.Configuration; using InABox.Core; using InABox.DynamicGrid; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PRSDesktop; public class DigitalFormRoleCrossTab : DynamicManyToManyCrossTab { public DynamicGridFilterButtonComponent DigitalFormFilter { get; init; } public DynamicGridFilterButtonComponent RoleFilter { get; init; } public DigitalFormRoleCrossTab() { DigitalFormFilter = new(this, new GlobalConfiguration(nameof(DigitalForm)), new UserConfiguration(nameof(DigitalForm))) { ButtonText = "Digital Forms" }; RoleFilter = new(this, new GlobalConfiguration(nameof(Role)), new UserConfiguration(nameof(Role))) { ButtonText = "Roles" }; DigitalFormFilter.OnFilterRefresh += () => Refresh(false, true); RoleFilter.OnFilterRefresh += () => Refresh(true, true); } protected override Filter? RowFilter() { return DigitalFormFilter.GetFilter(); } protected override Filter? ColumnFilter() { return RoleFilter.GetFilter(); } protected override Columns? LoadColumnColumns() { return Columns.None().Add(x => x.Code); } protected override string FormatColumnHeader(CoreRow row) { return row.Get(x => x.Code); } protected override SortOrder? LoadColumnSort() { return null; } protected override DynamicGridColumns LoadRowColumns() { var columns = new DynamicGridColumns(); columns.Add(x => x.Code, 100, "Code", "", Alignment.MiddleLeft); columns.Add(x => x.Description, 100, "Description", "", Alignment.MiddleLeft); return columns; } }