Macro seed::struct_urls
source · macro_rules! struct_urls {
() => { ... };
}
Expand description
Create struct Urls
. It’s useful especially for building Url
s in nested modules.
Example
ⓘ
use seed::{prelude::*, *};
mod page {
pub mod admin {
use seed::{prelude::*, *};
struct_urls!();
impl<'a> Urls<'a> { }
}
}
const ADMIN: &str = "admin";
struct Model {
base_url: Url
}
enum Msg { }
fn init(url: Url, _: &mut impl Orders<Msg>) -> Model {
Model {
base_url: url.to_base_url(),
}
}
// ------ ------
// Urls
// ------ ------
struct_urls!();
impl<'a> Urls<'a> {
pub fn home(self) -> Url {
self.base_url()
}
pub fn admin_urls(self) -> page::admin::Urls<'a> {
page::admin::Urls::new(self.base_url().add_path_part(ADMIN))
}
}
fn view(mdl: &Model) -> Node<Msg> {
a![
attrs!{ At::Href => Urls::new(&mdl.base_url).home() }
]
}