patternfly_yew/components/pagination/
simple.rs1use crate::prelude::*;
2use yew::prelude::*;
3
4#[derive(Debug, PartialEq, Properties)]
6pub struct SimplePaginationProperties {
7 pub pagination: UsePagination,
9
10 #[prop_or(vec![10,25,50])]
12 pub entries_per_page_choices: Vec<usize>,
13
14 #[prop_or_default]
16 pub total: Option<usize>,
17
18 #[prop_or(PaginationPosition::Top)]
20 pub position: PaginationPosition,
21
22 #[prop_or_default]
24 pub id: Option<AttrValue>,
25
26 #[prop_or_default]
28 pub style: AttrValue,
29
30 #[prop_or_default]
32 pub disabled: bool,
33}
34
35#[function_component(SimplePagination)]
43pub fn simple_pagination(props: &SimplePaginationProperties) -> Html {
44 let total = &props.total;
45 let UsePagination {
46 state,
47 onnavigation,
48 onperpagechange,
49 } = props.pagination.clone();
50
51 html!(
52 <Pagination
53 total_entries={*total}
54 offset={(*state).offset()}
55 entries_per_page_choices={props.entries_per_page_choices.clone()}
56 selected_choice={state.control.per_page}
57 onlimit={&onperpagechange}
58 onnavigation={&onnavigation}
59 style={&props.style}
60 position={props.position}
61 id={&props.id}
62 disabled={props.disabled}
63 />
64 )
65}