improv(calendar): make visible public

This commit is contained in:
Tony4dev 2025-01-19 14:37:07 +00:00 committed by GitHub
parent 00a4042c40
commit def11c6c96
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -45,7 +45,7 @@ pub fn set_day(date_selected: NaiveDate, day: u32) -> NaiveDate {
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug, Hash)] #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug, Hash)]
pub struct CalendarModel { pub struct CalendarModel {
pub selected: NaiveDate, pub selected: NaiveDate,
visible: NaiveDate, pub visible: NaiveDate,
} }
impl CalendarModel { impl CalendarModel {
@ -58,11 +58,8 @@ impl CalendarModel {
} }
} }
pub fn new(selected: NaiveDate) -> Self { pub fn new(selected: NaiveDate, visible: NaiveDate) -> Self {
CalendarModel { CalendarModel { selected, visible }
selected,
visible: selected.clone(),
}
} }
pub fn show_prev_month(&mut self) { pub fn show_prev_month(&mut self) {
@ -94,6 +91,11 @@ impl CalendarModel {
self.show_next_month(); self.show_next_month();
self.selected = self.visible.clone(); self.selected = self.visible.clone();
} }
pub fn set_selected_visible(&mut self, selected: NaiveDate) {
self.selected = selected;
self.visible = self.selected.clone();
}
} }
pub struct Calendar<'a, M> { pub struct Calendar<'a, M> {