Integrate "SmartDefault" as "AutoDefault" macro

This commit is contained in:
Manuel Cillero 2024-02-27 21:57:16 +01:00
parent cb38145bf5
commit 9e4f593dbd
51 changed files with 387 additions and 103 deletions

View file

@ -4,7 +4,7 @@ pub mod javascript;
pub mod stylesheet;
use crate::html::{html, Markup};
use crate::{SmartDefault, Weight};
use crate::{AutoDefault, Weight};
pub trait AssetsTrait {
fn path(&self) -> &str;
@ -14,7 +14,7 @@ pub trait AssetsTrait {
fn prepare(&self) -> Markup;
}
#[derive(SmartDefault)]
#[derive(AutoDefault)]
pub struct Assets<T>(Vec<T>);
impl<T: AssetsTrait> Assets<T> {

View file

@ -1,9 +1,9 @@
use crate::html::assets::AssetsTrait;
use crate::html::{html, Markup};
use crate::{SmartDefault, Weight};
use crate::{AutoDefault, Weight};
#[rustfmt::skip]
#[derive(SmartDefault)]
#[derive(AutoDefault)]
pub struct HeadScript {
path : String,
code : String,

View file

@ -1,9 +1,9 @@
use crate::html::assets::AssetsTrait;
use crate::html::{html, Markup};
use crate::{SmartDefault, Weight};
use crate::{AutoDefault, Weight};
#[rustfmt::skip]
#[derive(SmartDefault)]
#[derive(AutoDefault)]
pub struct HeadStyles {
path : String,
styles: String,

View file

@ -1,6 +1,6 @@
use crate::html::assets::AssetsTrait;
use crate::html::{html, Markup};
use crate::{SmartDefault, Weight};
use crate::{AutoDefault, Weight};
#[derive(Default, Eq, PartialEq)]
pub enum ModeJS {
@ -11,7 +11,7 @@ pub enum ModeJS {
}
#[rustfmt::skip]
#[derive(SmartDefault)]
#[derive(AutoDefault)]
pub struct JavaScript {
path : String,
prefix : &'static str,

View file

@ -1,6 +1,6 @@
use crate::html::assets::AssetsTrait;
use crate::html::{html, Markup};
use crate::{SmartDefault, Weight};
use crate::{AutoDefault, Weight};
pub enum TargetMedia {
Default,
@ -10,7 +10,7 @@ pub enum TargetMedia {
}
#[rustfmt::skip]
#[derive(SmartDefault)]
#[derive(AutoDefault)]
pub struct StyleSheet {
path : String,
prefix : &'static str,

View file

@ -1,7 +1,7 @@
use crate::html::{html, Markup};
use crate::SmartDefault;
use crate::AutoDefault;
#[derive(SmartDefault)]
#[derive(AutoDefault)]
pub struct Favicon(Vec<Markup>);
impl Favicon {

View file

@ -9,7 +9,7 @@
//! **OptionClasses** assumes that the order of the classes is irrelevant
//! (<https://stackoverflow.com/a/1321712>), and duplicate classes will not be allowed.
use crate::{fn_with, SmartDefault};
use crate::{fn_with, AutoDefault};
pub enum ClassesOp {
Add,
@ -20,7 +20,7 @@ pub enum ClassesOp {
Set,
}
#[derive(SmartDefault)]
#[derive(AutoDefault)]
pub struct OptionClasses(Vec<String>);
impl OptionClasses {

View file

@ -1,6 +1,6 @@
use crate::{fn_with, SmartDefault};
use crate::{fn_with, AutoDefault};
#[derive(SmartDefault)]
#[derive(AutoDefault)]
pub struct OptionId(Option<String>);
impl OptionId {

View file

@ -1,6 +1,6 @@
use crate::{fn_with, SmartDefault};
use crate::{fn_with, AutoDefault};
#[derive(SmartDefault)]
#[derive(AutoDefault)]
pub struct OptionName(Option<String>);
impl OptionName {

View file

@ -1,6 +1,6 @@
use crate::{fn_with, SmartDefault};
use crate::{fn_with, AutoDefault};
#[derive(SmartDefault)]
#[derive(AutoDefault)]
pub struct OptionString(Option<String>);
impl OptionString {

View file

@ -1,8 +1,8 @@
use crate::html::Markup;
use crate::locale::{L10n, LanguageIdentifier};
use crate::{fn_with, SmartDefault};
use crate::{fn_with, AutoDefault};
#[derive(SmartDefault)]
#[derive(AutoDefault)]
pub struct OptionTranslated(L10n);
impl OptionTranslated {

View file

@ -1,4 +1,4 @@
use crate::{concat_string, SmartDefault};
use crate::{concat_string, AutoDefault};
// About pixels: Pixels (px) are relative to the viewing device. For low-dpi devices, 1px is one
// device pixel (dot) of the display. For printers and high resolution screens 1px implies multiple
@ -10,7 +10,7 @@ use crate::{concat_string, SmartDefault};
// About viewport: If the browser window size is 50cm wide, 1vw = 0.5cm.
#[rustfmt::skip]
#[derive(SmartDefault)]
#[derive(AutoDefault)]
pub enum Value {
#[default]
None,