applin/widget/
scroll.rs

1use crate::widget::Widget;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
5pub struct Scroll {
6    #[serde(default, skip_serializing_if = "String::is_empty")]
7    pub id: String,
8    pub widget: Box<Widget>,
9}
10impl Scroll {
11    #[must_use]
12    pub fn with_id(mut self, id: impl AsRef<str>) -> Self {
13        self.id = id.as_ref().to_string();
14        self
15    }
16}
17
18pub fn scroll(widget: impl Into<Widget>) -> Scroll {
19    Scroll {
20        id: String::new(),
21        widget: Box::new(widget.into()),
22    }
23}