namespace Connected.Components; //public enum TableButtonPosition //{ // Start, // End, // StartAndEnd, //} public enum TableEditButtonPosition { Start, End, StartAndEnd, } public enum TableApplyButtonPosition { Start, End, StartAndEnd, } public static class TableButtonPositionExtentions { public static bool IsEditable(this TableContext context, bool ignoreEditable) => (context?.Table.IsEditable ?? false) && !ignoreEditable; public static bool DisplayApplyButtonAtStart(this TableApplyButtonPosition position) => position is TableApplyButtonPosition.Start or TableApplyButtonPosition.StartAndEnd; public static bool DisplayEditButtonAtStart(this TableEditButtonPosition position) => position is TableEditButtonPosition.Start or TableEditButtonPosition.StartAndEnd; public static bool DisplayApplyButtonAtStart(this TableContext context, bool ignoreEditable) => context.IsEditable(ignoreEditable) && context.Table.ApplyButtonPosition.DisplayApplyButtonAtStart(); public static bool DisplayApplyButtonAtEnd(this TableApplyButtonPosition position) => position is TableApplyButtonPosition.End or TableApplyButtonPosition.StartAndEnd; public static bool DisplayEditButtonAtEnd(this TableEditButtonPosition position) => position is TableEditButtonPosition.End or TableEditButtonPosition.StartAndEnd; public static bool DisplayApplyButtonAtEnd(this TableContext context, bool ignoreEditable) => context.IsEditable(ignoreEditable) && context.Table.ApplyButtonPosition.DisplayApplyButtonAtEnd(); public static bool DisplayEditbuttonAtStart(this TableContext context, bool ignoreEditable) => context.IsEditable(ignoreEditable) && context.Table.EditButtonPosition.DisplayEditButtonAtStart() && context.Table.EditTrigger == TableEditTrigger.EditButton; public static bool DisplayEditbuttonAtEnd(this TableContext context, bool ignoreEditable) => context.IsEditable(ignoreEditable) && context.Table.EditButtonPosition.DisplayEditButtonAtEnd() && context.Table.EditTrigger == TableEditTrigger.EditButton; }