vertigo-forms 0.1.3

Building block for forms in vertigo
Documentation
use std::rc::Rc;
use vertigo::Value;

use crate::ValidationErrors;

mod data_field;
pub use data_field::{DataFieldValue, ImageValue, TextAreaValue};

mod form_export;
pub use form_export::{FieldExport, FormExport};

mod form_data;
pub use form_data::{ControlsConfig, DataField, DataSection, FieldsetStyle, FormData};

pub type ValidateFunc<T> = Rc<dyn Fn(&T, Value<ValidationErrors>) -> bool>;

#[derive(Default, Clone, PartialEq)]
pub enum Operation {
    #[default]
    None,
    Saving,
    Success,
    Error(Rc<String>),
}

impl Operation {
    pub fn err(message: impl Into<String>) -> Self {
        Self::Error(Rc::new(message.into()))
    }
}