mod common;
use ankurah::model::View;
use ankurah_signals::Get;
use ankurah_virtual_scroll::ScrollManager;
use common::{TestMessageView, durable_sled_setup};
#[allow(dead_code)]
async fn scroll_manager_example() -> Result<(), Box<dyn std::error::Error>> {
let ctx = durable_sled_setup().await?;
let scroll_manager = ScrollManager::<TestMessageView>::new(
&ctx,
"true", "timestamp DESC", 40, 2.0, 600, )?;
scroll_manager.start().await;
let visible_set = scroll_manager.visible_set().get();
for item in &visible_set.items {
let _id = item.entity().id();
}
if let (Some(first), Some(last)) = (visible_set.items.first(), visible_set.items.last()) {
let first_visible_id = first.entity().id();
let last_visible_id = last.entity().id();
let scrolling_backward = true;
scroll_manager.on_scroll(first_visible_id, last_visible_id, scrolling_backward);
}
Ok(())
}