Corrige asignación de contexto a is_renderable()
This commit is contained in:
parent
bc70527ecf
commit
068f3d8520
16 changed files with 106 additions and 104 deletions
|
|
@ -19,8 +19,8 @@ pub enum AnchorTarget {
|
|||
pub type AnchorIcon = ComponentsBundle;
|
||||
|
||||
pub struct Anchor {
|
||||
renderable : fn() -> bool,
|
||||
weight : isize,
|
||||
renderable : Renderable,
|
||||
id : IdentifierValue,
|
||||
classes : Classes,
|
||||
anchor_type: AnchorType,
|
||||
|
|
@ -35,8 +35,8 @@ pub struct Anchor {
|
|||
impl ComponentTrait for Anchor {
|
||||
fn new() -> Self {
|
||||
Anchor {
|
||||
renderable : render_always,
|
||||
weight : 0,
|
||||
renderable : render_always,
|
||||
id : IdentifierValue::new(),
|
||||
classes : Classes::new(),
|
||||
anchor_type: AnchorType::Link,
|
||||
|
|
@ -57,8 +57,8 @@ impl ComponentTrait for Anchor {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn is_renderable(&self, _: &InContext) -> bool {
|
||||
(self.renderable)()
|
||||
fn is_renderable(&self, context: &InContext) -> bool {
|
||||
(self.renderable)(context)
|
||||
}
|
||||
|
||||
fn default_render(&self, context: &mut InContext) -> Markup {
|
||||
|
|
@ -112,7 +112,7 @@ impl Anchor {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn with_renderable(mut self, renderable: fn() -> bool) -> Self {
|
||||
pub fn with_renderable(mut self, renderable: Renderable) -> Self {
|
||||
self.alter_renderable(renderable);
|
||||
self
|
||||
}
|
||||
|
|
@ -169,7 +169,7 @@ impl Anchor {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alter_renderable(&mut self, renderable: fn() -> bool) -> &mut Self {
|
||||
pub fn alter_renderable(&mut self, renderable: Renderable) -> &mut Self {
|
||||
self.renderable = renderable;
|
||||
self
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ use crate::prelude::*;
|
|||
pub const COMPONENT_BLOCK: &str = "pagetop::component::block";
|
||||
|
||||
pub struct Block {
|
||||
renderable: fn() -> bool,
|
||||
weight : isize,
|
||||
renderable: Renderable,
|
||||
id : IdentifierValue,
|
||||
classes : Classes,
|
||||
title : AttributeValue,
|
||||
|
|
@ -15,8 +15,8 @@ pub struct Block {
|
|||
impl ComponentTrait for Block {
|
||||
fn new() -> Self {
|
||||
Block {
|
||||
renderable: render_always,
|
||||
weight : 0,
|
||||
renderable: render_always,
|
||||
id : IdentifierValue::new(),
|
||||
classes : Classes::new_with_default("block"),
|
||||
title : AttributeValue::new(),
|
||||
|
|
@ -33,8 +33,8 @@ impl ComponentTrait for Block {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn is_renderable(&self, _: &InContext) -> bool {
|
||||
(self.renderable)()
|
||||
fn is_renderable(&self, context: &InContext) -> bool {
|
||||
(self.renderable)(context)
|
||||
}
|
||||
|
||||
fn default_render(&self, context: &mut InContext) -> Markup {
|
||||
|
|
@ -70,7 +70,7 @@ impl Block {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn with_renderable(mut self, renderable: fn() -> bool) -> Self {
|
||||
pub fn with_renderable(mut self, renderable: Renderable) -> Self {
|
||||
self.alter_renderable(renderable);
|
||||
self
|
||||
}
|
||||
|
|
@ -107,7 +107,7 @@ impl Block {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alter_renderable(&mut self, renderable: fn() -> bool) -> &mut Self {
|
||||
pub fn alter_renderable(&mut self, renderable: Renderable) -> &mut Self {
|
||||
self.renderable = renderable;
|
||||
self
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ use crate::prelude::*;
|
|||
pub const COMPONENT_CHUNCK: &str = "pagetop::component::chunck";
|
||||
|
||||
pub struct Chunck {
|
||||
renderable: fn() -> bool,
|
||||
weight : isize,
|
||||
renderable: Renderable,
|
||||
html : Markup,
|
||||
template : String,
|
||||
}
|
||||
|
|
@ -12,8 +12,8 @@ pub struct Chunck {
|
|||
impl ComponentTrait for Chunck {
|
||||
fn new() -> Self {
|
||||
Chunck {
|
||||
renderable: render_always,
|
||||
weight : 0,
|
||||
renderable: render_always,
|
||||
html : html! {},
|
||||
template : "default".to_owned(),
|
||||
}
|
||||
|
|
@ -27,8 +27,8 @@ impl ComponentTrait for Chunck {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn is_renderable(&self, _: &InContext) -> bool {
|
||||
(self.renderable)()
|
||||
fn is_renderable(&self, context: &InContext) -> bool {
|
||||
(self.renderable)(context)
|
||||
}
|
||||
|
||||
fn default_render(&self, _: &mut InContext) -> Markup {
|
||||
|
|
@ -56,7 +56,7 @@ impl Chunck {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn with_renderable(mut self, renderable: fn() -> bool) -> Self {
|
||||
pub fn with_renderable(mut self, renderable: Renderable) -> Self {
|
||||
self.alter_renderable(renderable);
|
||||
self
|
||||
}
|
||||
|
|
@ -78,7 +78,7 @@ impl Chunck {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alter_renderable(&mut self, renderable: fn() -> bool) -> &mut Self {
|
||||
pub fn alter_renderable(&mut self, renderable: Renderable) -> &mut Self {
|
||||
self.renderable = renderable;
|
||||
self
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ pub const COMPONENT_CONTAINER: &str = "pagetop::component::container";
|
|||
pub enum ContainerType { Header, Footer, Main, Section, Wrapper }
|
||||
|
||||
pub struct Container {
|
||||
renderable : fn() -> bool,
|
||||
weight : isize,
|
||||
renderable : Renderable,
|
||||
id : IdentifierValue,
|
||||
classes : Classes,
|
||||
inner_classes : Classes,
|
||||
|
|
@ -18,8 +18,8 @@ pub struct Container {
|
|||
impl ComponentTrait for Container {
|
||||
fn new() -> Self {
|
||||
Container {
|
||||
renderable : render_always,
|
||||
weight : 0,
|
||||
renderable : render_always,
|
||||
id : IdentifierValue::new(),
|
||||
classes : Classes::new_with_default("container"),
|
||||
inner_classes : Classes::new_with_default("container"),
|
||||
|
|
@ -37,8 +37,8 @@ impl ComponentTrait for Container {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn is_renderable(&self, _: &InContext) -> bool {
|
||||
(self.renderable)()
|
||||
fn is_renderable(&self, context: &InContext) -> bool {
|
||||
(self.renderable)(context)
|
||||
}
|
||||
|
||||
fn default_render(&self, context: &mut InContext) -> Markup {
|
||||
|
|
@ -120,7 +120,7 @@ impl Container {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn with_renderable(mut self, renderable: fn() -> bool) -> Self {
|
||||
pub fn with_renderable(mut self, renderable: Renderable) -> Self {
|
||||
self.alter_renderable(renderable);
|
||||
self
|
||||
}
|
||||
|
|
@ -157,7 +157,7 @@ impl Container {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alter_renderable(&mut self, renderable: fn() -> bool) -> &mut Self {
|
||||
pub fn alter_renderable(&mut self, renderable: Renderable) -> &mut Self {
|
||||
self.renderable = renderable;
|
||||
self
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ pub const COMPONENT_BUTTON: &str = "pagetop::component::form::button";
|
|||
pub enum ButtonType {Button, Reset, Submit}
|
||||
|
||||
pub struct Button {
|
||||
renderable : fn() -> bool,
|
||||
weight : isize,
|
||||
renderable : Renderable,
|
||||
classes : Classes,
|
||||
button_type: ButtonType,
|
||||
name : AttributeValue,
|
||||
|
|
@ -19,8 +19,8 @@ pub struct Button {
|
|||
impl ComponentTrait for Button {
|
||||
fn new() -> Self {
|
||||
Button {
|
||||
renderable : render_always,
|
||||
weight : 0,
|
||||
renderable : render_always,
|
||||
classes : Classes::new_with_default("btn btn-primary"),
|
||||
button_type: ButtonType::Button,
|
||||
name : AttributeValue::new(),
|
||||
|
|
@ -40,8 +40,8 @@ impl ComponentTrait for Button {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn is_renderable(&self, _: &InContext) -> bool {
|
||||
(self.renderable)()
|
||||
fn is_renderable(&self, context: &InContext) -> bool {
|
||||
(self.renderable)(context)
|
||||
}
|
||||
|
||||
fn default_render(&self, _: &mut InContext) -> Markup {
|
||||
|
|
@ -109,7 +109,7 @@ impl Button {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn with_renderable(mut self, renderable: fn() -> bool) -> Self {
|
||||
pub fn with_renderable(mut self, renderable: Renderable) -> Self {
|
||||
self.alter_renderable(renderable);
|
||||
self
|
||||
}
|
||||
|
|
@ -151,7 +151,7 @@ impl Button {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alter_renderable(&mut self, renderable: fn() -> bool) -> &mut Self {
|
||||
pub fn alter_renderable(&mut self, renderable: Renderable) -> &mut Self {
|
||||
self.renderable = renderable;
|
||||
self
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ use crate::prelude::*;
|
|||
pub const COMPONENT_DATE: &str = "pagetop::component::form::date";
|
||||
|
||||
pub struct Date {
|
||||
renderable : fn() -> bool,
|
||||
weight : isize,
|
||||
renderable : Renderable,
|
||||
classes : Classes,
|
||||
name : AttributeValue,
|
||||
value : AttributeValue,
|
||||
|
|
@ -22,8 +22,8 @@ pub struct Date {
|
|||
impl ComponentTrait for Date {
|
||||
fn new() -> Self {
|
||||
Date {
|
||||
renderable : render_always,
|
||||
weight : 0,
|
||||
renderable : render_always,
|
||||
classes : Classes::new_with_default("form-item"),
|
||||
name : AttributeValue::new(),
|
||||
value : AttributeValue::new(),
|
||||
|
|
@ -48,8 +48,8 @@ impl ComponentTrait for Date {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn is_renderable(&self, _: &InContext) -> bool {
|
||||
(self.renderable)()
|
||||
fn is_renderable(&self, context: &InContext) -> bool {
|
||||
(self.renderable)(context)
|
||||
}
|
||||
|
||||
fn default_render(&self, _: &mut InContext) -> Markup {
|
||||
|
|
@ -109,7 +109,7 @@ impl Date {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn with_renderable(mut self, renderable: fn() -> bool) -> Self {
|
||||
pub fn with_renderable(mut self, renderable: Renderable) -> Self {
|
||||
self.alter_renderable(renderable);
|
||||
self
|
||||
}
|
||||
|
|
@ -181,7 +181,7 @@ impl Date {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alter_renderable(&mut self, renderable: fn() -> bool) -> &mut Self {
|
||||
pub fn alter_renderable(&mut self, renderable: Renderable) -> &mut Self {
|
||||
self.renderable = renderable;
|
||||
self
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ pub const COMPONENT_FORM: &str = "pagetop::component::form";
|
|||
pub enum FormMethod {Get, Post}
|
||||
|
||||
pub struct Form {
|
||||
renderable: fn() -> bool,
|
||||
weight : isize,
|
||||
renderable: Renderable,
|
||||
id : IdentifierValue,
|
||||
classes : Classes,
|
||||
action : AttributeValue,
|
||||
|
|
@ -19,8 +19,8 @@ pub struct Form {
|
|||
impl ComponentTrait for Form {
|
||||
fn new() -> Self {
|
||||
Form {
|
||||
renderable: render_always,
|
||||
weight : 0,
|
||||
renderable: render_always,
|
||||
id : IdentifierValue::new(),
|
||||
classes : Classes::new_with_default("form"),
|
||||
action : AttributeValue::new(),
|
||||
|
|
@ -39,8 +39,8 @@ impl ComponentTrait for Form {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn is_renderable(&self, _: &InContext) -> bool {
|
||||
(self.renderable)()
|
||||
fn is_renderable(&self, context: &InContext) -> bool {
|
||||
(self.renderable)(context)
|
||||
}
|
||||
|
||||
fn default_render(&self, context: &mut InContext) -> Markup {
|
||||
|
|
@ -79,7 +79,7 @@ impl Form {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn with_renderable(mut self, renderable: fn() -> bool) -> Self {
|
||||
pub fn with_renderable(mut self, renderable: Renderable) -> Self {
|
||||
self.alter_renderable(renderable);
|
||||
self
|
||||
}
|
||||
|
|
@ -126,7 +126,7 @@ impl Form {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alter_renderable(&mut self, renderable: fn() -> bool) -> &mut Self {
|
||||
pub fn alter_renderable(&mut self, renderable: Renderable) -> &mut Self {
|
||||
self.renderable = renderable;
|
||||
self
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ pub const COMPONENT_INPUT: &str = "pagetop::component::form::input";
|
|||
pub enum InputType {Email, Password, Search, Telephone, Textfield, Url}
|
||||
|
||||
pub struct Input {
|
||||
renderable : fn() -> bool,
|
||||
weight : isize,
|
||||
renderable : Renderable,
|
||||
classes : Classes,
|
||||
input_type : InputType,
|
||||
name : IdentifierValue,
|
||||
|
|
@ -28,8 +28,8 @@ pub struct Input {
|
|||
impl ComponentTrait for Input {
|
||||
fn new() -> Self {
|
||||
Input {
|
||||
renderable : render_always,
|
||||
weight : 0,
|
||||
renderable : render_always,
|
||||
classes : Classes::new_with_default("form-item"),
|
||||
input_type : InputType::Textfield,
|
||||
name : IdentifierValue::new(),
|
||||
|
|
@ -58,8 +58,8 @@ impl ComponentTrait for Input {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn is_renderable(&self, _: &InContext) -> bool {
|
||||
(self.renderable)()
|
||||
fn is_renderable(&self, context: &InContext) -> bool {
|
||||
(self.renderable)(context)
|
||||
}
|
||||
|
||||
fn default_render(&self, _: &mut InContext) -> Markup {
|
||||
|
|
@ -168,7 +168,7 @@ impl Input {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn with_renderable(mut self, renderable: fn() -> bool) -> Self {
|
||||
pub fn with_renderable(mut self, renderable: Renderable) -> Self {
|
||||
self.alter_renderable(renderable);
|
||||
self
|
||||
}
|
||||
|
|
@ -255,7 +255,7 @@ impl Input {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alter_renderable(&mut self, renderable: fn() -> bool) -> &mut Self {
|
||||
pub fn alter_renderable(&mut self, renderable: Renderable) -> &mut Self {
|
||||
self.renderable = renderable;
|
||||
self
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@ pub enum ColumnSize {
|
|||
IsFull,
|
||||
}
|
||||
pub struct Column {
|
||||
renderable: fn() -> bool,
|
||||
weight : isize,
|
||||
renderable: Renderable,
|
||||
id : IdentifierValue,
|
||||
classes : Classes,
|
||||
size : ColumnSize,
|
||||
|
|
@ -44,8 +44,8 @@ pub struct Column {
|
|||
impl ComponentTrait for Column {
|
||||
fn new() -> Self {
|
||||
Column {
|
||||
renderable: render_always,
|
||||
weight : 0,
|
||||
renderable: render_always,
|
||||
id : IdentifierValue::new(),
|
||||
classes : Classes::new_with_default(SIZE_DEFAULT),
|
||||
size : ColumnSize::Default,
|
||||
|
|
@ -62,8 +62,8 @@ impl ComponentTrait for Column {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn is_renderable(&self, _: &InContext) -> bool {
|
||||
(self.renderable)()
|
||||
fn is_renderable(&self, context: &InContext) -> bool {
|
||||
(self.renderable)(context)
|
||||
}
|
||||
|
||||
fn default_render(&self, context: &mut InContext) -> Markup {
|
||||
|
|
@ -92,7 +92,7 @@ impl Column {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn with_renderable(mut self, renderable: fn() -> bool) -> Self {
|
||||
pub fn with_renderable(mut self, renderable: Renderable) -> Self {
|
||||
self.alter_renderable(renderable);
|
||||
self
|
||||
}
|
||||
|
|
@ -129,7 +129,7 @@ impl Column {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alter_renderable(&mut self, renderable: fn() -> bool) -> &mut Self {
|
||||
pub fn alter_renderable(&mut self, renderable: Renderable) -> &mut Self {
|
||||
self.renderable = renderable;
|
||||
self
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ use crate::prelude::*;
|
|||
pub const COMPONENT_ROW: &str = "pagetop::component::grid::row";
|
||||
|
||||
pub struct Row {
|
||||
renderable: fn() -> bool,
|
||||
weight : isize,
|
||||
renderable: Renderable,
|
||||
id : IdentifierValue,
|
||||
classes : Classes,
|
||||
columns : ComponentsBundle,
|
||||
|
|
@ -14,8 +14,8 @@ pub struct Row {
|
|||
impl ComponentTrait for Row {
|
||||
fn new() -> Self {
|
||||
Row {
|
||||
renderable: render_always,
|
||||
weight : 0,
|
||||
renderable: render_always,
|
||||
id : IdentifierValue::new(),
|
||||
classes : Classes::new_with_default("row"),
|
||||
columns : ComponentsBundle::new(),
|
||||
|
|
@ -31,8 +31,8 @@ impl ComponentTrait for Row {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn is_renderable(&self, _: &InContext) -> bool {
|
||||
(self.renderable)()
|
||||
fn is_renderable(&self, context: &InContext) -> bool {
|
||||
(self.renderable)(context)
|
||||
}
|
||||
|
||||
fn default_render(&self, context: &mut InContext) -> Markup {
|
||||
|
|
@ -61,7 +61,7 @@ impl Row {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn with_renderable(mut self, renderable: fn() -> bool) -> Self {
|
||||
pub fn with_renderable(mut self, renderable: Renderable) -> Self {
|
||||
self.alter_renderable(renderable);
|
||||
self
|
||||
}
|
||||
|
|
@ -93,7 +93,7 @@ impl Row {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alter_renderable(&mut self, renderable: fn() -> bool) -> &mut Self {
|
||||
pub fn alter_renderable(&mut self, renderable: Renderable) -> &mut Self {
|
||||
self.renderable = renderable;
|
||||
self
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ pub enum HeadingDisplay {
|
|||
}
|
||||
|
||||
pub struct Heading {
|
||||
renderable : fn() -> bool,
|
||||
weight : isize,
|
||||
renderable : Renderable,
|
||||
id : IdentifierValue,
|
||||
classes : Classes,
|
||||
heading_type: HeadingType,
|
||||
|
|
@ -28,8 +28,8 @@ pub struct Heading {
|
|||
impl ComponentTrait for Heading {
|
||||
fn new() -> Self {
|
||||
Heading {
|
||||
renderable : render_always,
|
||||
weight : 0,
|
||||
renderable : render_always,
|
||||
id : IdentifierValue::new(),
|
||||
classes : Classes::new(),
|
||||
heading_type: HeadingType::H1,
|
||||
|
|
@ -47,8 +47,8 @@ impl ComponentTrait for Heading {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn is_renderable(&self, _: &InContext) -> bool {
|
||||
(self.renderable)()
|
||||
fn is_renderable(&self, context: &InContext) -> bool {
|
||||
(self.renderable)(context)
|
||||
}
|
||||
|
||||
fn default_render(&self, _: &mut InContext) -> Markup {
|
||||
|
|
@ -105,7 +105,7 @@ impl Heading {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn with_renderable(mut self, renderable: fn() -> bool) -> Self {
|
||||
pub fn with_renderable(mut self, renderable: Renderable) -> Self {
|
||||
self.alter_renderable(renderable);
|
||||
self
|
||||
}
|
||||
|
|
@ -147,7 +147,7 @@ impl Heading {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alter_renderable(&mut self, renderable: fn() -> bool) -> &mut Self {
|
||||
pub fn alter_renderable(&mut self, renderable: Renderable) -> &mut Self {
|
||||
self.renderable = renderable;
|
||||
self
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ use crate::prelude::*;
|
|||
pub const COMPONENT_ICON: &str = "pagetop::component::icon";
|
||||
|
||||
pub struct Icon {
|
||||
renderable: fn() -> bool,
|
||||
weight : isize,
|
||||
renderable: Renderable,
|
||||
icon_name : String,
|
||||
classes : Classes,
|
||||
}
|
||||
|
|
@ -12,8 +12,8 @@ pub struct Icon {
|
|||
impl ComponentTrait for Icon {
|
||||
fn new() -> Self {
|
||||
Icon {
|
||||
renderable: render_always,
|
||||
weight : 0,
|
||||
renderable: render_always,
|
||||
icon_name : "question-circle-fill".to_owned(),
|
||||
classes : Classes::new_with_default("bi-question-circle-fill"),
|
||||
}
|
||||
|
|
@ -27,8 +27,8 @@ impl ComponentTrait for Icon {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn is_renderable(&self, _: &InContext) -> bool {
|
||||
(self.renderable)()
|
||||
fn is_renderable(&self, context: &InContext) -> bool {
|
||||
(self.renderable)(context)
|
||||
}
|
||||
|
||||
fn default_render(&self, context: &mut InContext) -> Markup {
|
||||
|
|
@ -62,7 +62,7 @@ impl Icon {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn with_renderable(mut self, renderable: fn() -> bool) -> Self {
|
||||
pub fn with_renderable(mut self, renderable: Renderable) -> Self {
|
||||
self.alter_renderable(renderable);
|
||||
self
|
||||
}
|
||||
|
|
@ -84,7 +84,7 @@ impl Icon {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alter_renderable(&mut self, renderable: fn() -> bool) -> &mut Self {
|
||||
pub fn alter_renderable(&mut self, renderable: Renderable) -> &mut Self {
|
||||
self.renderable = renderable;
|
||||
self
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ use crate::prelude::*;
|
|||
pub const COMPONENT_IMAGE: &str = "pagetop::component::image";
|
||||
|
||||
pub struct Image {
|
||||
renderable: fn() -> bool,
|
||||
weight : isize,
|
||||
renderable: Renderable,
|
||||
id : IdentifierValue,
|
||||
classes : Classes,
|
||||
source : AttributeValue,
|
||||
|
|
@ -14,8 +14,8 @@ pub struct Image {
|
|||
impl ComponentTrait for Image {
|
||||
fn new() -> Self {
|
||||
Image {
|
||||
renderable: render_always,
|
||||
weight : 0,
|
||||
renderable: render_always,
|
||||
id : IdentifierValue::new(),
|
||||
classes : Classes::new_with_default("img-fluid"),
|
||||
source : AttributeValue::new(),
|
||||
|
|
@ -31,8 +31,8 @@ impl ComponentTrait for Image {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn is_renderable(&self, _: &InContext) -> bool {
|
||||
(self.renderable)()
|
||||
fn is_renderable(&self, context: &InContext) -> bool {
|
||||
(self.renderable)(context)
|
||||
}
|
||||
|
||||
fn default_render(&self, _: &mut InContext) -> Markup {
|
||||
|
|
@ -65,7 +65,7 @@ impl Image {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn with_renderable(mut self, renderable: fn() -> bool) -> Self {
|
||||
pub fn with_renderable(mut self, renderable: Renderable) -> Self {
|
||||
self.alter_renderable(renderable);
|
||||
self
|
||||
}
|
||||
|
|
@ -97,7 +97,7 @@ impl Image {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alter_renderable(&mut self, renderable: fn() -> bool) -> &mut Self {
|
||||
pub fn alter_renderable(&mut self, renderable: Renderable) -> &mut Self {
|
||||
self.renderable = renderable;
|
||||
self
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,16 +16,16 @@ pub enum MenuItemType {
|
|||
// MenuItem.
|
||||
|
||||
pub struct MenuItem {
|
||||
renderable: fn() -> bool,
|
||||
weight : isize,
|
||||
renderable: Renderable,
|
||||
item_type : MenuItemType,
|
||||
}
|
||||
|
||||
impl ComponentTrait for MenuItem {
|
||||
fn new() -> Self {
|
||||
MenuItem {
|
||||
renderable: render_always,
|
||||
weight : 0,
|
||||
renderable: render_always,
|
||||
item_type : MenuItemType::Void,
|
||||
}
|
||||
}
|
||||
|
|
@ -38,8 +38,8 @@ impl ComponentTrait for MenuItem {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn is_renderable(&self, _: &InContext) -> bool {
|
||||
(self.renderable)()
|
||||
fn is_renderable(&self, context: &InContext) -> bool {
|
||||
(self.renderable)(context)
|
||||
}
|
||||
|
||||
fn default_render(&self, context: &mut InContext) -> Markup {
|
||||
|
|
@ -85,16 +85,16 @@ impl ComponentTrait for MenuItem {
|
|||
impl MenuItem {
|
||||
pub fn label(label: &str) -> Self {
|
||||
MenuItem {
|
||||
renderable: render_always,
|
||||
weight : 0,
|
||||
renderable: render_always,
|
||||
item_type : MenuItemType::Label(label.to_owned()),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn link(label: &str, path: &str) -> Self {
|
||||
MenuItem {
|
||||
renderable: render_always,
|
||||
weight : 0,
|
||||
renderable: render_always,
|
||||
item_type : MenuItemType::Link(
|
||||
label.to_owned(),
|
||||
path.to_owned(),
|
||||
|
|
@ -104,8 +104,8 @@ impl MenuItem {
|
|||
|
||||
pub fn link_blank(label: &str, path: &str) -> Self {
|
||||
MenuItem {
|
||||
renderable: render_always,
|
||||
weight : 0,
|
||||
renderable: render_always,
|
||||
item_type : MenuItemType::LinkBlank(
|
||||
label.to_owned(),
|
||||
path.to_owned(),
|
||||
|
|
@ -115,24 +115,24 @@ impl MenuItem {
|
|||
|
||||
pub fn html(html: Markup) -> Self {
|
||||
MenuItem {
|
||||
renderable: render_always,
|
||||
weight : 0,
|
||||
renderable: render_always,
|
||||
item_type : MenuItemType::Html(html),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn separator() -> Self {
|
||||
MenuItem {
|
||||
renderable: render_always,
|
||||
weight : 0,
|
||||
renderable: render_always,
|
||||
item_type : MenuItemType::Separator,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn submenu(label: &str, menu: Menu) -> Self {
|
||||
MenuItem {
|
||||
renderable: render_always,
|
||||
weight : 0,
|
||||
renderable: render_always,
|
||||
item_type : MenuItemType::Submenu(
|
||||
label.to_owned(),
|
||||
menu
|
||||
|
|
@ -147,7 +147,7 @@ impl MenuItem {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn with_renderable(mut self, renderable: fn() -> bool) -> Self {
|
||||
pub fn with_renderable(mut self, renderable: Renderable) -> Self {
|
||||
self.alter_renderable(renderable);
|
||||
self
|
||||
}
|
||||
|
|
@ -159,7 +159,7 @@ impl MenuItem {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alter_renderable(&mut self, renderable: fn() -> bool) -> &mut Self {
|
||||
pub fn alter_renderable(&mut self, renderable: Renderable) -> &mut Self {
|
||||
self.renderable = renderable;
|
||||
self
|
||||
}
|
||||
|
|
@ -174,8 +174,8 @@ impl MenuItem {
|
|||
// Menu.
|
||||
|
||||
pub struct Menu {
|
||||
renderable: fn() -> bool,
|
||||
weight : isize,
|
||||
renderable: Renderable,
|
||||
id : IdentifierValue,
|
||||
classes : Classes,
|
||||
items : ComponentsBundle,
|
||||
|
|
@ -185,8 +185,8 @@ pub struct Menu {
|
|||
impl ComponentTrait for Menu {
|
||||
fn new() -> Self {
|
||||
Menu {
|
||||
renderable: render_always,
|
||||
weight : 0,
|
||||
renderable: render_always,
|
||||
items : ComponentsBundle::new(),
|
||||
id : IdentifierValue::new(),
|
||||
classes : Classes::new_with_default("sm sm-clean"),
|
||||
|
|
@ -202,8 +202,8 @@ impl ComponentTrait for Menu {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn is_renderable(&self, _: &InContext) -> bool {
|
||||
(self.renderable)()
|
||||
fn is_renderable(&self, context: &InContext) -> bool {
|
||||
(self.renderable)(context)
|
||||
}
|
||||
|
||||
fn default_render(&self, context: &mut InContext) -> Markup {
|
||||
|
|
@ -255,7 +255,7 @@ impl Menu {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn with_renderable(mut self, renderable: fn() -> bool) -> Self {
|
||||
pub fn with_renderable(mut self, renderable: Renderable) -> Self {
|
||||
self.alter_renderable(renderable);
|
||||
self
|
||||
}
|
||||
|
|
@ -287,7 +287,7 @@ impl Menu {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alter_renderable(&mut self, renderable: fn() -> bool) -> &mut Self {
|
||||
pub fn alter_renderable(&mut self, renderable: Renderable) -> &mut Self {
|
||||
self.renderable = renderable;
|
||||
self
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ pub enum ParagraphDisplay {
|
|||
}
|
||||
|
||||
pub struct Paragraph {
|
||||
renderable: fn() -> bool,
|
||||
weight : isize,
|
||||
renderable: Renderable,
|
||||
id : IdentifierValue,
|
||||
classes : Classes,
|
||||
html : Markup,
|
||||
|
|
@ -24,8 +24,8 @@ pub struct Paragraph {
|
|||
impl ComponentTrait for Paragraph {
|
||||
fn new() -> Self {
|
||||
Paragraph {
|
||||
renderable: render_always,
|
||||
weight : 0,
|
||||
renderable: render_always,
|
||||
id : IdentifierValue::new(),
|
||||
classes : Classes::new(),
|
||||
html : html! {},
|
||||
|
|
@ -42,8 +42,8 @@ impl ComponentTrait for Paragraph {
|
|||
self.weight
|
||||
}
|
||||
|
||||
fn is_renderable(&self, _: &InContext) -> bool {
|
||||
(self.renderable)()
|
||||
fn is_renderable(&self, context: &InContext) -> bool {
|
||||
(self.renderable)(context)
|
||||
}
|
||||
|
||||
fn default_render(&self, _: &mut InContext) -> Markup {
|
||||
|
|
@ -73,7 +73,7 @@ impl Paragraph {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn with_renderable(mut self, renderable: fn() -> bool) -> Self {
|
||||
pub fn with_renderable(mut self, renderable: Renderable) -> Self {
|
||||
self.alter_renderable(renderable);
|
||||
self
|
||||
}
|
||||
|
|
@ -110,7 +110,7 @@ impl Paragraph {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn alter_renderable(&mut self, renderable: fn() -> bool) -> &mut Self {
|
||||
pub fn alter_renderable(&mut self, renderable: Renderable) -> &mut Self {
|
||||
self.renderable = renderable;
|
||||
self
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,8 @@ mod all;
|
|||
pub use all::add_component_to;
|
||||
pub(crate) use all::common_components;
|
||||
|
||||
pub fn render_always() -> bool { true }
|
||||
pub type Renderable = fn(_: &InContext) -> bool;
|
||||
|
||||
pub fn render_never() -> bool { false }
|
||||
pub fn render_always(_: &InContext) -> bool { true }
|
||||
|
||||
pub fn render_never(_: &InContext) -> bool { false }
|
||||
Loading…
Add table
Add a link
Reference in a new issue