pub struct ItemsConn<T: 'static, K: 'static> { /* private fields */ }Expand description
Items’ connection: the current data snapshot the slots read from.
Trait Implementations§
Source§impl<T: Clone + 'static, K: Clone + Hash + 'static> RowConn for ItemsConn<T, K>
impl<T: Clone + 'static, K: Clone + Hash + 'static> RowConn for ItemsConn<T, K>
type Slot = ItemSlot<T, K>
type Ref = K
Source§fn refresh(&self) -> Vec<u64>
fn refresh(&self) -> Vec<u64>
Refresh the snapshot and return the display rows as identity tokens. A tracked read: the
enclosing watch re-runs exactly when something this read depends on changes; for a
store source that is the collection’s shape (or the projection’s own reads), never the
fields a row merely displays.
Source§fn tokens_now(&self) -> Vec<u64>
fn tokens_now(&self) -> Vec<u64>
The current tokens, no refresh and no tracking; the reorder/delete echo compares these.
Source§fn slot_at(&self, index: usize) -> Option<ItemSlot<T, K>>
fn slot_at(&self, index: usize) -> Option<ItemSlot<T, K>>
A fresh slot for row
index (None on a stale mid-animation pull). Call inside the
row’s scope: plain-data slots allocate their signals here.Source§fn rebind(&self, slot: &ItemSlot<T, K>, index: usize)
fn rebind(&self, slot: &ItemSlot<T, K>, index: usize)
Point an existing slot at row
index: the recycle write.Source§fn select_ref(&self, index: usize) -> Option<K>
fn select_ref(&self, index: usize) -> Option<K>
The selection currency for row
index.Source§fn values_flow_by_reload(&self) -> bool
fn values_flow_by_reload(&self) -> bool
Whether row values reach existing rows only through reload→rebind. Plain-data rows say
true (their slots hold copies); store rows say false (values flow through the store’s
per-field notifications), which lets
list skip the native reload entirely when the
row set is unchanged.Source§fn commit_move(&self, from: usize, to: usize)
fn commit_move(&self, from: usize, to: usize)
Rotate the snapshot for a committed native move (display indices).
Source§fn commit_delete(&self, index: usize)
fn commit_delete(&self, index: usize)
Drop a row from the snapshot for a committed native delete.
fn is_empty(&self) -> bool
Source§fn take_row_events(&self) -> Option<Vec<RowDelta>>
fn take_row_events(&self) -> Option<Vec<RowDelta>>
What changed since the last refresh, if the source can say precisely: sequential
row deltas a host can animate.
None means unknown: the list reloads, which is
always correct. Only sources that maintain their set incrementally (a live query)
answer Some.Auto Trait Implementations§
impl<T, K> !Freeze for ItemsConn<T, K>
impl<T, K> !RefUnwindSafe for ItemsConn<T, K>
impl<T, K> !Send for ItemsConn<T, K>
impl<T, K> !Sync for ItemsConn<T, K>
impl<T, K> !UnwindSafe for ItemsConn<T, K>
impl<T, K> Unpin for ItemsConn<T, K>where
T: Unpin,
impl<T, K> UnsafeUnpin for ItemsConn<T, K>
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
Mutably borrows from an owned value. Read more
impl<T> ErasedDestructor for Twhere
T: 'static,
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> ⓘ
Converts
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> ⓘ
Converts
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