Skip to content

Commit bb48e21

Browse files
committed
router builder pattern
1 parent 505f540 commit bb48e21

2 files changed

Lines changed: 7 additions & 3 deletions

File tree

examples/features/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,6 @@ pub fn main() {
103103
std::panic::set_hook(Box::new(|e| { Js::invoke("console.log({})", &[e.to_string().into()]); }));
104104

105105
// init router
106-
let pages = &[Page::new("/page1", page1(), None), Page::new("/page2", page2(), None)];
106+
let pages = &[Page::new("/page1", page1()), Page::new("/page2", page2())];
107107
ROUTER.with(|s| { *s.borrow_mut() = Router::new("body", pages); });
108108
}

src/rust/src/router.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,12 @@ use crate::element::El;
99
pub struct Page { pub path: String, pub element: El, pub title: Option<String> }
1010

1111
impl Page {
12-
pub fn new(path: &str, element: El, title: Option<String>) -> Self {
13-
Self { path: path.to_owned(), element, title }
12+
pub fn new(path: &str, element: El) -> Self {
13+
Self { path: path.to_owned(), element, title: None }
14+
}
15+
pub fn ttile(mut self, title: String) -> Self {
16+
self.title = Some(title);
17+
self
1418
}
1519
}
1620

0 commit comments

Comments
 (0)