pub enum HeaderSortState {
NotSorted,
DescendingNullsFirst,
AscendingNullsFirst,
DescendingNullsLast,
AscendingNullsLast,
}Expand description
Represents the interaction state for sorting a specific column header in the UI.
This enum manages the click cycle:
NotSorted -> DescNullsFirst -> AscNullsFirst -> DescNullsLast -> AscNullsLast -> NotSorted.
The actual applied cumulative sort state (Vec<SortBy>) is stored and managed separately
in DataFrameContainer.
Variants§
NotSorted
Column is not part of the current sort criteria list.
DescendingNullsFirst
Column sorted descending, nulls appear first.
AscendingNullsFirst
Column sorted ascending, nulls appear first.
DescendingNullsLast
Column sorted descending, nulls appear last.
AscendingNullsLast
Column sorted ascending, nulls appear last.
Implementations§
Source§impl HeaderSortState
impl HeaderSortState
Sourcepub fn cycle_next(&self) -> Self
pub fn cycle_next(&self) -> Self
Calculates the next interaction state in the UI cycle for a header click.
The cycle progresses as follows:
NotSorted->DescendingNullsFirstDescendingNullsFirst->AscendingNullsFirstAscendingNullsFirst->DescendingNullsLastDescendingNullsLast->AscendingNullsLastAscendingNullsLast->NotSorted(removes the sort for this column)
Called by container.rs::render_table_header when a click is detected.
§Returns
The next HeaderSortState in the cycle.
Sourcepub fn get_icon(&self, index: Option<usize>) -> String
pub fn get_icon(&self, index: Option<usize>) -> String
Returns a Unicode icon visually representing the interaction state. Optionally includes the sort precedence index (1-based) if the column is sorted. Uses different symbols to distinguish nulls placement.
Used by the SortableHeaderRenderer trait implementation in traits.rs
to display feedback in the table header (e.g., “1▼”, “2▲”, “3▽”, “4△”, “↕”).
§Arguments
index:Option<usize>- The 0-based index representing the sort precedence.Noneif not sorted.
§Returns
A String containing the icon and optional index number.
Trait Implementations§
Source§impl Clone for HeaderSortState
impl Clone for HeaderSortState
Source§fn clone(&self) -> HeaderSortState
fn clone(&self) -> HeaderSortState
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HeaderSortState
impl Debug for HeaderSortState
Source§impl PartialEq for HeaderSortState
impl PartialEq for HeaderSortState
impl Eq for HeaderSortState
impl StructuralPartialEq for HeaderSortState
Auto Trait Implementations§
impl Freeze for HeaderSortState
impl RefUnwindSafe for HeaderSortState
impl Send for HeaderSortState
impl Sync for HeaderSortState
impl Unpin for HeaderSortState
impl UnsafeUnpin for HeaderSortState
impl UnwindSafe for HeaderSortState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more