Añade función as_any() en componentes
This commit is contained in:
parent
98a0773fb5
commit
0220020f4f
14 changed files with 56 additions and 2 deletions
|
|
@ -46,6 +46,10 @@ impl PageComponent for Block {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn as_any(&mut self) -> &dyn AnyComponent {
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,10 @@ impl PageComponent for Chunck {
|
||||||
html! { (*self.html()) }
|
html! { (*self.html()) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn as_any(&mut self) -> &dyn AnyComponent {
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,10 @@ impl PageComponent for Container {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn as_any(&mut self) -> &dyn AnyComponent {
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,10 @@ impl PageComponent for Button {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn as_any(&mut self) -> &dyn AnyComponent {
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -85,6 +85,10 @@ impl PageComponent for Date {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn as_any(&mut self) -> &dyn AnyComponent {
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,10 @@ impl PageComponent for Form {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn as_any(&mut self) -> &dyn AnyComponent {
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,10 @@ impl PageComponent for Hidden {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn as_any(&mut self) -> &dyn AnyComponent {
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -113,6 +113,10 @@ impl PageComponent for Input {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn as_any(&mut self) -> &dyn AnyComponent {
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,10 @@ impl PageComponent for Column {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn as_any(&mut self) -> &dyn AnyComponent {
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,10 @@ impl PageComponent for Row {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn as_any(&mut self) -> &dyn AnyComponent {
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,10 @@ impl PageComponent for Image {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn as_any(&mut self) -> &dyn AnyComponent {
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -68,6 +68,10 @@ impl PageComponent for MenuItem {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn as_any(&mut self) -> &dyn AnyComponent {
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
@ -222,6 +226,10 @@ impl PageComponent for Menu {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn as_any(&mut self) -> &dyn AnyComponent {
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
fn as_mut_any(&mut self) -> &mut dyn AnyComponent {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,5 +42,7 @@ pub trait PageComponent: AnyComponent + Send + Sync {
|
||||||
html! {}
|
html! {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn as_any(&mut self) -> &dyn AnyComponent;
|
||||||
|
|
||||||
fn as_mut_any(&mut self) -> &mut dyn AnyComponent;
|
fn as_mut_any(&mut self) -> &mut dyn AnyComponent;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@ pub trait ThemeTrait: Send + Sync {
|
||||||
|
|
||||||
match component.name() {
|
match component.name() {
|
||||||
"Block" => {
|
"Block" => {
|
||||||
let block = component.downcast_mut::<Block>().unwrap();
|
let block = component.as_mut_any().downcast_mut::<Block>().unwrap();
|
||||||
block.alter_title("New title");
|
block.alter_title("New title");
|
||||||
},
|
},
|
||||||
_ => {},
|
_ => {},
|
||||||
|
|
@ -105,7 +105,7 @@ pub trait ThemeTrait: Send + Sync {
|
||||||
|
|
||||||
match component.name() {
|
match component.name() {
|
||||||
"Block" => {
|
"Block" => {
|
||||||
let block = component.downcast_ref::<Block>().unwrap();
|
let block = component.as_any().downcast_ref::<Block>().unwrap();
|
||||||
match block.template() {
|
match block.template() {
|
||||||
"default" => Some(block_default(block)),
|
"default" => Some(block_default(block)),
|
||||||
_ => None,
|
_ => None,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue