diff options
Diffstat (limited to 'src/app/widgets/base/sort_text_table.rs')
-rw-r--r-- | src/app/widgets/base/sort_text_table.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/app/widgets/base/sort_text_table.rs b/src/app/widgets/base/sort_text_table.rs index 001624a4..c107dae0 100644 --- a/src/app/widgets/base/sort_text_table.rs +++ b/src/app/widgets/base/sort_text_table.rs @@ -307,6 +307,21 @@ where &self.table.columns } + pub fn reverse_current_sort(&mut self) { + if self.is_sort_descending() { + self.table.columns[self.sort_index].set_sorting_status(SortStatus::SortAscending); + } else { + self.table.columns[self.sort_index].set_sorting_status(SortStatus::SortDescending); + } + } + + pub fn is_sort_descending(&self) -> bool { + matches!( + self.table.columns[self.sort_index].sorting_status(), + SortStatus::SortDescending + ) + } + pub fn set_column(&mut self, mut column: S, index: usize) { if let Some(old_column) = self.table.columns().get(index) { column.set_sorting_status(old_column.sorting_status()); |