🧑‍💻 Better names for with/alter/add_component_in

This commit is contained in:
Manuel Cillero 2023-11-20 20:03:24 +01:00
parent 62b32ebcee
commit 15d545897b
9 changed files with 27 additions and 22 deletions

View file

@ -16,7 +16,7 @@ async fn hello_name(
) -> ResultPage<Markup, FatalError> { ) -> ResultPage<Markup, FatalError> {
let name = path.into_inner(); let name = path.into_inner();
Page::new(request) Page::new(request)
.with_in("content", Html::with(html! { h1 { "Hello " (name) "!" } })) .with_component_in("content", Html::with(html! { h1 { "Hello " (name) "!" } }))
.render() .render()
} }

View file

@ -11,7 +11,7 @@ impl ModuleTrait for HelloWorld {
async fn hello_world(request: service::HttpRequest) -> ResultPage<Markup, FatalError> { async fn hello_world(request: service::HttpRequest) -> ResultPage<Markup, FatalError> {
Page::new(request) Page::new(request)
.with_in("content", Html::with(html! { h1 { "Hello World!" } })) .with_component_in("content", Html::with(html! { h1 { "Hello World!" } }))
.render() .render()
} }

View file

@ -153,8 +153,8 @@ pub async fn summary(request: service::HttpRequest) -> ResultPage<Markup, FatalE
Page::new(request) Page::new(request)
//.with_context(ContextOp::Theme("Bootsier")) //.with_context(ContextOp::Theme("Bootsier"))
.with_title(L10n::n("Admin")) .with_title(L10n::n("Admin"))
.with_in("top-menu", side_menu) .with_component_in("top-menu", side_menu)
.with_in( .with_component_in(
"content", "content",
flex::Container::new() flex::Container::new()
.add_item(flex::Item::new().add_component(Html::with(html! { .add_item(flex::Item::new().add_component(Html::with(html! {

View file

@ -29,11 +29,11 @@ async fn demo(request: service::HttpRequest) -> ResultPage<Markup, FatalError> {
"/homedemo/css/styles.css", "/homedemo/css/styles.css",
))) )))
.with_body_classes(ClassesOp::Add, "default-homepage") .with_body_classes(ClassesOp::Add, "default-homepage")
.with_in("content", hello_world()) .with_component_in("content", hello_world())
.with_in("content", welcome()) .with_component_in("content", welcome())
.with_in("content", about_pagetop()) .with_component_in("content", about_pagetop())
.with_in("content", promo_pagetop()) .with_component_in("content", promo_pagetop())
.with_in("content", reporting_issues()) .with_component_in("content", reporting_issues())
.render() .render()
} }

View file

@ -33,7 +33,7 @@ impl ModuleTrait for User {
async fn login(request: service::HttpRequest) -> ResultPage<Markup, FatalError> { async fn login(request: service::HttpRequest) -> ResultPage<Markup, FatalError> {
Page::new(request) Page::new(request)
.with_title(L10n::n("Identificación del usuario")) .with_title(L10n::n("Identificación del usuario"))
.with_in( .with_component_in(
"content", "content",
Wrapper::new() Wrapper::new()
.with_id("welcome") .with_id("welcome")

View file

@ -17,11 +17,11 @@ pub struct ComponentsRegions(HashMap<&'static str, AnyComponents>);
impl ComponentsRegions { impl ComponentsRegions {
pub fn new(region: &'static str, arc: ArcAnyComponent) -> Self { pub fn new(region: &'static str, arc: ArcAnyComponent) -> Self {
let mut regions = ComponentsRegions::default(); let mut regions = ComponentsRegions::default();
regions.add_in(region, arc); regions.add_component_in(region, arc);
regions regions
} }
pub fn add_in(&mut self, region: &'static str, arc: ArcAnyComponent) { pub fn add_component_in(&mut self, region: &'static str, arc: ArcAnyComponent) {
if let Some(region) = self.0.get_mut(region) { if let Some(region) = self.0.get_mut(region) {
region.alter_value(ArcAnyOp::Add(arc)); region.alter_value(ArcAnyOp::Add(arc));
} else { } else {
@ -31,8 +31,8 @@ impl ComponentsRegions {
pub fn get_components(&self, theme: ThemeRef, region: &str) -> AnyComponents { pub fn get_components(&self, theme: ThemeRef, region: &str) -> AnyComponents {
let common = COMMON_REGIONS.read().unwrap(); let common = COMMON_REGIONS.read().unwrap();
if let Some(hm) = THEME_REGIONS.read().unwrap().get(&theme.handle()) { if let Some(r) = THEME_REGIONS.read().unwrap().get(&theme.handle()) {
AnyComponents::merge(&[common.0.get(region), self.0.get(region), hm.0.get(region)]) AnyComponents::merge(&[common.0.get(region), self.0.get(region), r.0.get(region)])
} else { } else {
AnyComponents::merge(&[common.0.get(region), self.0.get(region)]) AnyComponents::merge(&[common.0.get(region), self.0.get(region)])
} }
@ -47,12 +47,12 @@ pub enum Region {
pub fn add_component_in(region: Region, arc: ArcAnyComponent) { pub fn add_component_in(region: Region, arc: ArcAnyComponent) {
match region { match region {
Region::Named(name) => { Region::Named(name) => {
COMMON_REGIONS.write().unwrap().add_in(name, arc); COMMON_REGIONS.write().unwrap().add_component_in(name, arc);
} }
Region::OfTheme(theme, region) => { Region::OfTheme(theme, region) => {
let mut regions = THEME_REGIONS.write().unwrap(); let mut regions = THEME_REGIONS.write().unwrap();
if let Some(hm) = regions.get_mut(&theme.handle()) { if let Some(r) = regions.get_mut(&theme.handle()) {
hm.add_in(region, arc); r.add_component_in(region, arc);
} else { } else {
regions.insert(theme.handle(), ComponentsRegions::new(region, arc)); regions.insert(theme.handle(), ComponentsRegions::new(region, arc));
} }

View file

@ -55,7 +55,7 @@
//! //!
//! async fn hello_world(request: service::HttpRequest) -> ResultPage<Markup, FatalError> { //! async fn hello_world(request: service::HttpRequest) -> ResultPage<Markup, FatalError> {
//! Page::new(request) //! Page::new(request)
//! .with_in("content", Html::with(html! { h1 { "Hello World!" } })) //! .with_component_in("content", Html::with(html! { h1 { "Hello World!" } }))
//! .render() //! .render()
//! } //! }
//! //!

View file

@ -29,7 +29,7 @@ impl fmt::Display for FatalError {
let error_page = Page::new(request.clone()); let error_page = Page::new(request.clone());
if let Ok(page) = error_page if let Ok(page) = error_page
.with_title(L10n::n("Error FORBIDDEN")) .with_title(L10n::n("Error FORBIDDEN"))
.with_in("content", Error403) .with_component_in("content", Error403)
.with_template("error") .with_template("error")
.render() .render()
{ {
@ -43,7 +43,7 @@ impl fmt::Display for FatalError {
let error_page = Page::new(request.clone()); let error_page = Page::new(request.clone());
if let Ok(page) = error_page if let Ok(page) = error_page
.with_title(L10n::n("Error RESOURCE NOT FOUND")) .with_title(L10n::n("Error RESOURCE NOT FOUND"))
.with_in("content", Error404) .with_component_in("content", Error404)
.with_template("error") .with_template("error")
.render() .render()
{ {

View file

@ -94,8 +94,13 @@ impl Page {
} }
#[fn_builder] #[fn_builder]
pub fn alter_in(&mut self, region: &'static str, component: impl ComponentTrait) -> &mut Self { pub fn alter_component_in(
self.regions.add_in(region, ArcAnyComponent::new(component)); &mut self,
region: &'static str,
component: impl ComponentTrait,
) -> &mut Self {
self.regions
.add_component_in(region, ArcAnyComponent::new(component));
self self
} }