Modifica PageAssets para ser simplemente Assets
This commit is contained in:
parent
d53408c6b6
commit
fce106af7a
20 changed files with 35 additions and 35 deletions
|
|
@ -1,10 +1,10 @@
|
|||
use crate::api::action::{ActionTrait, AnyAction};
|
||||
use super::{ComponentTrait, PageAssets};
|
||||
use super::{Assets, ComponentTrait};
|
||||
|
||||
pub const ACTION_BEFORE_RENDER_COMPONENT: &str = "pagetop::render::before_render_component";
|
||||
|
||||
pub struct ActionBeforeRenderComponent {
|
||||
action: Option<fn(&mut dyn ComponentTrait, &mut PageAssets)>,
|
||||
action: Option<fn(&mut dyn ComponentTrait, &mut Assets)>,
|
||||
weight: isize,
|
||||
}
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ impl ActionTrait for ActionBeforeRenderComponent {
|
|||
}
|
||||
|
||||
impl ActionBeforeRenderComponent {
|
||||
pub fn with_action(mut self, action: fn(&mut dyn ComponentTrait, &mut PageAssets)) -> Self {
|
||||
pub fn with_action(mut self, action: fn(&mut dyn ComponentTrait, &mut Assets)) -> Self {
|
||||
self.action = Some(action);
|
||||
self
|
||||
}
|
||||
|
|
@ -40,7 +40,7 @@ impl ActionBeforeRenderComponent {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn run(&self, component: &mut dyn ComponentTrait, assets: &mut PageAssets) {
|
||||
pub fn run(&self, component: &mut dyn ComponentTrait, assets: &mut Assets) {
|
||||
if let Some(action) = self.action {
|
||||
action(component, assets)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@ impl JavaScript {
|
|||
|
||||
// Page assets.
|
||||
|
||||
pub struct PageAssets {
|
||||
pub struct Assets {
|
||||
theme : &'static dyn ThemeTrait,
|
||||
favicon : Option<Favicon>,
|
||||
metadata : Vec<(String, String)>,
|
||||
|
|
@ -183,9 +183,9 @@ pub struct PageAssets {
|
|||
id_counter : usize,
|
||||
}
|
||||
|
||||
impl PageAssets {
|
||||
impl Assets {
|
||||
pub fn new() -> Self {
|
||||
PageAssets {
|
||||
Assets {
|
||||
theme : *DEFAULT_THEME,
|
||||
favicon : None,
|
||||
metadata : Vec::new(),
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ use crate::html::{Markup, html};
|
|||
use crate::api::action::{action_ref, run_actions};
|
||||
use crate::util;
|
||||
use super::{ACTION_BEFORE_RENDER_COMPONENT, ActionBeforeRenderComponent};
|
||||
use super::PageAssets;
|
||||
use super::Assets;
|
||||
|
||||
pub use std::any::Any as AnyComponent;
|
||||
|
||||
|
|
@ -35,11 +35,11 @@ pub trait ComponentTrait: AnyComponent + BaseComponent + Send + Sync {
|
|||
}
|
||||
|
||||
#[allow(unused_variables)]
|
||||
fn before_render(&mut self, assets: &mut PageAssets) {
|
||||
fn before_render(&mut self, assets: &mut Assets) {
|
||||
}
|
||||
|
||||
#[allow(unused_variables)]
|
||||
fn default_render(&self, assets: &mut PageAssets) -> Markup {
|
||||
fn default_render(&self, assets: &mut Assets) -> Markup {
|
||||
html! {}
|
||||
}
|
||||
|
||||
|
|
@ -70,7 +70,7 @@ pub fn component_mut<C: 'static>(component: &mut dyn ComponentTrait) -> &mut C {
|
|||
component.as_mut_any().downcast_mut::<C>().unwrap()
|
||||
}
|
||||
|
||||
pub fn render_component(component: &mut dyn ComponentTrait, assets: &mut PageAssets) -> Markup {
|
||||
pub fn render_component(component: &mut dyn ComponentTrait, assets: &mut Assets) -> Markup {
|
||||
// Acciones del componente antes de renderizar.
|
||||
component.before_render(assets);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
use crate::html::{Markup, html};
|
||||
use super::{ComponentTrait, PageAssets};
|
||||
use super::{Assets, ComponentTrait};
|
||||
|
||||
use std::sync::{Arc, RwLock};
|
||||
|
||||
|
|
@ -21,7 +21,7 @@ impl ComponentsHolder {
|
|||
self.0.push(Arc::new(RwLock::new(component)));
|
||||
}
|
||||
|
||||
pub fn render(&self, assets: &mut PageAssets) -> Markup {
|
||||
pub fn render(&self, assets: &mut Assets) -> Markup {
|
||||
let mut components = self.0.clone();
|
||||
components.sort_by_key(|c| c.read().unwrap().weight());
|
||||
html! {
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@ pub use action::{
|
|||
|
||||
mod assets;
|
||||
pub use assets::{
|
||||
Assets,
|
||||
Favicon,
|
||||
StyleSheet,
|
||||
JavaScript, JSMode,
|
||||
PageAssets,
|
||||
};
|
||||
|
||||
mod definition;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
use crate::{app, concat_string};
|
||||
use crate::config::SETTINGS;
|
||||
use crate::html::{Markup, html};
|
||||
use crate::api::component::{ComponentTrait, Favicon, PageAssets};
|
||||
use crate::api::component::{Assets, ComponentTrait, Favicon};
|
||||
use crate::response::page::Page;
|
||||
use crate::base::component::Chunck;
|
||||
use crate::util;
|
||||
|
|
@ -88,7 +88,7 @@ pub trait ThemeTrait: BaseTheme + Send + Sync {
|
|||
fn before_render_component(
|
||||
&self,
|
||||
component: &mut dyn ComponentTrait,
|
||||
assets: &mut PageAssets
|
||||
assets: &mut Assets
|
||||
) {
|
||||
/*
|
||||
Cómo usarlo:
|
||||
|
|
@ -107,7 +107,7 @@ pub trait ThemeTrait: BaseTheme + Send + Sync {
|
|||
fn render_component(
|
||||
&self,
|
||||
component: &dyn ComponentTrait,
|
||||
assets: &mut PageAssets
|
||||
assets: &mut Assets
|
||||
) -> Option<Markup> {
|
||||
None
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ impl ComponentTrait for Block {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn default_render(&self, assets: &mut PageAssets) -> Markup {
|
||||
fn default_render(&self, assets: &mut Assets) -> Markup {
|
||||
let id = assets.serial_id(self.single_name(), self.id());
|
||||
html! {
|
||||
div id=(id) class=[self.classes()] {
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ impl ComponentTrait for Chunck {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn default_render(&self, _: &mut PageAssets) -> Markup {
|
||||
fn default_render(&self, _: &mut Assets) -> Markup {
|
||||
html! { (*self.html()) }
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ impl ComponentTrait for Container {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn default_render(&self, assets: &mut PageAssets) -> Markup {
|
||||
fn default_render(&self, assets: &mut Assets) -> Markup {
|
||||
match self.container_type() {
|
||||
ContainerType::Header => html! {
|
||||
header id=[self.id()] class=[self.classes()] {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ impl ComponentTrait for Button {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn default_render(&self, _: &mut PageAssets) -> Markup {
|
||||
fn default_render(&self, _: &mut Assets) -> Markup {
|
||||
let button_type = match self.button_type() {
|
||||
ButtonType::Button => "button",
|
||||
ButtonType::Reset => "reset",
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ impl ComponentTrait for Date {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn default_render(&self, _: &mut PageAssets) -> Markup {
|
||||
fn default_render(&self, _: &mut Assets) -> Markup {
|
||||
let id = match self.name() {
|
||||
Some(name) => Some(concat_string!("edit-", name)),
|
||||
None => None,
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ impl ComponentTrait for Form {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn default_render(&self, assets: &mut PageAssets) -> Markup {
|
||||
fn default_render(&self, assets: &mut Assets) -> Markup {
|
||||
let method = match self.method() {
|
||||
FormMethod::Get => None,
|
||||
FormMethod::Post => Some("post".to_owned())
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ impl ComponentTrait for Hidden {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn default_render(&self, _: &mut PageAssets) -> Markup {
|
||||
fn default_render(&self, _: &mut Assets) -> Markup {
|
||||
let id = match self.name() {
|
||||
Some(name) => Some(concat_string!("value-", name)),
|
||||
_ => None
|
||||
|
|
|
|||
|
|
@ -58,14 +58,14 @@ impl ComponentTrait for Input {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn before_render(&mut self, _: &mut PageAssets) {
|
||||
fn before_render(&mut self, _: &mut Assets) {
|
||||
if let Some(name) = self.name() {
|
||||
let class = concat_string!("form-item-", name);
|
||||
self.alter_classes(class.as_str(), ClassesOp::AddFirst);
|
||||
}
|
||||
}
|
||||
|
||||
fn default_render(&self, _: &mut PageAssets) -> Markup {
|
||||
fn default_render(&self, _: &mut Assets) -> Markup {
|
||||
let type_input = match self.input_type() {
|
||||
InputType::Email => "email",
|
||||
InputType::Password => "password",
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ impl ComponentTrait for Column {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn default_render(&self, assets: &mut PageAssets) -> Markup {
|
||||
fn default_render(&self, assets: &mut Assets) -> Markup {
|
||||
html! {
|
||||
div id=[self.id()] class=[self.classes()] {
|
||||
(self.components().render(assets))
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ impl ComponentTrait for Row {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn default_render(&self, assets: &mut PageAssets) -> Markup {
|
||||
fn default_render(&self, assets: &mut Assets) -> Markup {
|
||||
html! {
|
||||
div id=[self.id()] class=[self.classes()] {
|
||||
(self.columns().render(assets))
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ impl ComponentTrait for Image {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn default_render(&self, _: &mut PageAssets) -> Markup {
|
||||
fn default_render(&self, _: &mut Assets) -> Markup {
|
||||
html! {
|
||||
img
|
||||
src=[self.source()]
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ impl ComponentTrait for MenuItem {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn default_render(&self, assets: &mut PageAssets) -> Markup {
|
||||
fn default_render(&self, assets: &mut Assets) -> Markup {
|
||||
match self.item_type() {
|
||||
MenuItemType::Label(label) => html! {
|
||||
li class="label" { a href="#" { (label) } }
|
||||
|
|
@ -198,7 +198,7 @@ impl ComponentTrait for Menu {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn default_render(&self, assets: &mut PageAssets) -> Markup {
|
||||
fn default_render(&self, assets: &mut Assets) -> Markup {
|
||||
assets
|
||||
.add_stylesheet(StyleSheet::source(
|
||||
"/theme/menu/css/menu.css?ver=1.1.1"
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ impl ThemeTrait for Bulmix {
|
|||
fn before_render_component(
|
||||
&self,
|
||||
component: &mut dyn ComponentTrait,
|
||||
_assets: &mut PageAssets
|
||||
_assets: &mut Assets
|
||||
) {
|
||||
match component.type_name() {
|
||||
grid::TYPENAME_ROW => {
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ pub struct Page<'a> {
|
|||
direction : OptAttr,
|
||||
title : OptAttr,
|
||||
description : OptAttr,
|
||||
assets : PageAssets,
|
||||
assets : Assets,
|
||||
regions : HashMap<&'a str, ComponentsHolder>,
|
||||
body_classes: Classes,
|
||||
template : String,
|
||||
|
|
@ -61,7 +61,7 @@ impl<'a> Page<'a> {
|
|||
},
|
||||
title : OptAttr::new(),
|
||||
description : OptAttr::new(),
|
||||
assets : PageAssets::new(),
|
||||
assets : Assets::new(),
|
||||
regions : common_components(),
|
||||
body_classes: Classes::new_with_default("body"),
|
||||
template : "default".to_owned(),
|
||||
|
|
@ -135,7 +135,7 @@ impl<'a> Page<'a> {
|
|||
self.description.option()
|
||||
}
|
||||
|
||||
pub fn assets(&mut self) -> &mut PageAssets {
|
||||
pub fn assets(&mut self) -> &mut Assets {
|
||||
&mut self.assets
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue